7

我需要获取与 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

4 回答 4

16

如果您想在模块/插件等中加载文章标签,并假设$id是文章的 id,您可以这样做

$tags = new JHelperTags;
$tags->getItemTags('com_content.article', $id);
var_dump($tags);
于 2014-01-22T23:49:52.077 回答
10

如果您查看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);
}

所以你可以以此为基础:

希望能帮助到你

于 2013-10-07T12:41:40.090 回答
3

在显示 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>';
于 2018-01-22T22:07:01.173 回答
2

只是为了添加到 Marko D 的答案,添加它以像文章/博客布局一样格式化标签。

echo JLayoutHelper::render('joomla.content.tags', $tags->itemTags);
于 2017-11-23T03:47:49.403 回答