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.
Kid ITALY
Utente
Utente
Messaggi: 84
Iscritto il: 22/06/2010, 15:51
Versione: 3.0.7-PL1
Server: UNIX/Linux
Località: Puglia

Un Aiutino a capire come creare un altro l_block1??

Messaggio da Kid ITALY » 20/08/2010, 17:50

Buona Sera a tutti,
Con ritardo vi do Buone vacanze sperando che ognuno di noi lo abbia passato bene.

Da come qui sopra o eccitato nel titolo, vi volevo chiedere un aiutino semplice per voi e per me non credo. :D
Comunque la domanda è come potrei creare un altro tab uguale a quello di phpbb senza scrivere lunghi e chilometri script di righe sulla pagina html e volevo semplificare tutto su un unico script cosi:

Codice: Seleziona tutto

<!-- BEGIN l_block1 -->
		<li<!-- IF l_block1.S_SELECTED --> class="activetab"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li>
<!-- END l_block1 -->
perchè o provato a dare delle righe e sulla pagina di language o dato i nome per L_TITLE

Ma nulla va solamente in loop, cioè non mi visualizza nulla e controllando tramite browser di internet in pratica si cancella tutto l_block1 :( , come mai succede questo??

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 » 20/08/2010, 18:21

Ma dove viene creato l'array l_block1 ?
Va creato in un file php e poi il template, attraverso il BEGIN, ne visualizza i valori.
Non penso centri il language.

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 » 20/08/2010, 18:36

:o AA Quindi il language non lo dovrei calcolarlo proprio, perchè pensavo che per dare i nomi mi serviva anche il language.

Quindi dovrei agire tutto su php e template?
Perchè su function o inserito questa righa:

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,
                    ));
                }
            }
        }
    }

 


e su template index_body.html o inserito questo comando

Codice: Seleziona tutto

<!-- BEGIN l_block1 -->
		<li<!-- IF l_block1.S_SELECTED --> class="activetab"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li>
<!-- END l_block1 -->
Ma non capisco come mai non mi da il risultato, dove che potrei sbagliare??

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 » 20/08/2010, 18:49

Tu hai creato una function generate_navigation() che andrebbe richiamata, dove e quando ?

Una funzione si dichiara con function

Codice: Seleziona tutto

function saluti()
   {
   global $valore ;
   $valore = "ciao" ;
   return $valore ;
   }
Ma per visualizzare il risultato "ciao" devi scrivere
echo saluti() ;

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 » 20/08/2010, 19:15

Asp sto a fare confusione.

La righa che o scritto io e quello che si trova su install pagina index.php
e capendo da come hai scritto te, non centra nulla.
Devo creare uno script nuovo, con la riga del genere che hai descritto te per rendere effettivo il valore del t_block1??

O mi sto sbagliando??

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 » 24/08/2010, 12:25

Ciao ragazzuoli,
in pratica ho creato un sql con questi relativi:

Codice: Seleziona tutto

CREATE TABLE phpbb_menu (
        button_id int(255) NOT NULL,
        button_url text(1024) NOT NULL,
        button_name varchar(100) NOT NULL,
        button_target int(1) NOT NULL
      )DEFAULT CHARSET=utf8 COLLATE=utf8_bin
poi o creato questo campo su function.php

