我希望在简短描述后在产品视图页面中显示相关产品。 我在app / design / frontend / default / your_theme / layout / catalog.xml页面中添加了以下代码
<block type="catalog/product_list_related" name="catalog.product.related" as="related" template="catalog/product/list/related.phtml"/> `under <reference name="content">` section.
并评论以下代码
<reference name="right">
<block type="catalog/product_list_related" name="catalog.product.related" before="-" template="catalog/product/list/related.phtml"/>
</reference>
之后我创建了一个related.phtml页面并将其放在app/design/frontend/default/your_theme/template/catalod/product/list/
部分。
通过编写此代码app/design/frontend/default/your_theme/template/catalod/product/view.phtml
在<?php echo $this->getChildHtml('related'); ?>
页面中调用此related.phtml页面。还清除缓存。然后它也无法调用页面
如果有人知道这一点,请帮助我。
谢谢!
答案 0 :(得分:8)
您好我有自定义代码来获取相关产品,您可以在要显示相关产品的地方添加此代码
<?php
foreach ($_product->getRelatedLinkCollection() as $link) {
$dats= $link->getLinkedProductId();
}
if($dats)
{
?>
<div class="block block-related">
<div class="block-title">
<strong><span><?php echo $this->__('Related Products') ?></span></strong>
</div>
<div class="block-content">
<ol class="mini-products-list" id="block-related">
<?php $bk=1;
foreach ($_product->getRelatedLinkCollection() as $link) {
if($bk=='4'){ break; }
else{
$relatedData[$link->getLinkedProductId()]['position'] = $link->getPosition();
$itsProducts[] = $link->getLinkedProductId();
$model = Mage::getModel('catalog/product') ;//getting product model
$_product = $model->load($link->getLinkedProductId());
//getting product object for particular product id
//echo $_product->getShortDescription(); //product's short description
//echo $_product->getDescription(); // product's long description
//echo $_product->getName(); //product name
//echo $_product->getPrice(); //product's regular Price
//echo $_product->getSpecialPrice(); //product's special Price
//echo $_product->getProductUrl(); //product url
//echo $_product->getImageUrl(); //product's image url
//echo $_product->getSmallImageUrl(); //product's small image url
//echo $_product->getThumbnailUrl(); //product's thumbnail image url ?>
<li class="item">
<div class="product">
<a href="<?php echo $_product->getProductUrl(); ?>">
<img src="<?php echo $_product->getImageUrl(); ?>"
width="110" height="110" alt="1"/> </a>
<div class="product-details">
<h2 class="product-name-related">
<a title="<?php echo $_product->getName(); ?>"href="
<?php echo $_product->getProductUrl(); ?>">
<?php echo $_product->getName(); ?></a><div class="price-box">
<?php echo '$'.number_format($_product->getPrice(),2); ?></div></h2>
<button class="button btn-cart" onclick="setLocation('
<?php echo Mage::helper('checkout/cart')->getAddUrl($_product); ?>')"
title="Add to Cart" type="button"><span><span>Add to Cart</span></span></button>
</div>
</div>
</li>
<?php
$bk++;
}
}
?>
</ol>
</div>
</div>
<?php
}
?>
答案 1 :(得分:2)
尝试添加
<block type="catalog/product_list_related" name="catalog.product.related" as="related" template="catalog/product/list/related.phtml"/>
下的
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
如下所示catalog.xml
<reference name="content">
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="catalog/product_list_related" name="catalog.product.related" as="related" template="catalog/product/list/related.phtml"/>
其余的看起来很好。清除缓存并查看其是否有效
修改:我建议不要编辑catalog.xml
文件,而是在local.xml
文件夹中创建app/design/frontend/your_package/your_theme/layout
文件,并在此文件中添加代码,以下
<catalog_product_view>
<reference name="product.info">
<block type="catalog/product_list_related" name="catalog.product.related" as="related" template="catalog/product/list/related.phtml"/>
</reference>
<reference name="right">
<remove name="catalog.product.related"/>
</reference>
</catalog_product_view>
请参阅here如何创建local.xml
文件
答案 2 :(得分:2)
从view.phtml
中删除对block related_products的引用<?php //echo $this->getChildHtml('related_products') ?>
然后将其添加到view.phtml
中的任何位置<?php echo $this->getBlockHtml('catalog.product.related'); ?>
答案 3 :(得分:0)
使用以下代码展示相关产品以及产品视图页。
<catalog_product_view>
<remove name="catalog.product.related" />
<reference name="product.info">
<block type="catalog/product_list_related" name="catalog.product.related" as="related" template="catalog/product/list/related.phtml"/>
</reference>
</catalog_product_view>
然后在view.phtml中调用此
<?php
echo $this->getLayout()->getBlock(‘catalog.product.related’)->toHtml()
?>