このif-else-conditionはレイアウトXMLで可能ですか?


9

2つの異なるCSSを表示したい

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

XMLでは使用しますifconfigが、次のように2つの異なるCSSファイルを追加します

if(marketplace / general / enable == 1){
     css-1
 } そうしないと {
     css-2 
 }

これどうやってするの?

回答:


16

への「逆指令」はありませんifconfig。次のようなヘルパーメソッドで計算された名前パラメーターを引き続き使用できます。

XML:

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

helpernameは通常渡すIDで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.