西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

在Magento中展示产品选项的HTML代码

时间:2017-01-06 00:36来源:未知 作者:好模板 点击:
这个简单的Magento助手可以帮你显示产品选项的html代码。它适用于简单(simple), 虚拟(virtual)和可配置(configurable)产品。我相信你也可以将同样的方法应用到其它产品上。获取可配

这个简单的Magento助手可以帮你显示产品选项的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; 
	}
}
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容