cho -> Đã xem gần đây xem tại đây
cho -> Sắp xếp theo xếp hạng
Sao chép tập tin
app/code/core/Mage/Catalog/Block/Product/List.php
đến
app/code/local/Mage/Catalog/Block/Product/List.php
trong list.php
tìm cho dòng này
$this->_productCollection =$layer->getProductCollection();
mà sẽ ở xung quanh line no 86
thêm mã sau đây
$this->_productCollection->joinField('rating_summary', 'review_entity_summary', 'rating_summary', 'entity_pk_value=entity_id', array('entity_type'=>1, 'store_id'=> Mage::app()->getStore()->getId()), 'left')
bây giờ sao chép
app/code/core/Mage/Catalog/Model/Config.php
đến
app/code/local/Mage/Catalog/Model/Config.php
trong config.php tìm mã này
$options = array(
'position' => Mage::helper('catalog')->__('Position')
);
thay thế bằng
$options = array(
'position' => Mage::helper('catalog')->__('Position'),
'rating_summary' => Mage::helper('catalog')->__('Rating')
);
- >> cho BESTSELLER
theo thủ tục này tạo ra một cách đặt tên thư mục Inchoo
và bên trong đó diễn ra thư mục Catalog
và danh mục bên trong tạo 3 thư mục Block
, etc
và Model
Trong Block
add Product
vào Product
add List
và List
tạo ra một tập tin và đặt tên cho nó là Toolbar.php
và quảng cáo mã này vào nó
<?php
class Inchoo_Catalog_Block_Product_List_Toolbar extends Mage_Catalog_Block_Product_List_Toolbar
{
public function setCollection($collection)
{
parent::setCollection($collection);
if ($this->getCurrentOrder()) {
if($this->getCurrentOrder() == 'qty_ordered') {
$this->getCollection()->getSelect()
->joinLeft(
array('sfoi' => $collection->getResource()->getTable('sales/order_item')),
'e.entity_id = sfoi.product_id',
array('qty_ordered' => 'SUM(sfoi.qty_ordered)')
)
->group('e.entity_id')
->order('qty_ordered ' . $this->getCurrentDirection());
} else {
$this->getCollection()
->setOrder($this->getCurrentOrder(), $this->getCurrentDirection())->getSelect();
}
}
return $this;
}
}
Bây giờ trong etc
thư mục tạo một tệp có tên config.xml
và thêm mã này
<config>
<modules>
<Inchoo_Catalog>
<version>0.1.0</version>
</Inchoo_Catalog>
</modules>
<global>
<blocks>
<catalog>
<rewrite>
<product_list_toolbar>Inchoo_Catalog_Block_Product_List_Toolbar</product_list_toolbar>
</rewrite>
</catalog>
</blocks>
<models>
<catalog>
<rewrite>
<config>Inchoo_Catalog_Model_Config</config>
</rewrite>
</catalog>
<catalog_resource>
<rewrite>
<product_collection>Inchoo_Catalog_Model_Resource_Product_Collection</product_collection>
</rewrite>
</catalog_resource>
</models>
</global>
</config>
Bây giờ trong việc Model
tạo một tên tập tin Config.php
và thêm mã này.
<?php class Inchoo_Catalog_Model_Config extends Mage_Catalog_Model_Config
{
public function getAttributeUsedForSortByArray()
{
return array_merge(
parent::getAttributeUsedForSortByArray(),
array('qty_ordered' => Mage::helper('catalog')->__('Sold quantity'))
);
}
}
cũng tạo Resource
thư mục trong Model
và trong Resource
thư mục tạo Product
thư mục và tạo một tên tệp Collection.php
và thêm mã sau đây.
<?php
class Inchoo_Catalog_Model_Resource_Product_Collection extends Mage_Catalog_Model_Resource_Product_Collection
{
protected function _getSelectCountSql($select = null, $resetLeftJoins = true)
{
$this->_renderFilters();
$countSelect = (is_null($select)) ?
$this->_getClearSelect() :
$this->_buildClearSelect($select);
if(count($countSelect->getPart(Zend_Db_Select::GROUP)) > 0) {
$countSelect->reset(Zend_Db_Select::GROUP);
}
$countSelect->columns('COUNT(DISTINCT e.entity_id)');
if ($resetLeftJoins) {
$countSelect->resetJoinLeft();
}
return $countSelect;
}
}
Bây giờ cuối cùng kích hoạt mô-đun này bằng cách app/etc/modules
tạo một tệp Inchoo_Catalog.xml
thêm mã này.
<?xml version="1.0"?>
<!--
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Connect
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
-->
<config>
<modules>
<Inchoo_Catalog>
<active>true</active>
<codePool>community</codePool>
<depends />
</Inchoo_Catalog>
</modules>
</config>
và SALE
tôi đề nghị bạn mở rộng vì tôi không thể tìm thấy bất kỳ cách lập trình nào để đạt được điều này.