我在管理中的文章编辑页面中插入了一个自定义字段 - 我更改了两个文件: 在/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'); ?
现在我已经创建了自定义字段。但是当我输入并保存某些东西时,我必须将值存储在数据库中,它是如何工作的? 有人能帮助我吗?
由于
答案 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