magento переопределить порядок сортировки списка товаров по подкатегориям - PullRequest
1 голос
/ 11 августа 2010

Я создаю новый магазин, используя 1.4.1

Я пытаюсь отсортировать товары в списке по подкатегориям, к которым они принадлежат. В верхней части list.phtml находится

$_productCollection=$this->getLoadedProductCollection();

Я попытался добавить фильтры сортировки, добавив строку

$_productCollection->setOrder('category_ids', 'asc')->setOrder('name', 'asc');

Я также попытался добавить addAttributeToSort вместо setOrder. Это, кажется, не имеет никакого эффекта. Я предполагаю, что $ _productCollection не является моделью, которую я могу отсортировать таким образом. Я копался, пытаясь найти правильное место для применения метода сортировки, но безуспешно.

Может кто-нибудь сказать мне подходящее место, чтобы сделать это?

Ответы [ 3 ]

0 голосов
/ 26 августа 2010

Вы правы, Джозеф, SQL находится в /app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php, поиск по "публичной функции addAttributeToSort"

Нокод для такой сортировки вне моей досягаемости.

Не забудьте сохранить только новый Collection.php по пути / app / code / local / Mage / Catalog / Model / Resource / Eav / Mysql4 / Productчтобы избежать проблем с обновлениями.

Если вы понимаете де-код, пожалуйста, напишите.

Я пытаюсь отсюда.

0 голосов
/ 24 декабря 2010

$this->getLoadedProductCollection();

просто возвращает коллекцию продуктов, которые возвращаются блоком из бэк-энда.

, если вы хотите добавить пользовательский код для коллекции продуктов, отредактируйтефайл в иерархии папок

app/code/core/Mage/Block/catalog/product/list.php

Вы найдете функцию с тем же именем, то есть getLoadedProductCollection() отслеживает ее работу и, наконец, вы найдете решение.

0 голосов
/ 11 августа 2010

Откуда поступает звонок на getLoadedProductCollection? Это безопасная ставка (по названию коллекции), что коллекция была загружена (например, SQL уже был выполнен) к тому времени, как вы вернете коллекцию. Это означает, что ваша возможность ограничения / сортировки закончена.

Может быть другая версия этого метода, которая еще не была загружена. Используйте это, если это возможно.

Спасибо, Джо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...