【问题标题】:Editing component config in Joomla在 Joomla 中编辑组件配置
【发布时间】:2014-08-13 00:10:01
【问题描述】:

因此,在我正在编辑的组件上,我看到了一个列表的“模板”,它显示在它自己的组件页面上。

我找到了每个模板的文件:

我复制了“默认”模板并为我自己的编辑取了一个新名称

但我不知道如何将它添加到那个 ^ 列表中

if($Config['config_view_template'] == 1) {

    $view->setLayout('rounded');

}elseif($Config['config_view_template'] == 2) {

    $view->setLayout('basic');

}


$Params = JComponentHelper::getParams('com_xxxxxx');

$ParamsArray = $pcParams->toArray();

foreach($ParamsArray['params'] as $name => $value){

  $Config[(string)$name] = (string)$value;

}

我的问题是,如何在 Joomla 组件的选择选项中添加另一个选择? (见图)

替代问题:组件如何添加选项?

我尝试查看此组件的目录,但我什么也没找到,似乎它只有 JComponentHelper::getParams('com_xxxxxx') 已经知道在调用它时设置的选项?安装后,它如何注册它的选项?

【问题讨论】:

    标签: joomla


    【解决方案1】:

    不是 100% 确定现代 Joomla 版本,但过去不得不在 Joomla 1.5(这是最常见的版本之一)中为组件添加参数,所以希望这会有所帮助。

    大部分组件在components 目录中都有一个主组件,在administrator/components/ 下的administrator 目录中还有一个与它们相连的管理员组件。

    以您的 com_xxxxxx 为例,假设您的文档根目录是 /var/www/,它会在此处:

    /var/www/administrator/components/com_xxxxxx/config.xml
    

    config.xml 是关键。对于text 项目,它将包含这样的项目:

    <param type="text" name="something_cool" size="36" label="Cool Thing:" description="A very cool thing." />
    

    如果你想要一个选择列表:

    <param name="cool_list" type="list" default="1" label="Select Cool Options" description="Here are some cool options to select.">
        <option value="0">Awesome</option>
        <option value="1">Amazing</option>
        <option value="2">Super Amazing</option>
    </param>
    

    config.xml 与这些项目的总体结构是这样的:

    <root>
      <params>
    
        <param type="text" name="something_cool" size="36" label="Cool Thing:" description="A very cool thing." />
    
        <param name="cool_list" type="list" default="1" label="Select Cool Options" description="Here are some cool options to select.">
            <option value="0">Awesome</option>
            <option value="1">Amazing</option>
            <option value="2">Super Amazing</option>
        </param>
    
      </params>
    </root>
    

    然后,如果你想为其中任何一个设置默认值,你可以进入manifest.xml 并且靠近底部的某个地方——至少在我这样做的时候——将是一个参数默认值列表,你可以像这样设置:

    <params>
        <param name="something_cool" default="" />
    </params>
    

    我只对text 条目使用manifest.xml 中的默认值,因为似乎可以为list 值设置默认值,但我会尝试。

    【讨论】:

    • @albertdiones 希望这会有所帮助!我最好的建议是您应该简单地查看您已安装的组件,并将您在administrator/components/ 目录中看到的内容与主components/ 目录中的内容进行比较。应该有一些关于这些东西如何连接的明确线索。实验并看看会发生什么。您应该了解这一切是如何结合在一起的。
    • 感谢您的帮助!我发现 config.xml 包含一些不同的格式( config > fields > fieldset > field 而不是 root params > param )但完全相同的属性( field 和 param )非常感谢! ;)
    • 那是因为他在看 1.5。一些词汇表发生了变化,metadata.xml 的使用也有所减少,但仍然非常有用。
    • @albertdiones 就像我在第一句话中所说的,但建议是基于 Joomla 1.5 的经验,我声明您可能需要自己做更多的探索:“不是 100% 确定现代 Joomla 版本,但过去不得不在 Joomla 1.5(这是最常见的版本之一)中向组件添加参数,所以希望这会有所帮助。”
    猜你喜欢
    • 1970-01-01
    • 2017-06-02
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多