【发布时间】:2014-02-02 17:03:36
【问题描述】:
我需要在我的相关产品上显示产品选项:
在每个可配置产品的 list.phtml 中,我使用以下代码显示其选项(选项表示颜色等属性):
<?php if($_product->getTypeId() == 'configurable'): ?>
<?php echo $this->getOptionsHtml($_product); ?>
<?php endif; ?>
结果:没有!!!
这里有什么问题?为什么在related.phtml 中不起作用?
getOptionsHtml - 此函数来自 Belvg ColorSwatchPro 扩展。
<?php
class Belvg_ColorSwatchPro_Block_Product_List extends Mage_Catalog_Block_Product_List
{
public function getOptionsHtml($_product)
{ die('sss');
$block = $this->getLayout()->createBlock(
'Belvg_ColorSwatchPro_Block_Product_List_Options',
'product_list_options',
array('template' => 'colorswatch/product/list/options.phtml'
));
$block->setProduct($_product);
return $block->toHtml();
}
}
【问题讨论】:
-
在标准 Magento 中没有定义像
getOptionsHtml这样的函数(检查 Magento 1.8)。这个函数是在哪里定义的? -
@oleksii.svarychevskyi 。我知道,但为什么要在其他页面上工作? homelist.phtml 和目录类别页面?
-
也许这些模板被分配给了一些第三方扩展提供的块。只需在您的代码中搜索
function getOptionsHtml(,您应该会找到定义它的块。 -
@oleksii.svarychevskyi 。是的,我找到了那个功能。 getLayout()->createBlock('Belvg_ColorSwatchPro_Block_Product_List_Options', 'product_list_options', array('template' => 'colorswatch/product/list/options.phtml' )); $block->setProduct($_product);返回 $block->toHtml(); } }
-
@oleksii.svarychevskyi 该功能来自 Belvg ColorSwatchPro 扩展
标签: php html magento e-commerce shopping-cart