2013-10-24 31 views
0

這是情況。我們有一個配置擴展,我們只想在特定產品的產品頁面上顯示。擴展名被設置爲一個靜態塊。我的想法是,我可以在PHP中使用XML語句來定義模板。如何通過Magento中的產品頁面模板有條件地顯示靜態塊?

這裏是我的目錄XML:

<reference name="content"> 
    <block type="partfinder/selector" name="partfinder_selector" template="partfinder/selector.phtml"/> 
</reference> 

這是我在view.php文件PHP:

<?php 
if ($_product->getSku() = 10007) 
{ 
echo $this->getChildHtml('partfinder_selector'); 
} 
?> 

我缺少什麼?現在,這只是破壞我的產品頁面;他們全部。

有沒有更好的方法來做我想要完成的事情?我知道這樣使用CMS塊是不好的形式,但是,這似乎是擴展的本質。

+2

我想你忘了'='符號。 'if($ _product-> getSku()= 10007)'應該是'if($ _product-> getSku()== 10007)' – Marius

回答

2

您可以爲使用如下:

<?php 
if ($_product->getSku() == '10007') { 
    echo $this->getLayout()->createBlock('cms/block')->setBlockId('partfinder_selector')->toHtml(); 
} 
?> 

你也錯過了==在你的if語句。

+0

它看起來好像PHP語句按照預期工作。配置器顯示在我的所有產品頁面上。有什麼建議麼? – MacOfAges

+0

您是否嘗試過打印sku代碼並在if語句中嘗試echo?輸出什麼? –

+0

它先前在代碼印刷爲這樣: '<?PHP的 \t \t \t \t \t $ _產品= $這 - > getProduct(); \t \t \t \t \t echo $ _product-> getSku(); \t \t \t \t \t?> – MacOfAges

相關問題