Описание проблемы
Четыре параметра msProducts работают и описаны в документации, но не объявлены в _build/elements/snippets.php. В сетке свойств сниппета в админке их нет, поэтому человек, который настраивает вызов через интерфейс MODX, о них не узнаёт.
| Параметр |
Читается в ms3_products.php |
В snippets.php |
includeOptions |
да |
нет |
withCurrency |
да |
нет |
usePackages |
да |
нет |
tplWrapper |
да |
нет |
Для сравнения: соседние includeThumbs и includeVendorFields объявлены. Всего в массиве 30 параметров.
Почему это стоит починить
Свойства сниппета — единственный способ увидеть его возможности, не открывая исходники. MODX показывает их в отдельной вкладке при редактировании вызова, туда же попадают описания из лексикона properties.inc.php.
Отсутствие параметра в этом списке означает три вещи:
- в админке его не предложат и не подскажут значение по умолчанию;
- описание из лексикона не показывается, даже если ключ
ms3_prop_* заведён;
- при обновлении пакета
resolver_08_snippet_properties.php его не тронет — он обходит то, что уже объявлено.
withCurrency здесь особенно обидно: он меняет вид цены на странице, и это ровно тот параметр, который ищут в интерфейсе.
Предлагаемое решение
Дописать четыре записи в массив properties сниппета msProducts в _build/elements/snippets.php, со значениями по умолчанию как в коде:
includeOptions — пусто;
withCurrency — false;
usePackages — пусто;
tplWrapper — пусто.
Ключи описаний в lexicon/{ru,en}/properties.inc.php сборщик подставит сам: он формирует desc как ms3_prop_<snake_case> — нужно только добавить сами строки лексикона.
Заодно стоит пройтись по остальным сниппетам и сверить объявленные свойства с теми, что реально читаются: эти четыре нашлись при вычитке документации, а не намеренным поиском.
Связанное
Найдено при сверке страницы snippets/msproducts с кодом — modx-pro/Docs#1085.
Описание проблемы
Четыре параметра
msProductsработают и описаны в документации, но не объявлены в_build/elements/snippets.php. В сетке свойств сниппета в админке их нет, поэтому человек, который настраивает вызов через интерфейс MODX, о них не узнаёт.ms3_products.phpsnippets.phpincludeOptionswithCurrencyusePackagestplWrapperДля сравнения: соседние
includeThumbsиincludeVendorFieldsобъявлены. Всего в массиве 30 параметров.Почему это стоит починить
Свойства сниппета — единственный способ увидеть его возможности, не открывая исходники. MODX показывает их в отдельной вкладке при редактировании вызова, туда же попадают описания из лексикона
properties.inc.php.Отсутствие параметра в этом списке означает три вещи:
ms3_prop_*заведён;resolver_08_snippet_properties.phpего не тронет — он обходит то, что уже объявлено.withCurrencyздесь особенно обидно: он меняет вид цены на странице, и это ровно тот параметр, который ищут в интерфейсе.Предлагаемое решение
Дописать четыре записи в массив
propertiesсниппетаmsProductsв_build/elements/snippets.php, со значениями по умолчанию как в коде:includeOptions— пусто;withCurrency—false;usePackages— пусто;tplWrapper— пусто.Ключи описаний в
lexicon/{ru,en}/properties.inc.phpсборщик подставит сам: он формируетdescкакms3_prop_<snake_case>— нужно только добавить сами строки лексикона.Заодно стоит пройтись по остальным сниппетам и сверить объявленные свойства с теми, что реально читаются: эти четыре нашлись при вычитке документации, а не намеренным поиском.
Связанное
Найдено при сверке страницы
snippets/msproductsс кодом — modx-pro/Docs#1085.