在Magento中展示产品选项的HTML代码(块)
这个简单的助手可以帮你显示产品选项的html代码。它适用于简单(simple), 虚拟(virtual)和可配置(configurable)产品。我相信你也可以将同样的方法应用到其它产品上。获取可配置产品选项的HTML代码会一点。
对于简单产品,我们有一种非常“干净的方法”。
首先,我们为产品设置一个块,接着我们添加物品渲染器(template和type)到产品选项块。最后一步就是创建迭代选择并与我们的产品选项块一起显示。
我们可以看到一些不错的松耦合和代码分离。另一方面,获取可配置产品选项的html代码并不这么灵活。实例块,实例化产品。我们获取选项的html。
抽样:
echo Mage::helper("alwayly_checkout")->getProductOptionsHtml(Mage::getModel("catalog/product")->load(171));
助手:
<!--?php <br ?-->/**
* @category Alwayly
* @package Alwayly_Checkout
* @author Alwayly
*/
class Alwayly_Checkout_Helper_Data extends Mage_Core_Helper_Abstract
{
/**
*
* getting html for options of products
* @param Mage_Catalog_Model_Product $product
*/
public function getProductOptionsHtml(Mage_Catalog_Model_Product $product)
{
$blockOption = Mage::app()->getLayout()->createBlock("Mage_Catalog_Block_Product_View_Options");
$blockOption->addOptionRenderer("default","catalog/product_view_options_type_default","catalog/product/view/options/type/default.phtml");
$blockOption->addOptionRenderer("text","catalog/product_view_options_type_text","alwayly_catalog/product/view/options/type/text.phtml");
$blockOption->addOptionRenderer("file","catalog/product_view_options_type_file","catalog/product/view/options/type/file.phtml");
$blockOption->addOptionRenderer("select","inchoo_checkout/product_view_options_type_select","catalog/product/view/options/type/select.phtml");
$blockOption->addOptionRenderer("date","catalog/product_view_options_type_date","catalog/product/view/options/type/date.phtml") ;
$blockOptionsHtml = null;
if($product->getTypeId()=="simple"||$product->getTypeId()=="virtual"||$product->getTypeId()=="configurable")
{
$blockOption->setProduct($product);
if($product->getOptions())
{
foreach ($product->getOptions() as $o)
{
$blockOptionsHtml .= $blockOption->getOptionHtml($o);
};
}
}
if($product->getTypeId()=="configurable")
{
$blockViewType = Mage::app()->getLayout()->createBlock("Mage_Catalog_Block_Product_View_Type_Configurable");
$blockViewType->setProduct($product);
$blockViewType->setTemplate("inchoo_catalog/product/view/type/options/configurable.phtml");
$blockOptionsHtml .= $blockViewType->toHtml();
}
return $blockOptionsHtml;
}
}
电商网站开发服务。
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
上一篇:用自定义输入渲染器添加Magento属性 下一篇:编辑Magento中的PDF地址