Это условие if-else возможно в макете XML?

9

Я хочу отобразить два разных CSS

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

В XML мы используем, ifconfigно я хочу добавить два разных файла CSS, как это

if (marketplace / general / enable == 1) {
     CSS-1
 } еще {
     CSS-2 
 }

Как я могу это сделать?

Новичок
источник

Ответы:

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';
    }
}
mam08ixo
источник
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>
Кайсар Сатти
источник