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

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

*

pokerflat

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Здравствуйте, подскажите пожалуйста, хочу вывести все объекты каталога. Сделал шаблон, в нем прописал вывод    
      
   <xsl:apply-templates select="document('udata://catalog/getObjectsList/void/(/shop/)/99//1/')" />   
   
  По логике должны выводиться все объекты с лимитом 99 и любой вложенности, но не работает.
  А если указать конкретный каталог например так

     <xsl:apply-templates select="document('udata://catalog/getObjectsList/void/(/shop/kavo/)/99//1/')" />  

    Все отлично работает, перелопатил форумы, не могу понять в чем дело.

*

pokerflat

  • *
  • 2
  • +0/-0
    • Просмотр профиля
Re:Вывод всех объектов каталога, подскажите
« Ответ #1 : 18 Марта 2012, 21:17:29 »
Сам спросил, сам ответил)
Чтобы вывелись все объекты нужно вставить это
      <xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/'))/udata" />

*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Помогите разобраться, данный макрос выводит все объекты и причем в разброс, нужно вывести по порядку
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList//', page/@id, '///2/'))/udata" />
1. List// - Шаблон, по которому выводятся объекты каталога, у меня он пустой
2. page/@id - id или путь до раздела каталога
далее набор
3. '///2/' Как я понимаю применяется правило ниже
limit  -  Количество объектов, выводимых на странице.
ignore_paging -  Игнорировать постраничный вывод.
i_need_deep  -  Глубина поиска объектов списка (во вложенных подразделах). По умолчанию — только в текущем разделе.
field_id -   id или имя поля, по которому должна выполняться сортировка. По умолчанию сортировка выполняется по расположению объектов в иерархии.
asc -   Порядок сортировки. Значение "1" задает прямой порядок сортировки, "0" — обратный.

Если я вношу изменения так '///2/1' или так '5///2/'
Макрос перестает работать.


*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Разобрался в выводе объектов

сортировка по ASC
concat('udata://catalog/getObjectsList//', page/@id, '///2//1')

сортировка по DESC
concat('udata://catalog/getObjectsList//', page/@id, '///2//0')

Но все равно не так объекты выводятся, выводится пара по прядку и потом влезают другие
Что еще может влиять?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
не уверен что вы верно указали id поля, который вам нужен. В своей практике, вместо id я указываю название поля, то есть примерно так

concat('udata://catalog/getObjectsList//', page/@id, '///proizvoditel//1')

*

john

  • ***
  • 207
  • +6/-0
    • Просмотр профиля
Спасибо.

Чтобы не путаться, удалил лишние слова
concat('udata://catalog/getObjectsList/template null/', page/@id, '/limit/padding/deep/field/order')