Joomla 3 - 在文章编辑器中插入自定义字段

时间:2013-05-23 13:05:03

标签: customization field article joomla3.0

我在管理中的文章编辑页面中插入了一个自定义字段 - 我更改了两个文件: 在/administrator/components/com_content/models/forms/article.xml中 我添加了一个字段字幕

<field name="subtitle" type="text" label="Subtitle"
    description="Add a subtitle here" class="inputbox" size="30"
    required="true" />

并在administrator / components / com_content / views / article / tmpl / edit.php中 我添加了

<?php echo $this->form->getLabel('subtitle'); ?>
<?php echo $this->form->getInput('subtitle'); ?

现在我已经创建了自定义字段。但是当我输入并保存某些东西时,我必须将值存储在数据库中,它是如何工作的? 有人能帮助我吗?

由于

2 个答案:

答案 0 :(得分:2)

如果在#__content表中添加一个字段,它可能会自动保存。但是我不会这样做。你永远不知道更新的作用,也不想丢失数据。

如果你查看/administrator/components/com_content/controllers/article.php,你会发现一个名为postSaveHook的函数。您可以在此处进一步处理数据。在那里,您可以将副标题存储在自己的表格中。

无论如何,您需要在每次Joomla更新后应用这些更改,因为这些文件可能会被覆盖。

答案 1 :(得分:2)

我知道这个问题不是最新的,但正如其他人可能会发现的那样,我认为澄清一些事情很重要。

通过以您描述的方式扩展文章的形式xml,您正在攻击核心文件。这是不好的做法,应该避免。正如Bakual解释的那样,这些变化可能会被Joomla的更新所覆盖。

在发布新的安全更新时不更新Joomla更糟糕 - 不要去那里。

你应该做的是以不干扰核心文件的方式扩展文章的形式xml。本文给出了一个如何解决此问题的示例:http://docs.joomla.org/Adding_custom_fields_to_the_article_component