Joomla.it Forum
Joomla! 2.5 (versione con supporto terminato) => Joomla! 1.6/1.7/2.5 => : MapoDesign 23 Aug 2012, 11:39:38
-
Ciao a tutti!
Vi pongo un quesito.
Ho un menų, un sottomenu che si apre di lato e vorrei il sottomenų di terzo livello che si apre invece sotto alla sua voce.
Pensavo che fosse possibile dare una classe alla voce di secondo livello, ma il mio problema č come raggiungere la costruzione delle liste dei menu in Joomla (2.5).
lo creerei cosė:
<ul class="menu">
<li>
<ul class="top"> <!-- qui aggiungerei la classe -->
<li>
<ul>
<li></li>
</ul>
</li>
....
Spero che qualcuno sappia come modificare questo tipo di strutture
GRAZIE IN ANTICIPO!!!
-
Ok, il file l'ho trovato... ma ora mi serve un programmatore PHP.
Cmq il file č in modules>mod_menu>tmpl>default.php
Se qualcuno ha giā fatto qualcosa del genere mi faccia sapere!!
Io per il momento riesco a vedere gli ul e li, dove vengono messe le classi dei li, ma degli ul...
-
Questo il codice:
<ul class="menu<?php echo $class_sfx;?>"<?php
$tag = '';
if ($params->get('tag_id')!=NULL) {
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
<?php
foreach ($list as $i => &$item) :
$class = 'item-'.$item->id;
if ($item->id == $active_id) {
$class .= ' current';
}
if (in_array($item->id, $path)) {
$class .= ' active';
}
elseif ($item->type == 'alias') {
$aliasToId = $item->params->get('aliasoptions');
if (count($path) > 0 && $aliasToId == $path[count($path)-1]) {
$class .= ' active';
}
elseif (in_array($aliasToId, $path)) {
$class .= ' alias-parent-active';
}
}
if ($item->deeper) {
$class .= ' deeper';
}
if ($item->parent) {
$class .= ' parent';
}
if (!empty($class)) {
$class = ' class="'.trim($class) .'"';
}
echo '<li'.$class.'>';
// Render the menu item.
switch ($item->type) :
case 'separator':
case 'url':
case 'component':
require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
break;
default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;
// The next item is deeper.
if ($item->deeper) {
echo '<ul>';
}
// The next item is shallower.
elseif ($item->shallower) {
echo '</li>';
echo str_repeat('</ul></li>', $item->level_diff);
}
// The next item is on the same level.
else {
echo '</li>';
}
endforeach;
?></ul>
-
Sono riuscita a inserire la classe, ma la inserisce in tutti gli ul.
// The next item is deeper.
if ($item->deeper) {
echo '<ul class="vertical">';
}