2010-04-01 17 views
1

Je suis Joomla SEF permet, et obtenir les résultats suivants quand je lien vers un article d'un article de la page d'accueil (frontpage):joomla SEF montre des liens différents dans la page d'accueil que dans les pages internes!

anywebsite.com/component/content/article/26/141-Z1-Z2- Z3-Z4

mais lors de la liaison d'autres articles que je reçois le résultat que je veux ce qui est:

anywebsite.com/Categor/141-Z1-Z2-Z3-Z4

et le lien est à la fois égal qui est:

index .php? option = com_content & view = article & id = 141: Z1-Z2-Z3-Z4 & catid = 26 une idée ?!

Modifier: Est-ce que la liaison manuelle avec ce lien SEF est une bonne idée, au lieu d'attendre joomla pour le convertir ..? atleast en dernier recours?

Répondre

1

La première URL SEF est le format Joomla SEF par défaut lorsqu'il n'y a pas de Itemid (éléments de menu) associés au contenu. Ce que vous utilisez pour "créer un lien vers un article de l'hompage" ne fournit pas l'Itemid dont Joomla a besoin pour construire l'URL/Category/141 .... Je suggère que, si vous voulez un contrôle complet, utiliser un autre composant de gestion SEF comme AceSEF ou sh404SEF, qui tendent à fournir plus de contrôle pour la gestion d'URL.

0

Si vous souhaitez supprimer la partie contrôleur, vous pouvez simplement obtenir l'élément de menu par défaut et l'insérer dans la requête de votre routeur.

Dans votre routeur:

if (!isset($query['Itemid']) { 
    $app =& JFactory::getApplication(); 
    $menu =& $app->getMenu(); 
    $item =& $menu->getActive(); 

    // Do a check to see if $item is set to something. If no active item, get the default: 

    if (!$item) $item =& $menu->getDefault(); 

    $query['Itemid'] = $item->id; 
}