Pagina 1 di 3
Un Aiutino a capire come creare un altro l_block1??
Inviato: 20/08/2010, 17:50
da Kid ITALY
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.

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??
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 20/08/2010, 18:21
da Micogian
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.
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 20/08/2010, 18:36
da Kid ITALY

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??
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 20/08/2010, 18:49
da Micogian
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() ;
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 20/08/2010, 19:15
da Kid ITALY
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??
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 24/08/2010, 12:25
da Kid ITALY
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"> </div>
<div class="right-corner"> </div>
<div class="bot-bub"> </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"> </div>
<div class="right-corner"> </div>
<div class="bot-bub"> </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!
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 24/08/2010, 18:18
da Carlo
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.
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 24/08/2010, 18:34
da Kid ITALY
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
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 24/08/2010, 18:47
da Carlo
Sostituisci nel file
includes/functions.php:
con:
Codice: Seleziona tutto
'BUTTON_TARGET' => $row['button_target'] ? true : false,
Oppure con:
Codice: Seleziona tutto
'BUTTON_TARGET' => ($row['button_target'] == 1) ? true : false,
Re: Un Aiutino a capire come creare un altro l_block1??
Inviato: 24/08/2010, 19:22
da Kid ITALY
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??