Joomla menu principal de la sortie html

Je suis en train de modifier la sortie de joomla main_menu module donc je peux faire un custom menu déroulant. Au moment où il actuellement des sorties html comme ceci:

<ul class="menu">
<li class="active item1" id="current"><a href="#"><span>First Level Item </span</a></li>  
<li class="parent item63"><a href="#"><span>First Level Item Parent</span></a>
<ul>
  <li class="item60"><a href="#"><span>Second Level Item</span></a></li>
  <li class="item69"><a href="#"><span>Second Level Item</span></a></li>
</ul>
</li>
<li class="item64"><a href="#"><span>First Level Item</span></a></li>
<li class="item66"><a href="#"><span>First Level Item</span></a></li>

Ce que je voudrais faire est de retirer les balises span pour la sortie.

Ce que je sais, c'est que si je veux modifier la sortie; dans mon dossier de modèle je fais un répertoire appelé 'html' et puis à l'intérieur d'un nouveau répertoire appelé "mod___mainmenu" et une copie de la default.php fichier à partir de l'existant mod_mainmenu dossier dans le répertoire des modules. Tous les changements que je fais pour prendre le fichier de changer la sortie.

Le problème que je rencontre est que je ne peux pas comprendre ce qui se passe avec le code qui est écrit dans le default.php fichier utilisation du XML système que je suis unfamilar avec et il n'y a pas de commentaires.

Si quelqu'un a des idées, ce serait super utile!

Voici le code à partir de la default.php fichier pour le menu:

defined('_JEXEC') or die('Restricted access');


if ( ! defined('modMainMenuXMLCallbackDefined') )
{

function modMainMenuXMLCallback(&$node, $args)

{
    $user   = &JFactory::getUser();
    $menu   = &JSite::getMenu();
    $active = $menu->getActive();
    $path   = isset($active) ? array_reverse($active->tree) : null;

    if (($args['end']) && ($node->attributes('level') >= $args['end']))
    {
        $children = $node->children();
        foreach ($node->children() as $child)
        {
            if ($child->name() == 'ul') {
                $node->removeChild($child);
            }
        }
    }



    if ($node->name() == 'ul') {
        foreach ($node->children() as $child)
        {
            if ($child->attributes('access') > $user->get('aid', 0)) {
                $node->removeChild($child);
            }
        }
    }

    if (($node->name() == 'li') && isset($node->ul)) {
        $node->addAttribute('class', 'parent');
    }

    if (isset($path) && in_array($node->attributes('id'), $path))
    {
        if ($node->attributes('class')) {
            $node->addAttribute('class', $node->attributes('class').' active');
        } else {
            $node->addAttribute('class', 'active');
        }
    }
    else
    {
        if (isset($args['children']) && !$args['children'])
        {
            $children = $node->children();
            foreach ($node->children() as $child)
            {
                if ($child->name() == 'ul') {
                    $node->removeChild($child);
                }
            }
        }
    }

    if (($node->name() == 'li') && ($id = $node->attributes('id'))) {
        if ($node->attributes('class')) {
            $node->addAttribute('class', $node->attributes('class').' item'.$id);
        } else {
            $node->addAttribute('class', 'item'.$id);
        }
    }

    if (isset($path) && $node->attributes('id') == $path[0]) {
        $node->addAttribute('id', 'current');
    } else {
        $node->removeAttribute('id');
    }
    $node->removeAttribute('level');
    $node->removeAttribute('access');
}

define('modMainMenuXMLCallbackDefined', true);
}
modMainMenuHelper::render($params, 'modMainMenuXMLCallback');
C'est l'une des dizaines de raisons que je déteste et refuse d'utiliser Joomla.
mais je pense que vous aurez de meilleures réponses sur le forum joomla!
Cette page peut vous aider: fatica.net/blog/...

OriginalL'auteur Paul Sheldrake | 2008-12-29