Сортировка товаров в дисплее по Заголовку

Главные вкладки

Аватар пользователя fgvlasov fgvlasov 7 февраля 2017 в 11:23

Здравствуйте, уважаемые, друпалеры. Встрял с одной интересной задачкой:
Сделал импорт в интернет магазин Commerce. На странице дисплея несколько товаров в селекте с разными ценами. http://apt.it-tim.ru/product/110-kolgotki-zhenskie-1klass
Но показываются они в соответствии с весом, который руками никто не будет править, а поле Вес в импорте Feeds не указать почему-то, тогда бы из 1С цеплял.
Соответственно вопрос: как темизировать вывод этого селекта, чтобы я мог там сортировку сделать по алфавиту Заголовка?

Вот так выводится поле в node--product_display.tpl.php :
<?php print render($content['field_products']); ?></div>

Видимо шаблон мог быть field--field_products--product_display.tpl.php , но в нем все равно селект целиком выводится через <?php print render($item); ?>

Предположу, что надо в template.php что-то писать через theme_field , но вот что?

ВложениеРазмер
Иконка изображения sortirovka.jpg56.48 КБ

Комментарии

Аватар пользователя GoodWert GoodWert 7 февраля 2017 в 18:30

Мне кажется подход у Вас не правильный. Зачем каждый раз по-новой сортировать товары при рендере страницы, если можно только раз отсортировать (ну или при добавлении/удалении товара пересортировывать заново). Я предлагаю программно изменить вес каждой позиции в соответствии с алфавитным порядком. Удачи!

Аватар пользователя fgvlasov fgvlasov 7 февраля 2017 в 18:35

Соглашусь пожалуй. Но проблема в том, что товары заносятся не руками, а через автоматический импорт в Feeds по крону. Товаров там 6000.
А этот вес почему-то не нашел как импортировать. Так бы в 1С поле задал заранее.
А вот как программно изменить вес каждой позиции в соответствии с алфавитным порядком? Видимо надо писать модуль для формы сохранения дисплея, там через $form_state выцеплять этот массив прицепленных товаров и сортировать их по алфавиту перед сохранением...