Как получить теги, связанные со статьей в Joomla
мне нужно получить теги, связанные со статьей в Joomla 3.1.5
Я пробовал следующие, но они не возвращают строку:
echo $article->item->tags->itemTags;
и
$tags = $article->get("tags");
и просто для записи я загружаю информацию о статье как таковую (получение названия статьи работает отлично)
$article = JTable::getInstance("content");
$article->load(JRequest::getInt("id"));
$pageTitle = $article->get("title");
$user =& JFactory::getUser();
4 ответов
Если вы посмотрите в components/com_content/views/article/tmpl/default.php
, теги отображаются следующим образом:
if ($this->params->get('show_tags', 1) && !empty($this->item->tags->itemTags)) {
$this->item->tagLayout = new JLayoutFile('joomla.content.tags');
echo $this->item->tagLayout->render($this->item->tags->itemTags);
}
таким образом, вы можете основывать его на этом:
надеюсь, что это помогает
Если вы хотите загрузить Теги статьи в модуль / плагин и т. д., и предполагая $id
- это ID статьи, вы можете сделать
$tags = new JHelperTags;
$tags->getItemTags('com_content.article', $id);
var_dump($tags);
чтобы добавить к ответу Marko D, добавьте это, чтобы отформатировать теги, как в макете статьи / блога.
echo JLayoutHelper::render('joomla.content.tags', $tags->itemTags);
отображение тегов статей в модуле, который отображает статьи Joomla, такие как mod_articles_latest.
$itemtags = (new JHelperTags)->getItemTags('com_content.article', $item->id);
$taglayout = new JLayoutFile('joomla.content.tags');
$tags='';
if( !empty($itemtags) )
$tags = '<div class="itemtags">'.str_replace(',','',$taglayout->render($itemtags)).'</div>';