phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Un Aiutino a capire come creare un altro l_block1??

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Carlo » 25/08/2010, 16:53

Ma mi stai capendo?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Kid ITALY
Utente
Utente
Messaggi: 84
Iscritto il: 22/06/2010, 15:51
Versione: 3.0.7-PL1
Server: UNIX/Linux
Località: Puglia

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Kid ITALY » 25/08/2010, 17:05

No non ti sto capendo :lol: , so solo che siamo arrivati a 3 pagine dicendo sempre la stessa cosa. :P

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Carlo » 25/08/2010, 17:50

L'ho rispiego per l'ultima volta.

Tu vuoi che il link su cui l'utente clicca, e quindi viene ridiretto in quella pagina diventi ATTIVO, giusto?
Bene. La questione è però questa: come farà lo script php a capire su quale voce (o pulsante) del menu l'utente ha cliccato, oppure che è in una pagina a cui punta una determinata voce del menu?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Kid ITALY
Utente
Utente
Messaggi: 84
Iscritto il: 22/06/2010, 15:51
Versione: 3.0.7-PL1
Server: UNIX/Linux
Località: Puglia

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Kid ITALY » 25/08/2010, 18:44

Ma te lo detto c'è una determinata voce che si chiama S_SELECT che si attiva solamente quando un Utente clicca in una determinata voce... vedi questo script si trova su tutte le pagine del phpbb ovviamente sempre quelle principali e lo trovi anche su adm/style/install_header.html o su template del forum.

Questo e quello che io ho notato e visto con prove in locale.
Per dire su Install_header.html, c'è questo script:

Codice: Seleziona tutto

<div id="page-body">
		<div id="tabs">
			<ul>
			<!-- BEGIN t_block1 -->
				<li<!-- IF t_block1.S_SELECTED --> id="activetab"<!-- ENDIF -->><a href="{t_block1.U_TITLE}"><span>{t_block1.L_TITLE}</span></a></li>
			<!-- END t_block1 -->
			</ul>
		</div>

		<div id="acp">
		<div class="panel">
			<span class="corners-top"><span></span></span>
				<div id="content">
					<div id="menu">
						<ul>
						<!-- BEGIN l_block1 -->
							<li<!-- IF l_block1.S_SELECTED --> id="activemenu"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li>
						<!-- END l_block1 -->
						<!-- BEGIN l_block2 -->
							<li<!-- IF l_block2.S_SELECTED --> id="activemenu"<!-- ENDIF -->><span<!-- IF l_block2.S_COMPLETE --> class="completed"<!-- ENDIF -->>{l_block2.L_TITLE}</span></li>
						<!-- END l_block2 -->
						</ul>
					</div>
	
					<div id="main" class="install-body">
vedi che c'è <!-- IF l_block1.S_SELECTED --> id="activemenu"<!-- ENDIF --> quello si sposta solamente quando un utente clicca in una determinata voce.

C'è anche questo che si trova su template.
su ucp_header.html:

Codice: Seleziona tutto

	<div style="width: 100%;">

	<div id="cp-menu">
		<div id="navigation">

		<!-- IF S_PRIVMSGS -->
			<!-- BEGIN t_block2 -->
				<!-- IF S_PRIVMSGS and not t_block2.S_LAST_ROW -->
				<ul>
					<!-- IF t_block2.S_SELECTED -->
						<li id="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
					<!-- ELSE -->
						<li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
					<!-- ENDIF -->
				</ul>
				<!-- ENDIF -->
			<!-- END t_block2 -->

			<hr />
			<!-- BEGIN folder -->
				<!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF -->
				<!-- IF folder.S_CUR_FOLDER -->
					<li id="active-subsection"><a href="{folder.U_FOLDER}"><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></a></li>
				<!-- ELSE -->
					<li><a href="{folder.U_FOLDER}"><span><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></span></a></li>
				<!-- ENDIF -->
				<!-- IF folder.S_LAST_ROW --></ul><!-- ENDIF -->
			<!-- END folder -->
			<hr />
		<!-- ENDIF -->

			<ul>
		<!-- BEGIN t_block2 -->
			<!-- IF (S_PRIVMSGS and t_block2.S_LAST_ROW) or not S_PRIVMSGS -->
				<!-- IF t_block2.S_SELECTED -->
					<li id="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
				<!-- ELSE -->
					<li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
				<!-- ENDIF -->
			<!-- ENDIF -->
		<!-- END t_block2 -->
			</ul>
		</div>
Sempre <!-- IF t_block2.S_SELECTED --> trovi come menu..
Poi fecci delle ricerche e prove per vedere se lo ellimino, cosa faceva senza S_SELECTED, infatti la risposta è che non funzionava più icona attiva, quindi rimaneva come parziale clicchi e sparisce, spero che capisci come intendo dire.

