¿Es posible esta condición if-else en el diseño XML?


9

Quiero mostrar dos CSS diferentes

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

En XML usamos ifconfigpero quiero agregar dos archivos CSS diferentes como este

if (marketplace / general / enable == 1) {
     css-1
 } más {
     css-2 
 }

¿Cómo puedo hacer esto?

Respuestas:


16

No existe una "directiva inversa" para ifconfig. Todavía puede tener el parámetro de nombre calculado por un método auxiliar como este:

XML:

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

helpernamees el identificador al que suele pasar Mage::helper($name)y helpermethodel método al que desea llamar.

En la clase auxiliar de su módulo (pseudocódigo):

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

4

use esta extensión para la opción de configuración extendida

puedes usar conditionetiqueta por etiqueta

<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>
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.