Magento带分页添加新产品至CMS Page

  • 时间:
  • 浏览:0
  • 来源:5分6合下注平台-5分6合注册平台_5分6合官网平台
作者:匿名 hihi 来源:Sjolzy'blog 浏览: 2011-6-14 10:04:17 字号:大 中 小

[摘要]本文介绍咋样让magento创建一一一两个 带分页功能的新到产品页面,方便亲们 在首页后后其它CMS Page调用和展示新到产品。

在Magento亲们 经常 有的做法是建立一一一两个 还都可不都能否调用新产品的block,后后通过:

{{block type="catalog/product_new" column_count="6" products_count="1150" name="home.catalog.product.new" alias="product_homepage" template="catalog/product/new.phtml"}}

调用,以前就还都可不都能否在Magento首页显示新到产品 后后你这些位置调用,前提要有添加新产品并设置新产品期间了。

现在是要让Magento创建一一一两个 带分页功能的新到产品展示Page,自动展示有设置了“Set Product as New from Date - Set Product as New to Date”的新到产品。

话入正题。Magento在CMS Page添添加分页功能的新到产品页面步骤如下;

创建路径:app/code/local/Mage/Catalog/Block/Product

 

创建文件:app/code/local/Mage/Catalog/Block/Product/New.php

New.php将覆盖掉magento core里的New.php,所后很久以前New.php有在使用的话local的你这些文件另外命名区分开。

 

添加以下内容到New.php

<?php

//chen@sjolzy.cn

class Mage_Catalog_Block_Product_New extends Mage_Catalog_Block_Product_List

{

function get_prod_count()

{

//unset any saved limits

Mage::getSingleton('catalog/session')->unsLimitPage();

return (isset($_REQUEST['limit'])) ? intval($_REQUEST['limit']) : 12;

}// get_prod_count

function get_cur_page()



{

return (isset($_REQUEST['p'])) ? intval($_REQUEST['p']) : 1;

}// get_cur_page

/**



* Retrieve loaded category collection

*

* @return Mage_Eav_Model_Entity_Collection_Abstract

**/

protected function _getProductCollection()

{

$todayDate = Mage::app()->getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);

$collection = Mage::getResourceModel('catalog/product_collection');



$collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());

$collection = $this->_addProductAttributesAndPrices($collection)



->addStoreFilter()

->addAttributeToFilter('news_from_date', array('date' => true, 'to' => $todayDate))

->addAttributeToFilter('news_to_date', array('or'=> array(

0 => array('date' => true, 'from' => $todayDate),

1 => array('is' => new Zend_Db_Expr('null')))

), 'left')

->addAttributeToSort('news_from_date', 'desc')

->setPageSize($this->get_prod_count())

->setCurPage($this->get_cur_page());

$this->setProductCollection($collection);

return $collection;



}// _getProductCollection

}// Mage_Catalog_Block_Product_New

?>

保存后,创建CMS里的新到产品列表Page。添加后,设置Design的内容为以下内容:

<reference name="content">

<block type="catalog/product_new" name="product_new" template="catalog/product/list.phtml">

<action method="setCategoryId"><category_id>10</category_id></action>

<action method="setColumnCount"><column_count>6</column_count></action>

<action method="setProductsCount"><count>0</count></action>

<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">

<block type="page/html_pager" name="product_list_toolbar_pager" />

<action method="setDefaultGridPerPage"><limit>12</limit></action>

<action method="addPagerLimit"><mode>grid</mode><limit>12</limit></action>

<action method="addPagerLimit"><mode>grid</mode><limit>24</limit></action>

<action method="addPagerLimit"><mode>grid</mode><limit>36</limit></action>

<action method="addPagerLimit"><mode>grid</mode><limit>48</limit></action>

<action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action>

</block>

<action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>6</count></action>

<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>

</block>

</reference>

以前就还都可不都能否保存查看效果了。以下简要备记几点说明:

<block type="catalog/product_new" name="product_new" template="catalog/product/list.phtml">

设置块的类型和使用的模版文件,你这些文件也是产品列表页用的。“catalog/product_new” 你这些所以更换了的New.php。

<action method="setCategoryId"><category_id>10</category_id></action>

setCategoryId 设置目录ID,还都可不都能否是网站的根目录ID,后后某目录。

<action method="setColumnCount"><column_count>6</column_count></action>

setColumnCount 新到产品的Page产品每页产品数为6

<action method="setProductsCount"><count>0</count></action>

setProductsCount 设为0的话所以该指定目录的所有产品,否者按限定数

<block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">

<block type="page/html_pager" name="product_list_toolbar_pager" />

为新到产品列表页面添加目录页的工具条和分页

<action method="setDefaultGridPerPage"><limit>12</limit></action> 

setDefaultGridPerPage 配置工具栏的产品显示数

<action method="addPagerLimit"><mode>grid</mode><limit>12</limit></action>

配置分页的产品数

<action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>6</count></action>

one_column 布局定为6列

<action method="setToolbarBlockName"><name>product_list_toolbar</name></action>

工具条的命名

Page的Design次责设置好后,Content次责随便设下,保存,就能查看效果了。

这篇Magento添加新产品在CMS Page 是翻译外国女男友的,经实际操作完整篇 可行。

magento下载

本文转自:Sjolzy'blog

sssss
Tags: magento   分页   CMS Page  
责任编辑:mozi