簡體   English   中英

magento phtml內容未顯示在產品頁面view.phtml中

[英]magento phtml content does not show in product page view.phtml

我正在產品頁面view.phtml創建一個自定義塊。 成功創建該塊是因為打開路徑提示后可以看到該塊。 最初,我只是為模板使用一些簡單的HTML內容,如下所示:

<div> 
this is the new block
</div>

但是,如果我將模板更改為phtml內容,它將返回消息,說明我正在調用非對象函數。 如下所示:

模板

<?php $_helper = $this->helper('catalog/output'); ?>
<?php $_product = $this->getProduct(); ?>
<?php $productName = $_helper->productAttribute($_product, $_product->getName(), 'name'); ?>
<?php $productUrl = $_helper->productAttribute($_product, $_product->getProductUrl(), 'product_url'); ?>
<?php $productImage = $_product->getImageUrl() ?>  

<div class="socialShare clearfix">
    <ul>
        <li><a class="fa fa-facebook" href="javascript:popWin('https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($productUrl); ?>&t=<?php echo urlencode($productName); ?>', 'facebook', 'width=640,height=480,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes');" title="<?php echo $this->__('Share it') ?>"></a></li>
    </ul>
</div>

錯誤信息

致命錯誤:在第3行的/home/onebig/public_html/app/design/frontend/ma_hitstore/default/template/catalog/product/view/socialShare.phtml中的非對象上調用成員函數getName()

catalog.xml我有以下代碼

<catalog_product_view translate="label">
    <reference name="content">
        <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
            <block type="core/template" name="product.info.socialShare" template="catalog/product/view/socialShare.phtml"/>
    </reference>
 </catalog_product_view>

view.phtml調用該塊

<?php echo $this->getChildHtml('product.info.socialShare'); ?>

我測試了是否將模板內容直接粘貼到view.phtml中,並且可以正常工作。 我想如果我創建一個自定義的塊我必須重新定義所有論文PHP變量$productName$productUrl$productImage地方? 抱歉,我是新來的。 非常感謝您的知識。

問題是您的子塊的類型為core/template 當您在核心模板上調用getProduct ,它將僅返回null。

如果將其更新為catalog/product_view$this->getProduct()將返回產品。


或者,您也可以通過從注冊表中獲取任何模板來從其獲取當前產品:

$_product = Mage::registry('current_product');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM