Сортировка в прайс-листе

#
Сортировка в прайс-листе
Добрый день!
В прайс листе ИМ по умолчанию идет сортировка групп и товаров по id, а мне нужно чтобы порядок шел  по полю "сортировка", как в самом ИМ. Подскажите пожалуйста, что для этого нужно сделать?
<?php

$oShop = Core_Entity::factory('Shop', Core_Array::get(Core_Page::instance()->libParams, 'shopId'));

$Shop_Controller_Show = new Shop_Controller_Show($oShop);

$path = Core_Page::instance()->structure->getPath();

$Shop_Controller_Show
   ->pattern($path . '(page-{page}/)')
   ->addEntity(
      Core::factory('Core_Xml_Entity')
         ->name('path')
         ->value($path)
   )
   ->limit(500)
   ->parseUrl();

$Shop_Controller_Show
   ->shopItems()
   ->queryBuilder()
   ->clearOrderBy()
   ->leftJoin('shop_groups', 'shop_groups.id', '=', 'shop_items.shop_group_id')
   ->where('shop_items.active', '=', 1)
   ->where('shop_groups.active', '=', 1)
   ->clearOrderBy()
   ->orderBy('shop_items.shop_group_id')
   ->orderBy('shop_items.name');

$Shop_Controller_Show
   ->shopGroups()
   ->queryBuilder()
   ->where('shop_groups.active', '=', 1)
   ->clearOrderBy()
   ->orderBy('shop_groups.id');

$xslName = Core_Array::get(Core_Page::instance()->libParams, 'xsl');

$Shop_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->groupsMode('all')
   ->itemsProperties(TRUE)
   ->group(FALSE)
   ->show();
Модератор
#
Re: Сортировка в прайс-листе
Так вот же у вас:


->orderBy('shop_items.shop_group_id')
->orderBy('shop_items.name');


поменяйте на:

->orderBy('shop_items.sorting');

Для групп:

->orderBy('shop_groups.sorting');

Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Сортировка в прайс-листе
Спасибо, Александр, за ответ. Но я так уже пробовала...Не работает...По прежнему идет в порядке id, а не по полю сортировки... На демо сайте сейчас попробовала, там тоже не работает это решение
Модератор
#
Re: Сортировка в прайс-листе
Покажите код, который у вас получился.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Сортировка в прайс-листе
<?php

$oShop = Core_Entity::factory('Shop', Core_Array::get(Core_Page::instance()->libParams, 'shopId'));

$Shop_Controller_Show = new Shop_Controller_Show($oShop);

$path = Core_Page::instance()->structure->getPath();

$Shop_Controller_Show
   ->pattern($path . '(page-{page}/)')
   ->addEntity(
      Core::factory('Core_Xml_Entity')
         ->name('path')
         ->value($path)
   )
   ->limit(1500)
   ->parseUrl();

$Shop_Controller_Show
   ->shopItems()
   ->queryBuilder()
   ->clearOrderBy()
   ->leftJoin('shop_groups', 'shop_groups.id', '=', 'shop_items.shop_group_id')
   ->where('shop_items.active', '=', 1)
   ->where('shop_groups.active', '=', 1)
   ->clearOrderBy()
   ->orderBy('shop_items.sorting');

$Shop_Controller_Show
   ->shopGroups()
   ->queryBuilder()
   ->where('shop_groups.active', '=', 1)
   ->clearOrderBy()
   ->orderBy('shop_groups.sorting');

$xslName = Core_Array::get(Core_Page::instance()->libParams, 'xsl');

$Shop_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->groupsMode('all')
   ->itemsProperties(TRUE)
   ->group(FALSE)
   ->show();
Модератор
#
Re: Сортировка в прайс-листе
Не вижу явных ошибок. Напишите в поддержку с данными доступа, посмотрю на сайте.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Сортировка в прайс-листе
Сайт, к сожалению на локальном сервере пока...Ну ту же проблему можно пронаблюдать и в демо-версии с правами редактирования -  http://www.hostcmsblog.ru/demosites/  Меняю сортировку групп в ИМ, в ТДС "Прайс" делаю вышеприведенные изменения, но ничего не происходит..
#
Re: Сортировка в прайс-листе
Проблема актуальна. Тоже нужно сделать по полю "Сортировка". Для товаров работает, а для групп нет.
#
Re: Сортировка в прайс-листе
может в XSL шаблоне стоит сортировка
HostDev.pw - модули для HostCMS, Telegram: @hostdev
#
Re: Сортировка в прайс-листе
Спасибо большое, сработало. Хотя смотрел и не видел)
Может подскажите,  в типовой можно указать свою очередность вывода групп? В магазине они разбросаны по разным группам. И моя задумка не совсем так работает.
Авторизация