Изменить порядок атрибутов на странице расширенного поиска Magento - PullRequest
3 голосов
/ 31 августа 2010

У меня есть несколько пользовательских атрибутов на моих продуктах в Magento, и они доступны для поиска на странице поиска Magento; проблема в том, что поля указаны в неправильном порядке на странице поиска;

Например:

Title  _____
Author _____
SKU    _____
ISBN   _____

Должно быть:

Author _____
Title  _____
ISBN   _____
SKU    _____

Я посмотрел на файл шаблона, и он, кажется, выводит массив (или объект) из его внутреннего порядка. Я хотел бы знать, как изменить этот порядок:).

Какие-нибудь (относительно простые) идеи?

Ответы [ 3 ]

6 голосов
/ 31 августа 2010

Если вы откроете блок, соответствующий вашему шаблону (catalogsearch\advanced\form.phtml -> Mage_CatalogSearch_Block_Advanced_Form), вы увидите, что он вызывает getAttributes метод Mage_CatalogSearch_Model_Advanced, который в свою очередь выполняет:

$attributes = Mage::getResourceModel('catalog/product_attribute_collection')
            ...
            ->setOrder('main_table.attribute_id', 'asc')
            ->load();

Все это означает, что сортировка выполняется по полю attribute_id в таблице eav_attribute, а не по конкретному полезному полю.

Однако фактический запрос выполняет объединение таблицы catalog_eav_attribute как additional_table, что означает, что вы можете изменить часть сортировки кода на ->setOrder('additional_table.position', 'asc'), а затем изменить значения поля "position" в эта таблица через phpMyAdmin.

Чтобы сделать это изменение в будущем, возьмите копию файла Mage_CatalogSearch_Model_Advanced и скопируйте его в app/code/local/Mage/CatalogSearch/Model, прежде чем вносить какие-либо изменения.

Чтобы отладить SQL-запрос, включите $_debug и $_logAllQueries в lib/varien/Db/Adapter/Pdo/Mysql.php. Не забудьте выключить это в производстве !!

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

2 голосов
/ 25 октября 2012

В Magento 1.7x это можно сделать через управление набором атрибутов продукта.

Перейдите в Каталог-> Атрибуты -> Управление набором атрибутов --- Выберите свой набор атрибутов

Оттуда вы можете изменить порядок, добавить и удалить атрибуты для набора.

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

Пробовал установить атрибут позиции для этих атрибутов?

Каталог -> Атрибуты -> Управление атрибутами -> Атрибуты -> Свойства внешнего интерфейса -> Позиция

Редактировать:

На самом деле, похоже, вам, возможно, придется применить ручную сортировку к блоку / шаблону результатов поиска.

Начните здесь с подробностей о том, как это сделать: http://alanstorm.com/category/magento

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