在布局XML中是否可以使用if-else-条件?


9

我想显示两个不同的CSS

<action method="addItem" ifconfig="module/general/enable">
    <type>js_css</type>
    <name>module/app.css</name>
</action>

在XML中,我们使用ifconfig但我想添加两个不同的CSS文件,如下所示

如果(市场/一般/启用== 1){
     css-1
 }其他{
     css-2 
 }

我怎样才能做到这一点?

Answers:


16

没有的“反向指令” ifconfig。您仍然可以使用如下的辅助方法来计算name参数:

XML:

<action method="addItem">
    <type>js_css</type>
    <name helper="helpername/helpermethod"/>
</action>

helpername是通常传递给的标识符Mage::helper($name)以及helpermethod要调用的方法。

在模块的帮助程序类(伪代码)中:

public function helpermethod()
{
    if ($enabled) {
        return 'module/app1.css';
    } else {
        return 'module/app2.css';
    }
}

4

将此扩展用于扩展配置选项

您可以将condition标签用于标签

<action method="addItem" ifconfig="module/general/enable" condition="1">
    <type>js_css</type>
    <name>module/app.css</name>
</action>
<action method="addItem" ifconfig="module/general/enable" condition="0">
    <type>js_css</type>
    <name>module/app1.css</name>
</action>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.