Tags Joomla 3.1.5将标签保存到ucm_内容和内容项_标签_地图

Tags Joomla 3.1.5将标签保存到ucm_内容和内容项_标签_地图,tags,save,joomla3.1,Tags,Save,Joomla3.1,我花了好几天的时间在这件事上,所以我举手了。我在自己的组件中实现标记,并严格遵守Elin在Joomla站点上的指示(2013年7月27日)。我可以将新标记正确地保存在标记表中,但不能像所有标准组件那样保存UCM或标记映射表。 我一直在追踪代码,并将其与com_联系人进行比较,在我的一生中,我看不出我的组件有任何区别。 我应该在哪里查找代码在哪里更新其他两个表?我知道这会以一个尴尬的回答结束,但我很高兴自己看起来很愚蠢。 我的表没有元字段,但我已经在$data数组中手动伪造了元数据数组。感谢您的帮

我花了好几天的时间在这件事上,所以我举手了。我在自己的组件中实现标记,并严格遵守Elin在Joomla站点上的指示(2013年7月27日)。我可以将新标记正确地保存在标记表中,但不能像所有标准组件那样保存UCM或标记映射表。 我一直在追踪代码,并将其与com_联系人进行比较,在我的一生中,我看不出我的组件有任何区别。 我应该在哪里查找代码在哪里更新其他两个表?我知道这会以一个尴尬的回答结束,但我很高兴自己看起来很愚蠢。 我的表没有元字段,但我已经在$data数组中手动伪造了元数据数组。感谢您的帮助


说明:

在经历了许多天的额外挫折之后,我发现对于我的组件,我必须将归档信息包含到我的表类中,这应该不再需要了

添加属性

    /**
     * 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()


是当前的Joomla指令。单击“历史记录”返回7月8日版本。标记页面中未显示内容。将core_状态设置为1。如何在表格文件中设置?
            $this->tagsHelper->preStoreProcess($this);
            $result = parent::store($updateNulls);

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