因此,在我正在编辑的组件上,我看到一个“模板”,显示在它自己的组件页面上显示的列表。
我找到了每个模板的文件:
我复制了“默认”模板并为我自己的编辑创建了一个新名称
但我无法弄清楚它将如何添加到^列表
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')
已经知道它被调用时设置的选项?安装后,它如何注册它的选项?
答案 0 :(得分:1)
对现代Joomla版本不是100%肯定,但过去必须在Joomla 1.5(这是最常见的版本之一)中为组件添加参数,所以希望这会有所帮助。
大多数组件在components
目录中都有一个主要组件,以及在administrator
下的administrator/components/
目录中连接到它们的管理员组件。
以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>
我只使用manifest.xml
中的text
条目的默认值,因为似乎默认情况下可以为list
值设置默认值,但我会尝试。