ddGetDocuments. Id родителя modx evo


CMS (MODX)Evolution ddGetParentId

Получает id родителя необходимого уровня.

Список изменений

Описание параметров

Название Описание Допустимые значения Значение по умолчанию
id Id документа. {integer} [*id*]
level Уровень родителя:
  • 1 — непосредственный родитель;
  • 2 — родитель родителя;
  • -1 — последний родитель;
  • -2 — предпоследний родитель
  • и т.д.
{integer} 1
result_itemTpl Шаблон (имя чанка) для вывода. Доступные плэйсхолдеры: [+id+]. {string_chunkName|string} @CODE:[+id+]
result_itemsNumber Количество возвращаемых родителей. {integer|'all'} 1
result_itemsGlue Строка, объединяющая элементы при рендеринге. {string} ''
result_toPlaceholder Возвращать значение в плэйсхолдер. {0|1} 0
result_toPlaceholder_name Имя плэйсхолдера. {string}
'ddParent'

code.divandesign.ru

CMS (MODX)Evolution ddGetDocuments 0.9

Название Описание Допустимые значения Значение по умолчанию

Примеры

Простой сбор и вывод по шаблону дочерних документов у родителя с ID == 1
[[ddGetDocuments? &providerParams=`{ "parentIds": "1", "depth": 1 }` &outputterParams=`{ "itemTpl": "@CODE:<div><h3>[+pagetitle+]</h3><p>[+introtext+]</p>[+someTV+]</div>" }` ]]
Простой сбор и вывод дочерних документов у родителя с ID == 1 с фильтром

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

Не забудем указать fieldDelimiter.

[[ddGetDocuments? &providerParams=`{ "parentIds": "1", "depth": 1 }` &fieldDelimiter=`#` &filter=`#published# = 1` &outputterParams=`{ "itemTpl": "documents_item" }` ]]

В фильтре можно использовать несколько условий, через AND или OR, использовать поля документа и TV:

&filter=`#published# = 1 AND #hidemenu# = 0 OR #SomeTVName# = 1`

Extenders → Pagination: Вывод документов с разбиением на страницы и постраничной навигацией (&extenders=`pagination`)
[[ddGetDocuments? &providerParams=`{ "parentIds": "[*id*]" }` &fieldDelimiter=`#` &filter=`#published# = 1` &total=`3` &orderBy=`#pub_date# DESC` &outputterParams=`{ "itemTpl": "documents_item", "noResult": "@CODE:" }` &extenders=`pagination` &extendersParams=`{ "pagination": { "wrapperTpl": "general_pagination", "nextTpl": "general_pagination_next", "previousTpl": "general_pagination_prev", "nextOffTpl": "general_pagination_nextOff", "previousOffTpl": "general_pagination_prevOff", "pageTpl": "general_pagination_page", "currentPageTpl": "general_pagination_pageCurrent" } }` ]]
Outputters → JSON: Вывод документов в формате JSON (&outputter=`json`)
[[ddGetDocuments? &providerParams=`{"parentIds": "1"}` &outputter=`json` ]]

Вернёт:

[ {"id": "2"}, {"id": "3"}, {"id": "4"} ]
Outputters → JSON: Задание полей документа, которые должны выводиться
Сбор дочерних документов у родителя с ID == 1 и вывод в JSON с дополнительными полями

Добавим полей в результат, например pagetitle, menuindex

Вызов сниппета в шаблоне документа:

[[ddGetDocuments? &providerParams=`{"parentIds": "1"}` &outputter=`json` &outputterParams=`{ "docFields": "id,pagetitle,menuindex,someTV" }` ]]

Вернёт:

[ { "id": "2", "pagetitle": "О компании", "menuindex": "0", "someTV": "Какое-то значение какой-то TV" }, { "id": "3", "pagetitle": "Партнеры", "menuindex": "1", "someTV": "" }, { "id": "4", "pagetitle": "Контакты", "menuindex": "2", "someTV": "" } ]
Extenders → Search: Поиск по сайту (&extenders=`search`)

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

