2011-05-01 50 views
2

Magento有可能有條件地將塊添加到佈局xml文件中嗎?Magento - 佈局文件中的條件

我正在考慮管理配置選項複選框 - 如果選中,則需要將一個塊添加到頁面中,反之亦然,如果未選中。

我可以考慮通過代碼來做到這一點,但不是實際的佈局文件系統本身。

回答

1

你可以試試這個(我還沒有嘗試過我自己):

<action ifconfig='your/extension/active' 
+1

除非我誤解了,ifconfig僅適用於 2011-05-02 17:30:15

+0

正如我所說我沒有測試過這只是從佈局文件grepped這個 – 2011-05-02 19:19:34

+0

@Alan Storm,你知道是否有解決方案,類似於ifconfig? – David 2011-05-02 19:24:24

3

ifconfig paramater可以用來有條件地action方法

<action method="someBlockMethod" ifconfig="path/to/config"><param1>value</param></action> 

path/to/config路徑傳遞給Mage :: getStoreConfigFlag()返回一個布爾值。

我想嘗試結合使用這與insert方法

<action method="insert" ifconfig="path/to/config"><param>block_name</param></action> 

的名稱或別名block_name塊將需要已經插入到其他PHP或XML佈局對象,所以你可能需要採取額外的步驟,將其插入新塊後從原始塊中取消設置。

+0

酷我喜歡你的方式去你的答案 – 2011-05-02 19:44:04

+0

謝謝艾倫 - 這看起來非常有保證。我可以檢查一下,如果有更自然的做法,我正在努力實現。基本上,如果我的模塊配置選項之一被選爲yes(是沒有後端類型),那麼我想要在產品頁面中包含某個元素。 – David 2011-05-02 20:20:05

+0

我正在尋找一些與貝寶模塊非常相似的東西 - 您可以從管理區域選擇不顯示徽標。我只是無法弄清楚Logo.php塊中的_toHtml()是如何工作的。 – David 2011-05-02 20:58:27