我是一個前端開發Magento的,已經建立了不少我自己的主題,我想了解Magento的XML塊定位更好...Magento的XML未落工作
我通常使用local.xml
文件來操縱一切,我可以如下定義塊:
<cms_index_index>
<reference name="root">
<block type="core/template" name="example_block" as="exampleBlock" template="page/html/example-block.phtml"/>
</reference>
</cms_index_index>
這將創建主頁(cms_index_index
)上的塊,因爲該塊root
下創建一個水平,我通常會添加以下內容:
<?php echo $this->getChildHtml('exampleBlock') ?>
...至1column.phtml
(或2columns-left
/right.phtml
,3columns.phtml
等)。通過用cms_index_index
代替適當的頁面標籤,可將塊放在任何頁面上。
我看到的東西像整個核心XML文件以下,並在教程:
<reference name="root">
<block type="core/template" name="example_block" before="content" template="page/html/example-block.phtml"/>
</reference>
content
是塊是Magento的一般頁面結構的一部分,從我的理解,before="content"
應該將它在那裏你可以期待,而不需要使用getChildHtml('exampleBlock')
,到目前爲止這麼好...然而,在幾乎沒有任何工作可以爲我工作之前/之後,我經常發現自己使用getChildHtml方法作爲備份,但這並不總是理想的,並意味着編輯更多.phtml文件超過必要的。
我已經試過:出現
<reference name="root">
<block type="core/template" name="example_block" before="content" template="page/html/example-block.phtml"/>
</reference>
沒什麼......
<reference name="root">
<block type="core/template" name="example_block" after="header" template="page/html/example-block.phtml"/>
</reference>
還是什麼都沒有....我也知道使用before="-"
或after="-"
放置之前的一切東西之內這是父母。我偶爾會有一些運氣,但通常會感到困惑和沮喪。
我已經搜遍了'magento xml之前/之後不工作',並開始懷疑它只是我這發生...任何人都可以解釋我什麼時候可以和不能使用之前/之後定位塊?上述例子有什麼問題?
我在Magento 1.7.0.2(最近在張貼時間)
這樣做的主要動機是爲了減少核心一個.phtml文件,我只是需要編輯添加getChildHtml()
數量,因此如果有另一種(XML)方式來解決這個問題,我會很有興趣知道......
所有緩存都關閉:/ –