【问题标题】:Joomla: How can I add custom field in banner component?Joomla:如何在横幅组件中添加自定义字段?
【发布时间】:2015-04-02 12:21:48
【问题描述】:

我想在管理端的横幅组件中添加一个自定义字段而不编辑核心文件

我尝试使用here 描述的插件来执行此操作。 但我没有得到任何额外的字段。

还有其他方法可以在横幅组件中添加字段吗?

【问题讨论】:

  • 您第一次尝试使用的代码在哪里?如果不编辑核心文件,您唯一的方法就是创建自定义插件。
  • 你检查过[模板覆盖] (docs.joomla.org/…)

标签: php joomla joomla3.0


【解决方案1】:

像这样创建一个插件:

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 中找到此文件。在上面的示例中,我将额外的字段放在字段参数和字段集图像中。这些字段显示在横幅表单界面中名为“详细信息”的选项卡中。您可以将额外的字段放在其他地方,但您必须确保它实际上显示在某个地方。也可以覆盖管理模板,以确保额外的字段按您想要的方式显示。

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    相关资源
    最近更新 更多