레이아웃 XML에서 if-else-condition이 가능합니까?


9

두 개의 다른 CSS를 표시하고 싶습니다

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

XML에서는 우리가 사용 ifconfig하지만 다음과 같은 두 가지 다른 CSS 파일을 추가하고 싶습니다

if (시장 / 일반 / 활성화 == 1) {
     CSS-1
 } else {
     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';
    }
}

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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.