XML düzeninde bu if-else-koşulu mümkün mü?


9

İki farklı CSS görüntülemek istiyorum

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

XML'de kullanıyoruz ifconfigancak bunun gibi iki farklı CSS dosyası eklemek istiyorum

if (pazar / genel / enable == 1) {
     CSS-1
 } Başka {
     CSS-2 
 }

Bunu nasıl yapabilirim?

Yanıtlar:


16

İçin "ters yönerge" yoktur ifconfig. Yine de böyle bir yardımcı yöntemle hesaplanan name parametresine sahip olabilirsiniz :

XML:

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

helpernamegenellikle geçtiğiniz tanımlayıcı Mage::helper($name)ve helpermethodaramak istediğiniz yöntemdir.

Modülünüzün yardımcı sınıfında (sözde kod):

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

4

genişletilmiş yapılandırma seçeneği için bu uzantıyı kullan

conditionetiketi etiket için kullanabilirsiniz

<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>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.