【发布时间】:2015-04-02 12:21:48
【问题描述】:
【问题讨论】:
-
您第一次尝试使用的代码在哪里?如果不编辑核心文件,您唯一的方法就是创建自定义插件。
-
你检查过[模板覆盖] (docs.joomla.org/…)
【问题讨论】:
像这样创建一个插件:
class PlgContentExtraField extends JPlugin
{
protected $autoloadLanguage = true;
function onContentPrepareForm($form, $data) {
$app = JFactory::getApplication();
$option = $app->input->get('option');
switch($option) {
case 'com_banners':
if ($app->isAdmin()) { // assuming backend
JForm::addFormPath(__DIR__ . '/forms');
// loading file extra.xml from subfolder /forms in your plugin folder
$form->loadFile('extra', false);
}
}
return true;
}
}
并带有描述文件:
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin" group="content" method="upgrade">
<name>plg_content_extra</name>
<author>Jonas</author>
<creationDate>Sept 2015</creationDate>
<copyright>Copyright (C) 2015</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>xxx@gmail.com</authorEmail>
<authorUrl></authorUrl>
<version>3.0.0</version>
<description>Example plugin</description>
<files>
<filename plugin="extra">extra.php</filename>
</files>
</extension>
文件 forms/extra.xml 可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<form>
<fields name="params" >
<fieldset name="image" >
<field name="extra_field" type="text" label="An extra field" />
</fieldset>
</fields>
</form>
使用管理界面中的发现功能安装插件,并记得启用它。
现在:该字段的显示位置取决于 com_banners 中表单 xml 文件的结构。您可以在 /administrator/components/com_banners/models/forms/banner.xml 中找到此文件。在上面的示例中,我将额外的字段放在字段参数和字段集图像中。这些字段显示在横幅表单界面中名为“详细信息”的选项卡中。您可以将额外的字段放在其他地方,但您必须确保它实际上显示在某个地方。也可以覆盖管理模板,以确保额外的字段按您想要的方式显示。
【讨论】: