最新消息:Excel无乱码转CSV,由于工作原因很少更新博客和回复大家的评论,非常抱歉。

[原创]Magento 在模板里创建Block实例

在Magento应用中,我们往往有很多种方法来扩展Magento。当我们的需求远远超出Magento预设的功能时,我们就会二次开发或扩展其功能。下面是我在应用中在模板中创建Block的办法,为了以后方便,Hicoogle就把代码贴出来以便查找。

下面是一个按指定类,循环显示该类和子类下面所有的产品。

<div>
<?php
$_categories = Mage::getModel('catalog/category')->load(5);
$layout =  $this->getLayout();
$type = 'catalog/product_list';

foreach($_categories->getChildrenCategories() as $cat){
echo '<div>'.$this->htmlEscape($cat->getName()).'</div>';
if($cat->getChildrenCount()>0){

$_childcates = Mage::getModel('catalog/category')->load($cat->getId());

foreach($_childcates->getChildrenCategories() as $child){

echo '<div>'.$this->htmlEscape($child->getName()).'</div>';

$attributes = array(
'type'     =>  'catalog/product_list',
'name'     =>  'pvlist',
'category_id' => $child->getId(),
'alias'    =>  'pvlist',
'template' =>  'catalog/product/list.phtml'
);

$block = $layout->createBlock($type, null, $attributes);
echo $block->toHtml();
}

}else{

$attributes = array(
'type'     =>  'catalog/product_list',
'name'     =>  'pvlist',
'category_id' => $cat->getId(),
'alias'    =>  'pvlist',
'template' =>  'catalog/product/pvlist.phtml'
);

$block = $layout->createBlock($type, null, $attributes);
echo $block->toHtml();
}

}
?>
</div>

上面代码中的pvlist.phtml是用来显示产品的列表,如果不想改变样式的话,也可以用list.phtml。

转载请注明:嗨酷哥,有你更酷! » [原创]Magento 在模板里创建Block实例

与本文相关文章

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项