Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

cergey251

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Здравствуйте) скажите, как можно можно сделать постраничный вывод списка заказов? вывожу через %emarket ordersList()%, но насколько я понял, он не поддерживает %system numpages()%

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
через usel протокол можно вывести

*

cergey251

  • *
  • 18
  • +0/-0
    • Просмотр профиля
У меня была мысль так вывести, но когда приступил к xml-шаблону, то возникли проблемы...
Каким образом должен выглядеть xml-шаблон?
я написал вот это, но не знаю что на место категории вставлять...
<?xml version="1.0" encoding="utf-8"?>
<selection>
   <target result="pages">
         <type module="emarket" method="ordersList" />
         <category>?</category>
   </target>
   <limit>10</limit>
</selection>
« Последнее редактирование: 29 Декабрь 2011, 12:46:41 от cergey251 »

*

admin

  • *****
  • 2421
  • +172/-1
    • Просмотр профиля
ты работаешь с заказами, то есть это не pages, а objects, и категории там не будет. Плюс ты не можешь указывать тип объекта ссылаясь на метод ordersList

там должно быть что-то типа

<?xml version="1.0" encoding="utf-8"?>
<selection>
   <target result="objects">
         <type module="emarket" method="order" />
   </target>
   <property name="customer_id" value="{userId}"/>
   и т.д. по фильтрам
</selection>

вот как выглядит запрос средствами API
$sel = new selector('objects');
            $sel->types('object-type')->name('emarket', 'order');
            $sel->where('customer_id')->equals(customer::get()->id);
            $sel->where('name')->isNull(false);
   $sel->where('domain_id')->equals($domainId);
            
   $sel->order('order_date')->desc();
надо еще отфильтровать по name, по домену если их несколько на системе, сделать сортировку, и ограничение добавить чтобы работала пагинация

*

cergey251

  • *
  • 18
  • +0/-0
    • Просмотр профиля
Спасибо, буду пробовать)