Poi o visto questo: su install/index.php

Codice: Seleziona tutto

    /**
    * Generate the navigation tabs
    */
    function generate_navigation()
    {
        global $lang, $template, $phpEx, $language;

        if (is_array($this->module_ary))
        {
            @ksort($this->module_ary);
            foreach ($this->module_ary as $cat_ary)
            {
                $cat = $cat_ary['name'];
                $l_cat = (!empty($lang['CAT_' . $cat])) ? $lang['CAT_' . $cat] : preg_replace('#_#', ' ', $cat);
                $cat = strtolower($cat);
                $url = $this->module_url . "?mode=$cat&language=$language";

                if ($this->mode == $cat)
                {
                    $template->assign_block_vars('t_block1', array(
                        'L_TITLE'        => $l_cat,
                        'S_SELECTED'    => true,
                        'U_TITLE'        => $url,
                    ));

                    if (is_array($this->module_ary[$this->id]['subs']))
                    {
                        $subs = $this->module_ary[$this->id]['subs'];
                        foreach ($subs as $option)
                        {
                            $l_option = (!empty($lang['SUB_' . $option])) ? $lang['SUB_' . $option] : preg_replace('#_#', ' ', $option);
                            $option = strtolower($option);
                            $url = $this->module_url . '?mode=' . $this->mode . "&sub=$option&language=$language";

                            $template->assign_block_vars('l_block1', array(
                                'L_TITLE'        => $l_option,
                                'S_SELECTED'    => ($this->sub == $option),
                                'U_TITLE'        => $url,
                            ));
                        }
                    }

                    if (is_array($this->module_ary[$this->id]['stages']))
                    {
                        $subs = $this->module_ary[$this->id]['stages'];
                        $matched = false;
                        foreach ($subs as $option)
                        {
                            $l_option = (!empty($lang['STAGE_' . $option])) ? $lang['STAGE_' . $option] : preg_replace('#_#', ' ', $option);
                            $option = strtolower($option);
                            $matched = ($this->sub == $option) ? true : $matched;

                            $template->assign_block_vars('l_block2', array(
                                'L_TITLE'        => $l_option,
                                'S_SELECTED'    => ($this->sub == $option),
                                'S_COMPLETE'    => !$matched,
                            ));
                        }
                    }
                }
                else
                {
                    $template->assign_block_vars('t_block1', array(
                        'L_TITLE'        => $l_cat,
                        'S_SELECTED'    => false,
                        'U_TITLE'        => $url,
                    ));
                }
            }
        }
    }
 


Vedi che ci sono gli S_SELECTED in due parti in true e false, che indica attivo e spento?? sperò che ti ho datto un ideaa??

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Micogian » 25/08/2010, 19:08

Sinceramente io non ci ho capito niente. Hai messo un sacco di codice e non si capisce quello che è il tuo e quello che rappresenta gli esempi.
Poi non capisco cosa intendi per "cassella" che è parola che non esiste in italiano, forse intendi "casella".
Se non ho capito male tu hai inserito la creazione della variabile S_SELECTED in un ciclo while, quindi è sempre true, mentre negli esempi, se guardi bene, è ricavata da una condizione "if".
In effetti deve essere true o false per funzionare.

Kid ITALY
Utente
Utente
Messaggi: 84
Iscritto il: 22/06/2010, 15:51
Versione: 3.0.7-PL1
Server: UNIX/Linux
Località: Puglia

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Kid ITALY » 25/08/2010, 19:31

Scusa erorre mio, Casella e la parola giusta,
Comunque il mio script non lo messo tutto. Quindi alla fine e solo quello che te mi avevi corretto precedentemente e basta.

1.Questi script che hai letto ora e solo un esempio da farti capire.
2.Poi se te non ti da fastidio o altro ti posto il lavoro che o fatto, cosi vedi e ti rendi conto??
3.E vero io o inserito il while, che notando da come hai detto te rimane sempre true, invece io cerco in un modo da rendere true e false.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Carlo » 26/08/2010, 8:52

3. Ecco il problema. Come devi fare ora nel ciclo while per capire se la voce attuale è selezionata o no?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Kid ITALY
Utente
Utente
Messaggi: 84
Iscritto il: 22/06/2010, 15:51
Versione: 3.0.7-PL1
Server: UNIX/Linux
Località: Puglia

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Kid ITALY » 26/08/2010, 13:57

E in pratica dovrei fare if ($row == $selected_ary) ? true : false, penso però non so se sia effetivo scrivere in questo modo.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Un Aiutino a capire come creare un altro l_block1??

Messaggio da Carlo » 26/08/2010, 17:36

Questo codice sbattuto così non ha senso.

Cosa sono le variabili $row e $selected_ary?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Baidu [Spider] e 42 ospiti