[[ddGetDocuments? &providerParams=`{"parentIds": "1"}` &fieldDelimiter=`#` &filter=`#published# = 1 AND #deleted# = 0 AND #template# = 11` &extenders=`search` &extendersParams=`{ "docFieldsToSearch": "pagetitle,content,someTv" }` &outputterParams=`{ "itemTpl": "documents_item" } ]]

После этого дописываем к адресу этой страницы ?query=Какой-то поисковый запрос и сниппет выведет только документы, в которых встречается искомая строка в полях pagetitle, content и someTv.

Рекомендуется вызов сниппета делать кэшируемым, а в настройках CMS включить кэширование с учётом $_GET.

Сортировка по TV с типом «дата»

В связи с особенностями хранения даты в базе данных (01-02-2017 08:59:45), класическая сортировка работает криво. Соответственно, такая запись работать не будет:

&orderBy=`#TVName# DESC`

Для правильной работы сортировки, дату из базы данных надо привести к Unixtime, отсортировать, а уже потом вернуть в обычное состояние. К нашей радости большую часть работ будет проводить сниппет, с нашей же стороны требуется только доработать парамерт вызова:

&orderBy=`STR_TO_DATE(#TVName#, '%d-%m-%Y %H:%i:%s') DESC`

Где TVName — это название TV для сортировки.

Параметры провайдера данных
Провайдеры получают данные документов для вывода.
provider Название провайдера, используемого для получения документов. {parent|select} 'parent'
providerParams Параметры провайдера. {stirng_json|string_queryFormated}
При &provider=`parent`
Находит необходимые дочерние документы заданных родителей.
providerParams['parentIds'] ID родителей, в которых надо искать документы для вывода. {string_commaSepareted|array} '0'
providerParams['depth'] Глубина поиска дочерних документов. {integer} 1
При &provider=`select`
Просто выводит заданные документы.
providerParams['ids']* Document IDs to output. {string_commaSepareted}
Общие параметры
fieldDelimiter Разделитель полей, который будет использоваться для обёртки полей БД в тех параметрах, которые могут содержать SQL-запросы напрямую, например orderBy и filter. {string} '`'
total Максимальное количество ресурсов, которые будут возвращены. {integer}
filter

Условие фильтра в стиле SQL, которое будет применяться при получении ресурсов.

Обратите внимание, что все имена полей/TV, указанные в параметре фильтра, должны быть завернуты в fieldDelimiter.

{string} '`published` = 1 AND `deleted` = 0'
offset Номер ресурса, с которого надо начинать выводить («смещение» ресурсов). {integer} 0
orderBy Правила сортировки в SQL-стиле. {string} '`id` ASC'
Параметры вывода ресурсов
outputter Формат вывода. {'string'|'json'|'raw'} 'string'
outputterParams Параметры вывода. {stirng_json|string_queryFormated}
При &outputter=`string`
Вывод по произвольным шаблонам.
outputterParams['itemTpl'] Шаблон элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string}
outputterParams['itemTplFirst']
Шаблон первого элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string}
outputterParams['itemTplLast'] Шаблон последнего элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string}
outputterParams['wrapperTpl'] Шаблон внешней обертки (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+ddGetDocuments_items+]
  • [+любой плейсхолдер экстендера+]
  • [+любой плейсхолдер из параметра placeholders+]
{string_chunkName|string}
outputterParams['placeholders'] Дополнительные данные передаваемые в itemTpl, itemTplFirst, itemTplLast и wrapperTpl. {array_associative} []
outputterParams['placeholders'][key]* Ключ — имя плейсхолдера, значение — значение. {string}
outputterParams['itemGlue'] Строка, объединяющая элементы во время вывода. {string} ''
outputterParams['noResults'] Чанк или текст для вывода если элементы не найдены (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любой плейсхолдер экстендера+]
{string|string_chunkName}
При &outputter=`json`
Вывод в формате JSON-массива, в котором каждый элемент — объект, где ключ — имя поля документа, значение — значение.
outputterParams['docFields'] Поля для документа, которые необходимо вернуть (TV тоже можно использовать). {string_commaSeparated|array} 'id'
outputterParams['docFields'][i]* Поле документа или TV. {string}
При &outputter=`sitemap`
Вывод в формате Sitemap XML
outputterParams['priorityTVName'] Имя TV, где хранится приоритет документа. {string_TVName} 'general_seo_sitemap_priority'
outputterParams['changefreqTVName'] Имя TV, где хранится частота обновления документа. {string_TVName} 'general_seo_sitemap_changefreq'
outputterParams['itemTpl'] Шаблон последнего элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string} '<url><loc>http://code.divandesign.ru/[~[+id+]~]</loc><lastmod>[+editedon+]</lastmod><priority>[+[+priorityTVName+]+]</priority><changefreq>[+[+changefreqTVName+]+]</changefreq></url>'
outputterParams['wrapperTpl']
Шаблон внешней обертки (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+ddGetDocuments_items+]
  • [+любой плейсхолдер экстендера+]
  • [+любой плейсхолдер из параметра placeholders+]
{string_chunkName|string} '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">[+ddGetDocuments_items+]</urlset>'
При &outputter=`yandexmarket`
Вывод в формате [YML](https://yandex.ru/support/partnermarket/export/yml.html).
outputterParams['shopData_shopName']* Короткое название магазина, не более 20 символов. {string}
outputterParams['shopData_companyName']* Полное наименование компании, владеющей магазином. Не публикуется, используется для внутренней идентификации Яндекса. {string}
outputterParams['shopData_agency'] Наименование агентства, которое оказывает техническую поддержку магазину и отвечает за работоспособность сайта. {string}
outputterParams['shopData_currencyId'] [Код валюты](https://yandex.ru/support/partnermarket/currencies.html). {string} 'RUR'
outputterParams['offerFields_price']* Поле, содержащее актуальную цену товара. {string_docField}
outputterParams['offerFields_priceOld'] Поле, содержащее старую цену товара (должна быть выше актуальной цены). {string_docField}
outputterParams['offerFields_picture'] Поле, содержащее изображение товара. {string_docField}
outputterParams['offerFields_name'] Поле, содержащее имя товара. {string_docField} 'pagetitle'
outputterParams['offerFields_model'] Поле, содержащее модель товара. {string_docField}
outputterParams['offerFields_vendor'] Поле, содержащее производителя товара. {string_docField}
outputterParams['offerFields_available'] Поле, содержащее статус наличия товара (true|false). Значение '' — всегда выводить true. {string_docField|''} ''
outputterParams['offerFields_description'] Поле, содержащее описание предложения (длина текста — не более 3 000 символов). {string_docField}
outputterParams['offerFields_salesNotes'] Поле, содержащее «[sales_notes](https://yandex.ru/support/partnermarket/elements/sales_notes.html)». {string_docField}
outputterParams['offerFields_manufacturerWarranty'] Поле, содержащее статус наличия официальной гарантии производителя (true|false). {string_docField}
outputterParams['offerFields_countryOfOrigin'] Поле, содержащее страну производства товара. {string_docField}
outputterParams['offerFields_homeCourierDelivery'] Поле, содержащее возможность курьерской доставки по региону магазина (true|false). {string_docField}
outputterParams['offerFields_dimensions'] Поле, содержащее габариты товара (длина, ширина, высота) в упаковке (размеры укажите в сантиметрах, формат: три положительных числа с точностью 0.001, разделитель целой и дробной части — точка, числа должны быть разделены символом «/» без пробелов). {string_docField}
outputterParams['offerFields_weight'] Поле, содержащее вес товара в килограммах с учетом упаковки (формат: положительное число с точностью 0.001, разделитель целой и дробной части — точка). {string_docField}
outputterParams['offerFields_additionalParams'] Поле, содержащее элементы «[param](https://yandex.ru/support/partnermarket/param.html)». {string_docField}
outputterParams['offerFields_customData'] Поле, содержащее произвольный текст, который будет вставлен перед закрывающим тегом . {string_docField}
outputterParams['templates_wrapper'] Шаблон внешней обертки (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+ddGetDocuments_items+]
  • [+любой плейсхолдер экстендера+]
  • [+любой плейсхолдер из параметра placeholders+]
{string_chunkName|string} '<?xml version="1.0" encoding="utf-8"?><yml_catalog date="[+generationDate+]"><shop><name>[+shopData.shopName+]</name><company>[+shopData.companyName+]</company><url>http://code.divandesign.biz/</url><platform>(MODX) Evolution CMS</platform><version>1.2.1RC</version>[+shopData.agency+]<currencies><currency rate="1" /></currencies><categories>[+ddGetDocuments_categories+]</categories><offers>[+ddGetDocuments_items+]</offers></shop></yml_catalog>'
outputterParams['templates_categories_item'] Шаблон категории (имя чанка или код через префикс @CODE:). Доступные плейсхолдеры:
  • [+id+]
  • [+value+]
  • [+parent+]
{string_chunkName|string} '<category>[+value+]</category>'
outputterParams['templates_offers_item'] Шаблон предложения (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string} '<offer available="[+available+]"><url>http://code.divandesign.biz/[~[+id+]~]</url>[+name+][+price+][+priceOld+][+shopData.currencyId+][+categoryId+][+picture+][+vendor+][+model+][+description+][+salesNotes+][+manufacturerWarranty+][+countryOfOrigin+][+delivery+][+dimensions+][+weight+][+additionalParams+][+customData+]</offer>'
outputterParams['templates_offers_item_elem' . $FieldName] Можно задать шаблон любого элемента offer, называем в соответствии с параметрами offerFields_, например: outputterParams['templates_offers_item_elemCountryOfOrigin']. {string_chunkName|string}
Экстендеры
Экстендеры расширяют базовый функционал сниппета.
extenders Экстендеры через запятую, которые надо применить. {string_commaSeparated}
extenders[i] Имя экстендера. {'pagination'|'tagging'|'search}
extendersParams Параметры, которые будут переданы соответствующим экстендерам. {stirng_json|string_queryFormated}
При &extenders=`pagination`
Постраничная навигация.
extendersParams['wrapperTpl']* Шаблон вывода блока пагинации (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+previous+] — HTML-код ссылки «назад».
  • [+pages+] — HTML-код страниц.
  • [+next+] — HTML-код ссылки «вперёд».
{string_chunkName|string}
extendersParams['pageTpl']* Шаблон ссылки на страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL страницы.
  • [+page+] — номер страницы.
{string_chunkName|string}
extendersParams['currentPageTpl']* Шаблон ссылки на текущую страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL страницы.
  • [+page+] — номер страницы.
{string_chunkName|string}
extendersParams['nextTpl']* Шаблон ссылки «следующую» страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL следующей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
extendersParams['nextOffTpl']* Шаблон ссылки «следующую» страницу, если следующих страниц больше нет (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL следующей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
extendersParams['previousTpl']* Шаблон ссылки «предыдущую» страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL предыдущей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
extendersParams['previousOffTpl']* Шаблон ссылки «предыдущую» страницу, если предыдущих страниц больше нет (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL предыдущей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
При &extenders=`tagging`
Фильтрация документов по меткам.
extendersParams['tagsDocumentField'] Поле документа (TV) с тегами. {string_tvName} 'tags'
extendersParams['tagsDelimiter'] Разделитель тегов в поле документа. {string_tvName} ', '
extendersParams['tagsRequestParamName'] Параметр из $_REQUEST, из которого брать значение выбранных тегов. {string} 'tags'
При &extenders=`search`
Поиск документов по вхождению слова в любое поле. Ключевое слово для поиска передаётся в GET-параметре query.
extendersParams['docFieldsToSearch'] Поля документа (включая TV), по которым осуществляется поиск. {string_commaSepareted} 'pagetitle,content'

code.divandesign.ru

CMS (MODX)Evolution ddGetDocuments

Название Описание Допустимые значения Значение по умолчанию

Примеры

Простой сбор и вывод по шаблону дочерних документов у родителя с ID == 1
[[ddGetDocuments? &providerParams=`{ "parentIds": "1", "depth": 1 }` &outputterParams=`{ "itemTpl": "@CODE:<div><h3>[+pagetitle+]</h3><p>[+introtext+]</p>[+someTV+]</div>" }` ]]
Простой сбор и вывод дочерних документов у родителя с ID == 1 с фильтром

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

Не забудем указать fieldDelimiter.

[[ddGetDocuments? &providerParams=`{ "parentIds": "1", "depth": 1 }` &fieldDelimiter=`#` &filter=`#published# = 1` &outputterParams=`{ "itemTpl": "documents_item" }` ]]

В фильтре можно использовать несколько условий, через AND или OR, использовать поля документа и TV:

&filter=`#published# = 1 AND #hidemenu# = 0 OR #SomeTVName# = 1`

Extenders → Pagination: Вывод документов с разбиением на страницы и постраничной навигацией (&extenders=`pagination`)
[[ddGetDocuments? &providerParams=`{ "parentIds": "[*id*]" }` &fieldDelimiter=`#` &filter=`#published# = 1` &total=`3` &orderBy=`#pub_date# DESC` &outputterParams=`{ "itemTpl": "documents_item", "noResult": "@CODE:" }` &extenders=`pagination` &extendersParams=`{ "pagination": { "wrapperTpl": "general_pagination", "nextTpl": "general_pagination_next", "previousTpl": "general_pagination_prev", "nextOffTpl": "general_pagination_nextOff", "previousOffTpl": "general_pagination_prevOff", "pageTpl": "general_pagination_page", "currentPageTpl": "general_pagination_pageCurrent" } }` ]]
Outputters → JSON: Вывод документов в формате JSON (&outputter=`json`)
[[ddGetDocuments? &providerParams=`{"parentIds": "1"}` &outputter=`json` ]]

Вернёт:

[ {"id": "2"}, {"id": "3"}, {"id": "4"} ]
Outputters → JSON: Задание полей документа, которые должны выводиться
Сбор дочерних документов у родителя с ID == 1 и вывод в JSON с дополнительными полями

Добавим полей в результат, например pagetitle, menuindex

Вызов сниппета в шаблоне документа:

[[ddGetDocuments? &providerParams=`{"parentIds": "1"}` &outputter=`json` &outputterParams=`{ "docFields": "id,pagetitle,menuindex,someTV" }` ]]

Вернёт:

[ { "id": "2", "pagetitle": "О компании", "menuindex": "0", "someTV": "Какое-то значение какой-то TV" }, { "id": "3", "pagetitle": "Партнеры", "menuindex": "1", "someTV": "" }, { "id": "4", "pagetitle": "Контакты", "menuindex": "2", "someTV": "" } ]
Extenders → Search: Поиск по сайту (&extenders=`search`)

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

[[ddGetDocuments? &providerParams=`{"parentIds": "1"}` &fieldDelimiter=`#` &filter=`#published# = 1 AND #deleted# = 0 AND #template# = 11` &extenders=`search` &extendersParams=`{ "docFieldsToSearch": "pagetitle,content,someTv" }` &outputterParams=`{ "itemTpl": "documents_item" } ]]

После этого дописываем к адресу этой страницы ?query=Какой-то поисковый запрос и сниппет выведет только документы, в которых встречается искомая строка в полях pagetitle, content и someTv.

Рекомендуется вызов сниппета делать кэшируемым, а в настройках CMS включить кэширование с учётом $_GET.

Сортировка по TV с типом «дата»

В связи с особенностями хранения даты в базе данных (01-02-2017 08:59:45), класическая сортировка работает криво. Соответственно, такая запись работать не будет:

&orderBy=`#TVName# DESC`

Для правильной работы сортировки, дату из базы данных надо привести к Unixtime, отсортировать, а уже потом вернуть в обычное состояние. К нашей радости большую часть работ будет проводить сниппет, с нашей же стороны требуется только доработать парамерт вызова:

&orderBy=`STR_TO_DATE(#TVName#, '%d-%m-%Y %H:%i:%s') DESC`

Где TVName — это название TV для сортировки.

Параметры провайдера данных
Провайдеры получают данные документов для вывода.
provider Название провайдера, используемого для получения документов. {parent|select} 'parent'
providerParams Параметры провайдера. {stirng_json|string_queryFormated}
При &provider=`parent`
Находит необходимые дочерние документы заданных родителей.
providerParams['parentIds'] ID родителей, в которых надо искать документы для вывода. {string_commaSepareted|array} '0'
providerParams['depth'] Глубина поиска дочерних документов. {integer} 1
При &provider=`select`
Просто выводит заданные документы.
providerParams['ids']* Document IDs to output. {string_commaSepareted}
Общие параметры
fieldDelimiter Разделитель полей, который будет использоваться для обёртки полей БД в тех параметрах, которые могут содержать SQL-запросы напрямую, например orderBy и filter. {string} '`'
total Максимальное количество ресурсов, которые будут возвращены. {integer}
filter

Условие фильтра в стиле SQL, которое будет применяться при получении ресурсов.

Обратите внимание, что все имена полей/TV, указанные в параметре фильтра, должны быть завернуты в fieldDelimiter.

{string} '`published` = 1 AND `deleted` = 0'
offset Номер ресурса, с которого надо начинать выводить («смещение» ресурсов). {integer} 0
orderBy Правила сортировки в SQL-стиле. {string} '`id` ASC'
Параметры вывода ресурсов
outputter Формат вывода. {'string'|'json'|'raw'} 'string'
outputterParams Параметры вывода. {stirng_json|string_queryFormated}
При &outputter=`string`
Вывод по произвольным шаблонам.
outputterParams['itemTpl'] Шаблон элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string}
outputterParams['itemTplFirst'] Шаблон первого элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string}
outputterParams['itemTplLast'] Шаблон последнего элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string}
outputterParams['wrapperTpl'] Шаблон внешней обертки (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+ddGetDocuments_items+]
  • [+любой плейсхолдер экстендера+]
  • [+любой плейсхолдер из параметра placeholders+]
{string_chunkName|string}
outputterParams['placeholders'] Дополнительные данные передаваемые в itemTpl, itemTplFirst, itemTplLast и wrapperTpl. {array_associative} []
outputterParams['placeholders'][key]* Ключ — имя плейсхолдера, значение — значение. {string}
outputterParams['itemGlue'] Строка, объединяющая элементы во время вывода. {string} ''
outputterParams['noResults'] Чанк или текст для вывода если элементы не найдены (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любой плейсхолдер экстендера+]
{string|string_chunkName}
При &outputter=`json`
Вывод в формате JSON-массива, в котором каждый элемент — объект, где ключ — имя поля документа, значение — значение.
outputterParams['docFields'] Поля для документа, которые необходимо вернуть (TV тоже можно использовать). {string_commaSeparated|array} 'id'
outputterParams['docFields'][i]* Поле документа или TV. {string}
При &outputter=`sitemap`
Вывод в формате Sitemap XML
outputterParams['priorityTVName'] Имя TV, где хранится приоритет документа. {string_TVName} 'general_seo_sitemap_priority'
outputterParams['changefreqTVName'] Имя TV, где хранится частота обновления документа. {string_TVName} 'general_seo_sitemap_changefreq'
outputterParams['itemTpl'] Шаблон последнего элемента (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string} '<url><loc>http://code.divandesign.ru/[~[+id+]~]</loc><lastmod>[+editedon+]</lastmod><priority>[+[+priorityTVName+]+]</priority><changefreq>[+[+changefreqTVName+]+]</changefreq></url>'
outputterParams['wrapperTpl'] Шаблон внешней обертки (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+ddGetDocuments_items+]
  • [+любой плейсхолдер экстендера+]
  • [+любой плейсхолдер из параметра placeholders+]
{string_chunkName|string} '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">[+ddGetDocuments_items+]</urlset>'
При &outputter=`yandexmarket`
Вывод в формате [YML](https://yandex.ru/support/partnermarket/export/yml.html).
outputterParams['shopData_shopName']* Короткое название магазина, не более 20 символов. {string}
outputterParams['shopData_companyName']* Полное наименование компании, владеющей магазином. Не публикуется, используется для внутренней идентификации Яндекса. {string}
outputterParams['shopData_agency'] Наименование агентства, которое оказывает техническую поддержку магазину и отвечает за работоспособность сайта. {string}
outputterParams['shopData_currencyId'] [Код валюты](https://yandex.ru/support/partnermarket/currencies.html). {string} 'RUR'
outputterParams['offerFields_price']* Поле, содержащее актуальную цену товара. {string_docField}
outputterParams['offerFields_priceOld'] Поле, содержащее старую цену товара (должна быть выше актуальной цены). {string_docField}
outputterParams['offerFields_picture'] Поле, содержащее изображение товара. {string_docField}
outputterParams['offerFields_name'] Поле, содержащее имя товара. {string_docField} 'pagetitle'
outputterParams['offerFields_model'] Поле, содержащее модель товара. {string_docField}
outputterParams['offerFields_vendor'] Поле, содержащее производителя товара. {string_docField}
outputterParams['offerFields_available'] Поле, содержащее статус наличия товара (true|false). Значение '' — всегда выводить true. {string_docField|''} ''
outputterParams['offerFields_description'] Поле, содержащее описание предложения (длина текста — не более 3 000 символов). {string_docField}
outputterParams['offerFields_salesNotes'] Поле, содержащее «[sales_notes](https://yandex.ru/support/partnermarket/elements/sales_notes.html)». {string_docField}
outputterParams['offerFields_manufacturerWarranty'] Поле, содержащее статус наличия официальной гарантии производителя (true|false). {string_docField}
outputterParams['offerFields_countryOfOrigin'] Поле, содержащее страну производства товара. {string_docField}
outputterParams['offerFields_homeCourierDelivery'] Поле, содержащее возможность курьерской доставки по региону магазина (true|false). {string_docField}
outputterParams['offerFields_dimensions'] Поле, содержащее габариты товара (длина, ширина, высота) в упаковке (размеры укажите в сантиметрах, формат: три положительных числа с точностью 0.001, разделитель целой и дробной части — точка, числа должны быть разделены символом «/» без пробелов). {string_docField}
outputterParams['offerFields_weight'] Поле, содержащее вес товара в килограммах с учетом упаковки (формат: положительное число с точностью 0.001, разделитель целой и дробной части — точка). {string_docField}
outputterParams['offerFields_additionalParams'] Поле, содержащее элементы «[param](https://yandex.ru/support/partnermarket/param.html)». {string_docField}
outputterParams['offerFields_customData'] Поле, содержащее произвольный текст, который будет вставлен перед закрывающим тегом . {string_docField}
outputterParams['templates_wrapper'] Шаблон внешней обертки (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+ddGetDocuments_items+]
  • [+любой плейсхолдер экстендера+]
  • [+любой плейсхолдер из параметра placeholders+]
{string_chunkName|string} '<?xml version="1.0" encoding="utf-8"?><yml_catalog date="[+generationDate+]"><shop><name>[+shopData.shopName+]</name><company>[+shopData.companyName+]</company><url>http://code.divandesign.biz/</url><platform>(MODX) Evolution CMS</platform><version>1.2.1RC</version>[+shopData.agency+]<currencies><currency rate="1" /></currencies><categories>[+ddGetDocuments_categories+]</categories><offers>[+ddGetDocuments_items+]</offers></shop></yml_catalog>'
outputterParams['templates_categories_item'] Шаблон категории (имя чанка или код через префикс @CODE:). Доступные плейсхолдеры:
  • [+id+]
  • [+value+]
  • [+parent+]
{string_chunkName|string} '<category>[+value+]</category>'
outputterParams['templates_offers_item'] Шаблон предложения (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+любое поле или имя TV+]
  • [+любой плейсхолдер экстендера+]
{string_chunkName|string} '<offer available="[+available+]"><url>http://code.divandesign.biz/[~[+id+]~]</url>[+name+][+price+][+priceOld+][+shopData.currencyId+][+categoryId+][+picture+][+vendor+][+model+][+description+][+salesNotes+][+manufacturerWarranty+][+countryOfOrigin+][+delivery+][+dimensions+][+weight+][+additionalParams+][+customData+]</offer>'
outputterParams['templates_offers_item_elem' . $FieldName] Можно задать шаблон любого элемента offer, называем в соответствии с параметрами offerFields_, например: outputterParams['templates_offers_item_elemCountryOfOrigin']. {string_chunkName|string}
Экстендеры
Экстендеры расширяют базовый функционал сниппета.
extenders Экстендеры через запятую, которые надо применить. {string_commaSeparated}
extenders[i] Имя экстендера. {'pagination'|'tagging'|'search}
extendersParams Параметры, которые будут переданы соответствующим экстендерам. {stirng_json|string_queryFormated}
При &extenders=`pagination`
Постраничная навигация.
extendersParams['wrapperTpl']* Шаблон вывода блока пагинации (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+previous+] — HTML-код ссылки «назад».
  • [+pages+] — HTML-код страниц.
  • [+next+] — HTML-код ссылки «вперёд».
{string_chunkName|string}
extendersParams['pageTpl']* Шаблон ссылки на страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL страницы.
  • [+page+] — номер страницы.
{string_chunkName|string}
extendersParams['currentPageTpl']* Шаблон ссылки на текущую страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL страницы.
  • [+page+] — номер страницы.
{string_chunkName|string}
extendersParams['nextTpl']* Шаблон ссылки «следующую» страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL следующей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
extendersParams['nextOffTpl']* Шаблон ссылки «следующую» страницу, если следующих страниц больше нет (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL следующей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
extendersParams['previousTpl']* Шаблон ссылки «предыдущую» страницу (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL предыдущей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
extendersParams['previousOffTpl']* Шаблон ссылки «предыдущую» страницу, если предыдущих страниц больше нет (имя чанка или код через префикс @CODE:).

Доступные плейсхолдеры:

  • [+url+] — URL предыдущей страницы.
  • [+totalPages+] — общее количество страниц.
{string_chunkName|string}
При &extenders=`tagging`
Фильтрация документов по меткам.
extendersParams['tagsDocumentField'] Поле документа (TV) с тегами. {string_tvName} 'tags'
extendersParams['tagsDelimiter'] Разделитель тегов в поле документа. {string_tvName} ', '
extendersParams['tagsRequestParamName'] Параметр из $_REQUEST, из которого брать значение выбранных тегов. {string} 'tags'
При &extenders=`search`
Поиск документов по вхождению слова в любое поле. Ключевое слово для поиска передаётся в GET-параметре query.
extendersParams['docFieldsToSearch'] Поля документа (включая TV), по которым осуществляется поиск. {string_commaSepareted} 'pagetitle,content'

code.divandesign.ru

CMS (MODX)Evolution ddGetParentId 1.2

Получает id родителя необходимого уровня.

Список изменений

Описание параметров

Название Описание Допустимые значения Значение по умолчанию
id Id документа. {integer} [*id*]
level Уровень родителя:
  • 1 — непосредственный родитель;
  • 2 — родитель родителя;
  • -1 — последний родитель;
  • -2 — предпоследний родитель
  • и т.д.
{integer} 1
result_itemTpl Шаблон (имя чанка) для вывода. Доступные плэйсхолдеры: [+id+]. {string_chunkName|string} @CODE:[+id+]
result_itemsNumber Количество возвращаемых родителей. {integer|'all'} 1
result_itemsGlue Строка, объединяющая элементы при рендеринге. {string} ''
result_toPlaceholder Возвращать значение в плэйсхолдер. {0|1} 0
result_toPlaceholder_name Имя плэйсхолдера. {string} 'ddParent'

code.divandesign.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта