Essa condição se-outro é possível no XML do layout?


9

Eu quero exibir dois CSS diferentes

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

No XML, usamos, ifconfigmas quero adicionar dois arquivos CSS diferentes como este

if (marketplace / general / enable == 1) {
     css-1
 } outro {
     css-2 
 }

Como posso fazer isso?

Respostas:


16

Não existe uma "diretiva inversa" para ifconfig. Você ainda pode ter o parâmetro name calculado por um método auxiliar como este:

XML:

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

helpernameé o identificador ao qual você geralmente passa Mage::helper($name)e helpermethodo método que deseja chamar.

Na classe auxiliar do seu módulo (pseudo-código):

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

4

use esta extensão para a opção de configuração estendida

você pode usar conditiontag para tag

<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>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.