Je souhaite que les liens de catégorie et de catégorie parent de mon article actuel soient insérés dans ma page. Je reçois la catégorie via le code suivant:
$db = JFactory::getDbo();
$id = $item->core_catid;
$db->setQuery("SELECT cat.title FROM #__categories cat WHERE cat.id='$id'");
$category = $db->loadResult();
echo '<p>'.$category.'</p>';
Mais je n'arrive pas à obtenir la catégorie parente de toute façon. J'essaye ceci mais n'obtiens aucun résultat:
$db->setQuery("SELECT cat.title FROM #__categories cat WHERE cat.parent_id='$id'");
Essayez ceci (testé et travaillé dans Joomla 3.3.0):
Mettez ce code:
<?php
$db = JFactory::getDbo();
$id = $item->core_catid;
$db->setQuery("SELECT cat.parent_id FROM #__categories cat WHERE cat.id='$id'");
$parent_category_id = $db->loadResult();
$db->setQuery("SELECT cat.title FROM #__categories cat WHERE cat.id='$parent_category_id'");
$parent_category_title = $db->loadResult();
if($parent_category_title != 'ROOT'){
echo '<p>Parent Category: '.$parent_category_title.'</p>';
}
echo '<p>Parent Category: <a href="index.php?option=com_content&view=category&layout=blog&id='.$parent_category_id.'">'.$parent_category_title.'</a></p>';
?>
dans ce fichier:
templates/yourtemplate/html/com_tags/default_items.php
copie de:
composants\com_tags\views\tags\tmpl\default_items.php
entre ces deux lignes
<?php foreach ($items as $i => $item) : ?> //Line 63
<?php endforeach; ?>
Dans les options de votre article, vous pouvez sûrement définir les options "Afficher la catégorie", "Catégorie de lien", "Afficher le parent" et "Lien du parent" sur "Afficher" (catégorie) et "Oui" (lien).
Je pense que vous pouvez le faire en utilisant le modèle de contenu pour charger l'article.
/* Lets say the article ID is stored in $id */
/* Get an instance of the generic articles model */
$model = JModelLegacy::getInstance('Articles', 'ContentModel');
$myArticle = $model->getItem($id);
$categoryID = $myArticle->catid; /* catid = "9" */
$category_title = $myArticle->category_title; /* category_title = "Blog" */
$category_alias = $myArticle->category_alias; /* category_alias = "blog" */
$parent_id = $myArticle->parent_id; /* parent_id = "1" */
$parent_title = $myArticle->parent_title; /* parent_title = "ROOT" */
$parent_alias = $myArticle->parent_alias; /* parent_alias = "root" */
Les valeurs indiquées dans les commentaires de droite sont ce que je viens d'extraire d'une installation de démonstration de Joomla 3.3 avec l'exemple de contenu "Blog" installé. Note la valeur de la catégorie root
.