ürünleri liste listesine göre en yeni, indirimli, en çok satılan, yorumlara göre sırala "


10

Ürünler listesi sayfasında, varsayılan Magento'daki gibi "Konum, ad, fiyat" a göre sıralamayı görebiliriz.

Nasıl sıralanır?

  1. en yeni ürünler (son yüklenenler)
  2. İndirim (önce en yüksek indirimli ürünler)
  3. En çok satan (ilk önce en çok satılan ürünler)
  4. Yorumlar (önce yüksek puanlı ürünler görüntülenir)

Herhangi bir açıklamaya ihtiyacınız varsa lütfen bize bildirin ...

Yanıtlar:


7

için -> Son Görülen

için -> Derecelendirmeye göre sıralama

Dosyayı kopyalayın

app/code/core/Mage/Catalog/Block/Product/List.php için

app/code/local/Mage/Catalog/Block/Product/List.php

içinde list.phpbu hat için find

$this->_productCollection =$layer->getProductCollection();

bundan sonra olacak line no 86aşağıdaki kodu ekleyin

$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')

şimdi kopyala

app/code/core/Mage/Catalog/Model/Config.php için

app/code/local/Mage/Catalog/Model/Config.php

config.php dosyasında bu kodu bulun

$options = array(
    'position'  => Mage::helper('catalog')->__('Position')
);

şununla değiştir

$options = array(
    'position'  => Mage::helper('catalog')->__('Position'),
    'rating_summary' => Mage::helper('catalog')->__('Rating')
);

- >> için BESTSELLER

Bir klasör adlandırmayı oluşturmak bu prosedürü takip Inchoove bu klasör yerin içinde Catalogve iç katalog 3 klasörler oluşturabilir Block, etcve Modelde Blockeklenti Productde Producteklenti Listve Listbir dosya oluşturmak ve isim olarak Toolbar.phpiçine bu kodu ve reklam

<?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;
    }
}

şimdi etcklasörde adıyla bir dosya oluşturun config.xmlve bu kodu ekleyin

<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>

Şimdi Modelbir dosya adlandırma oluşturun Config.phpve bu kodu ekleyin.

<?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'))
        );
    }
}

ayrıca Resourceklasör içinde Modelve içinde Resourceklasör oluşturmak Productklasör oluşturmak ve bir dosya adlandırma oluşturmak Collection.phpve aşağıdaki kodu ekleyin.

<?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;
    }
}

Şimdi sonunda bu modülü app/etc/modulesekleyerek bir dosya oluşturarak bu modülü etkinleştirin Inchoo_Catalog.xml.

<?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>

ve bunu başarmanın herhangi bir programlı yolunu bulamadığım için SALEsize bu uzantıyı öneriyorum .


merhaba, cevap için çok teşekkürler, yakında kontrol edeceğim ve size söyleyeceğim ....
Magento bebek

ürün listesi sayfasında "sıralama ölçütü" "derecelendirme" seçeneği almak için yapmak zorunda başka bir şey var. önbellek ve dizin yönetimi yaptım ama derecelendirme seçeneği altında görüntülenmiyor: sırala "ürünler listesi sayfasında.
Magento bebek

pastebin.com/5403TsLa => list.php pastebin.com/Z7WK7C1m => config.php lütfen yukarıdaki dosyaları kontrol edin ....
Magento'daki bebek

hmm kod benim için iyi çalışıyor seninle neyin yanlış olduğunu anlayamıyorum
dh47

Bir kez daha kontrol edeceğim ....
Magento bebek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.