【问题标题】:How to get the tags associated to an article in Joomla如何在 Joomla 中获取与文章关联的标签
【发布时间】:2013-10-06 23:25:23
【问题描述】:

我需要在 Joomla 3.1.5 中获取与文章关联的 TAGS

我尝试了以下方法,但它们没有返回字符串:

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();

【问题讨论】:

    标签: php joomla tags joomla3.1


    【解决方案1】:

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

    $tags = new JHelperTags;
    $tags->getItemTags('com_content.article', $id);
    var_dump($tags);
    

    【讨论】:

      【解决方案2】:

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

      所以你可以以此为基础:

      希望对你有帮助

      【讨论】:

        【解决方案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>';
        

        【讨论】:

        • 嗨,我已经在我的 mod_articles_latest 覆盖中尝试了这个建议,但没有成功。不显示任何标签。你能帮帮我吗?
        • 你是否在 default.php 中打印了 $tags 常量,例如:&lt;?php echo $tags; ?&gt;
        • 太可惜了!!!我忘记了!!! :( 非常感谢 Nadal 的建议。我还想以不同的方式显示这些标签。用于渲染标签的实际 html 结构是“ul”和“li”。我应该在哪里使用覆盖?你能建议我吗?
        • 好的,我可以覆盖 /layouts/joomla/content/tags.php 但这样我也将覆盖文章的布局,同时我将只有模块的特定布局。对此有何建议?
        • 如果您删除列表元素,您将丢失用于该类的标签数值。期望的输出是什么?您可以通过操作 CSS 来实现任何显示,而无需删除 &lt;li&gt;。如果您必须删除列表元素,请使用 preg_replace 而不是 str_replace 并编写正则表达式格式以去除除锚点之外的所有元素。在link 测试您的表达式格式
        【解决方案4】:

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

        echo JLayoutHelper::render('joomla.content.tags', $tags->itemTags);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-28
          • 2014-04-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-09
          • 2015-03-25
          相关资源
          最近更新 更多