你现在的位置:首页 > PHP网站建设知识库 > magento > 正文

将特定产品页放到magento首页

magento的首页是通过cms实现的静态页,如果我们去修改magento的routers应该是可以不让magento默认进入cms页面,而直接进入产品页面。我们也可以直接在cms页面中直接添加block实现在cms页面显示产品的目的:

首先,登陆后台,进入到cms — manage page
 
然后,编辑当前启用的home page页
 
{{block type = "catalog/product_list" category_id="xx" template = "catalog/product/homepage.phtml" }} 
这样是可以将某一类产品放到首页上去,然而经常碰到用户说他想要挑几个特定的产品放到首页上去。步骤如下:
 
 1,在用户添加产品之前,为用户所使用的attributte set添加一个属性(如,show_on_homepage,名称可自定),这个属性类型设置为yesno类型,当值为yes时在首页显示,即如果用户想在首页显示这个产品就把这个设置成yes.
 
 2.创建一个自己的module,它只包含一个block。然后在block中添加代码对product collection进行筛选。当然也可以直接将这个block放到catalog模块的相应目录下,把模板放到相关的主题目录模板下。
 
$products = $product->setStoreId($storeId)->getCollection()
->addAttributeToFilter('show_on_homepage', array('yes'=>true))
 
显然,上面的方面必须是在用户末添加产品时就得做,万一用户已经添加完很多产品什么办?因为product list block可以显示某一类的产品,所以我们如果不想修改代码,可以设置一个新的子类,注意不要将它设置为active(除非你想在首页的菜单中看到这个类)。然后将这个子类的id传递给product list block,之后,就让用户选择他要放在首页的产品了,并把这些产品指定到这个类下面,这可是利用了magento 的一个产品可以指定给多个分类的特点。