tags - Joomla 3.1.5 将标签保存到ucm_content和contentitem_tag_map

标签 tags save joomla3.1

我在这个问题上花了几天时间,所以我举手了。我正在自己的组件中实现标签,并严格遵循 Joomla 网站上 Elin 的说明(2013 年 7 月 27 日)。我可以将新标签正确保存在 TAGS 表中,但不能像所有标准组件那样保存在 UCM 或 TAG MAP 表中。 我一直跟踪代码,并与 com_contacts 进行比较,但我一生都看不出我的组件有任何差异。 我应该在哪里寻找代码更新其他两个表的位置?我知道这会以一个令人尴尬的答案结束,但我很高兴看起来很愚蠢。 我的表没有元字段,但我手动伪造了 $data 数组中的元数据数组。如有任何帮助,我们将不胜感激。

说明:http://docs.joomla.org/J3.1:Using_Tags_in_an_Extension

最佳答案

经过许多天的额外挫折,我发现对于我的组件,我必须将存档信息包含到我的表类中,这不再是必需的。

添加属性

    /**
     * Indicator that the tags have been changed
     *
     * @var    JHelperTags
     * @since  3.1
     */
    protected $tagsHelper = null;

此属性有助于管理标签中的更改。 修改你的构造函数

按照此示例修改您的构造函数,从而大大减少重复代码。

            $this->tagsHelper = new JHelperTags();
            $this->tagsHelper->typeAlias = 'com_contact.contact';

修改你的 store() 方法

标记和关联数据的管理主要通过 store() 方法处理。这为跨多个扩展处理标签提供了最大的灵活性。

如果您没有 store() 方法,则需要添加一个。假设表将从 JTable 继承。

该处理涉及 preStoreProcess()、对父 store() 方法的调用,然后是 postStoreProcess()。

            $this->tagsHelper->preStoreProcess($this);
            $result = parent::store($updateNulls);

            return $result && $this->tagsHelper->postStoreProcess($this);

关于tags - Joomla 3.1.5 将标签保存到ucm_content和contentitem_tag_map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029161/

相关文章:

html - 我应该在标记中使用 <p/> 标签吗?

c# - 从 SQL 获取列中的最后一个单元格

php - Joomla 3.1 - 如何创建带有表格的组件

mysql - joomla 中的全文查询

attributes - &lt;script&gt; 嵌入被 HTML Purifier(最新的 4.8.0)移除

javascript - http javaScript 将属性默认设置为所有标签

swift - UILongPressGestureRecognizer 和 UITapGestureRecognizer

java - GUI 保存功能,以便当 GUI 关闭时,当它重新打开时,它具有相同的可见数据

r - 在 rmd 文件中保存和显示图

css - joomla 3-别名使无法连接CSS