Codice: Seleziona tutto

    // Buttons menu
    $sql = 'SELECT button_id, button_url, button_name, button_target
    FROM ' . MENU_TABLE . '
    WHERE button_id >= 1
    ORDER BY button_id';
  $result = $db->sql_query_limit($sql, $config['menu_amount']);

  while ($row = $db->sql_fetchrow($result))
  {
    $template->assign_block_vars('menu', array(
      'BUTTON_ID'        => $row['button_id'],
      'BUTTON_URL'        => $row['button_url'],
      'BUTTON_NAME'        => $row['button_name'],
      'BUTTON_TARGET'        => $row['button_target'],
      
    ));            
  $db->sql_freeresult($result);
  
dopo o inserito sempre su function.php questo:

Codice: Seleziona tutto

        'S_MENU_ALIGN'        => $config['menu_align'],
        'S_MENU_COLOR'        => $config['menu_color'],
        'S_MENU_FONT_COLOR'        => $config['menu_font_color'],
        'S_MENU_DECORATION'        => $config['menu_decoration'],
        'S_MENU_WEIGHT'        => $config['menu_weight'],
        'S_MENU_FONT_COLOR_HOVER'        => $config['menu_font_color_hover'],
        'S_MENU_TEXT_TRANSFORM'        => $config['menu_text_transform'],
        'S_MENU_ENABLED'    => $config['menu_enabled'] ? true : false,
  
quindi su overall_header.html o fatto questo:

Codice: Seleziona tutto

<!-- IF S_MENU_ENABLED -->
<nav>
   <ul id="nav-global" class="nav clear">

      <li id="nav-home"  class="hub-nav<!-- BEGIN menu --><!-- IF menu.BUTTON_TARGET --> home <!-- ENDIF -->"<!-- END menu --> ><a href="http://localhost/forum/index.php">Home</a>

         <div class="left-corner">&nbsp;</div>
         <div class="right-corner">&nbsp;</div>
         <div class="bot-bub">&nbsp;</div>
      </li>
</ul>
</nav>
<!-- ENDIF -->
controllo e va bene, ma controllando sul browser di internet in HTML, vedo questo:

Codice: Seleziona tutto


	

<nav>
   <ul id="nav-global" class="nav clear">

      <li id="nav-home"  class="hub-nav"><a href="http://localhost/forum/index.php">Home</a>

         <div class="left-corner">&nbsp;</div>
         <div class="right-corner">&nbsp;</div>
         <div class="bot-bub">&nbsp;</div>

      </li>
</ul>
</nav>
che la scritta home nel rispetivo class non si vede, perchè quella scritta home dovrebbe dare la sua funzione di selezione della cassella che uno ci clicca sopra.

Se qualcuno Veramente con un cuore doro mi può dare uno mano??
Vi Ringrazio in anticipò, se mi aiutate!

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 » 24/08/2010, 18:18

Nella tabella phpbb_menu, i valori del campo button_target sono 1 o 0, giusto?

E poi non ho capito cosa sono questi valori, cioè a cosa serve il valore di quel campo.
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 » 24/08/2010, 18:34

il valore e 1.

Codice: Seleziona tutto

<li id="nav-home"  class="hub-nav<!-- BEGIN menu --><!-- IF menu.BUTTON_TARGET --> home <!-- ENDIF -->"<!-- END menu --> ><a href="http://localhost/forum/index.php">Home</a>
Gli altri valore servono per ACP dove puoi dare i nomi dei link e l'url della pagina

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 » 24/08/2010, 18:47

Sostituisci nel file includes/functions.php:

Codice: Seleziona tutto

      'BUTTON_TARGET'        => $row['button_target'],
con:

Codice: Seleziona tutto

      'BUTTON_TARGET'        => $row['button_target'] ? true : false,
Oppure con:

Codice: Seleziona tutto

      'BUTTON_TARGET'        => ($row['button_target'] == 1) ? true : false,
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 » 24/08/2010, 19:22

Ok fatto funziona.

E se inserisco S_SELECTED che dovrebbe dare il modo della chiamata home se si selezione una cassella quindi indicante la cassella Attiva.

Quindi faccio questo:

Codice: Seleziona tutto


        // Buttons menu
        $sql = 'SELECT button_id, button_url, button_name, button_target
        FROM ' . MENU_TABLE . '
        WHERE button_id >= 1
        ORDER BY button_id';
      $result = $db->sql_query_limit($sql, $config['menu_amount']);

      while ($row = $db->sql_fetchrow($result))
      {
        $template->assign_block_vars('menu', array(
          'BUTTON_ID'        => $row['button_id'],
          'BUTTON_URL'        => $row['button_url'],
          'BUTTON_NAME'        => $row['button_name'],
          'BUTTON_TARGET'        => $row['button_target'],
          'S_SELECTED'         => true,
        ));            
      $db->sql_freeresult($result);
      
 
ovviamente lo notato su altri script di S_SELECTED.
che sarebbe questo che si trova 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,
                    ));
                }
            }
        }
    }
    
 
e se noti su tutte e due i t_block1 trovi S_SELECTED => true, e anche S_SELECTED => false,
Come posso farlo funziona anche su phpbb_menu??

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Baidu [Spider] e 39 ospiti