Как изменить порядок отображения товара в magento - PullRequest
2 голосов
/ 26 января 2011

Как я могу изменить порядок отображения товара во внешнем интерфейсе (сетка или список), задав некоторые предпочтения из внутреннего интерфейса?Я предполагаю, что оно должно отличаться от наилучшего значения и имени из свойства порядка отображения Magento по умолчанию.

Я попытался создать новый атрибут с именем display_order, и каждый продукт содержит значение, основанное на его значении, которое необходимо показать продукту.в переднем конце.Тем не менее, это не работает.Пожалуйста, помогите мне исправить это.

Ответы [ 3 ]

5 голосов
/ 26 января 2011

Вам потребуется расширить блок Mage_Catalog_Block_Product_List, чтобы обеспечить собственную функциональность для метода getProductCollection().Возможно, что-то вроде:

class ... extends Mage_Catalog_Block_Product_List {
    function getProductCollection() {
        parent::getProductCollection()->addAttributeToSort('display_order', 'ASC')
    }
}

Тогда, конечно, вам придется обновить XML-файл макета на вашем, предположительно, настраиваемом контроллере (если вы не хотите, чтобы все экраны списка продуктов действоваливот так) использовать новый блок вместо Magento по умолчанию catalog/product_list.

2 голосов
/ 26 ноября 2012

Почему бы вам не использовать сортировку Magento?

В вашей категории в разделе Категория продукта у вас есть возможность выбрать порядок сортировки в последнем столбце.Чтобы сделать это через php, просто создайте собственный скрипт, который вам нужно будет запустить один раз.

$collection = 'Your product collection';
$result = array();
foreach ($collection as $product) {
   $sort = 'Your way of calculating the desired sorting';
   $result[$product->getId()]=$sort;
}
Mage::getModel('catalog/category')->load('your category id')->setPostedProducts($result)->save();

И все:)

0 голосов
/ 04 мая 2015

Чтобы изменить порядок отображения, сначала необходимо установить для параметра сортировки по умолчанию значение position. Это можно сделать из конфигурации администратора magento. После этого вам необходимо установить положение для всех продуктов, начиная со значения 1.

Я наткнулся на следующий модуль, который очень легко упростит эту задачу, просто перетащив продукты из самих категорий управления. Пожалуйста, проверьте следующее расширение

http://www.blackqubers.com/extensions/product-sorting-drag-and-drop.html

Надеюсь, это поможет вам

...