Forum->Flatnux->migliorare le funzioni che creano i menu
  
Welcome Unknown Register Help383 Users

User Message


johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Saturday 27 February 2010 - 17:40

migliorare le funzioni che creano i menu:
Volevo suggerire anche di inserire una riga di codice nelle funzioni che creano i menu (sia laterale sia orizzontale) per nascondere all'utente le sezioni a cui non è abilitato. Ho notato infatti che di default sono sempre visibili, e quando un utente non abilitato ci clicca sopra riceve il messaggio "Non sei abilitato a questa sezione" o cosa del genere. Io credo che sia meglio nasconderlo del tutto a chi non è abilitato. Ho risolto modificando le funzioni che creano i menu in "/include/theme.php" aggiungengo una semplice riga che sfrutta la funzione di flatnux "user_can_view_section()":

ORIGINALE:

function create_menu()
{
global $_FN;
$title = "Menu";
OpenBlock ( "themes/{$_FN['theme']}/images/menu.png", $title );
$modlist = list_sections_translated ( "sections" ); // return array width title - link


$tl = "";
if ($_FN ['lang'] != $_FN ['lang_default'])
$tl = "&lang={$_FN['lang']}";

foreach ( $modlist as $modl )
{
$link = get_section_id($modl ['link']);
$title = $modl ['title'];
$accesskey = $modl ['accesskey'];
if ($accesskey != "")
$accesskey = "accesskey='$accesskey'";
echo "<a $accesskey href='".fn_rewritelink("index.php?mod=$link$tl")."'>$title</a><br />\n";
}
CloseBlock ();
echo "<br />";
}


MIO CODICE:
	function create_menu()
{
global $_FN;
$title = "Menu";
OpenBlock ( "themes/{$_FN['theme']}/images/menu.png", $title );
$modlist = list_sections_translated ( "sections" ); // return array width title - link


$tl = "";
if ($_FN ['lang'] != $_FN ['lang_default'])
$tl = "&lang={$_FN['lang']}";

foreach ( $modlist as $modl )
{
if ( user_can_view_section($modl ['link'],$_FN['user']) ){
$link = get_section_id($modl ['link']);
$title = $modl ['title'];
$accesskey = $modl ['accesskey'];
if ($accesskey != "")
$accesskey = "accesskey='$accesskey'";
echo "<a $accesskey href='".fn_rewritelink("index.php?mod=$link$tl")."'>$title</a><br />\n";
}
}
CloseBlock ();
echo "<br />";
}


Fai la stessa cosa con "function create_h_menu()" e con "function FN_CreateSubmenu()".



ZEBDEMON

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Saturday 27 February 2010 - 19:23

Re: migliorare le funzioni che creano i menu:
a quindi non è di default come su FlatNuke, infatti c'è un tipo che mi chiedeva come facessi a farlo sul mio sito >_< lo indirizzo a questa discussione allora..

grassie :)



johndorazio

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Sunday 07 March 2010 - 22:12

Re: migliorare le funzioni che creano i menu:
haha quel "tipo" sono io... Ho risolto da solo



ZEBDEMON

0 Level 0 10

levellevellevellevellevellevellevellevellevellevel
profile mail home
Monday 08 March 2010 - 11:51

Re: migliorare le funzioni che creano i menu:
ah bene :D

 [1]