web-dev-qa-db-fra.com

Comment obtenir le lien d'une catégorie pour un article

J'ai cherché sur Google et lu de nombreux articles, mais sans succès, existe-t-il un moyen d'obtenir le lien d'une catégorie pour l'article/l'article joomla 3.3.6?.

Plus de détails: Je construis un thème personnalisé sur Joomla 3.3.6. J'ai réussi à afficher les articles de la page principale sous forme de vignettes et à l'intérieur de ces vignettes. . Une dernière chose qui me reste lorsque l’utilisateur clique sur le nom de la catégorie, il sera transféré à la page de la catégorie.

Dans le code, je peux obtenir l'identifiant de l'article, le titre de l'article, la catégorie de l'article et le lien de l'article. Je ne sais pas comment faire un lien entre ceux-ci, comme: http://www.Host/category_name/article_id-article_name

Tout le monde sait comment le faire,

Merci,

1
Ya Basha

Faites quelque chose comme ça:

<?php 
$catID = JRequest::getVar('catid');
echo "<a href='index.php?option=com_content&view=category&layout=blog&id=".$catID."'>Link to blog view of category</a><br />";
?>

Cela ne fonctionne, bien sûr, que si vous avez un article affiché en position "composant" pour le moment. Le lien est la vue blog de la catégorie de l'élément en cours. Pas si parfait, mais fait ce que vous voulez. Une solution complète serait de voir si vous avez déjà défini cette vue de blog dans le menu, puis d’ajouter $ Itemid à la fin de l’URL. Ensuite, pour une solution plus complète, utilisez quelque chose comme ceci:

$catID = JRequest::getVar('catid');
echo '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($catID)).'">Link to menu item of category if exists</a>';

Les textes entre balises <a> Peuvent être remplacés par le titre de la catégorie, par exemple ...

1
pippo8765

Utilisez ContentHelperRoute pour obtenir l'URL de la catégorie d'articles. Cela peut être un comme ceci cet article vue:

JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug))

Si vous avez besoin de ceci sur com_content vous devez également ajouter ContentHelperRoute déclaration:

require_once JPATH_SITE.'/components/com_content/helpers/route.php'

Et $this->item->catslug va changer pour quelque chose comme ceci $item->catslug. Cela dépend de la variable dans laquelle vous stockez les informations sur l'article. catslug contient l'ID de catégorie combiné et l'alias de catégorie de cette manière: ID:ALIAS. Le système utilise cette méthode pour toutes les URL de catégorie. Il serait donc préférable de suivre cette pratique pour assurer la cohérence des liens.

Liens

1
Artur Stępień