3

我在管理的文章编辑页面中插入了一个自定义字段 - 我更改了两个文件: 在 /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" />

并在管理员/组件/com_content/views/article/tmpl/edit.php 我添加

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

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

谢谢

4

2 回答 2

2

如果您将字段添加到 #__content 表,它可能会自动保存。但是我不会那样做。您永远不知道更新会做什么,也不想丢失数据。

如果您查看 /administrator/components/com_content/controllers/article.php,您会发现一个名为postSaveHook. 这是您可以进一步处理数据的地方。在那里,您可以将字幕存储到自己的表格中。

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

于 2013-05-24T13:14:55.117 回答
2

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

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

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

您应该做的是以不干扰核心文件的方式扩展文章的表单 xml。这篇文章给出了一个关于如何去做的例子: http ://docs.joomla.org/Adding_custom_fields_to_the_article_component

于 2013-11-24T10:55:15.980 回答