Чи можливий такий умова 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
 } else {
     css-2 
 }

Як я можу це зробити?

Відповіді:


16

Не існує "зворотної директиви" до ifconfig. Ви можете мати параметр імені, обчислений таким чином, як хелпер:

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

використовувати це розширення для розширеної опції config

ви можете використовувати 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>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.