[JSON] Как вывести страницу в формате JSON?

Необходимо чтобы страница site.com/api возвращала JSON с данными из ресурсов. Это можно сделать через сниппет pdoResources с помощью 'return' => 'json' но необходимо чтобы выводились не все данные, а только id, pagetitle и пара tv-полей. Примерно по такому шаблону
{
"id" : "1",
"name" : "res_name",
"img" : "res_tv_img"
}, ...
Как правильно это сделать? Вот такой вариант:
(шаблон)
[
{'!pdoResources' | snippet : [
  'parents' => 2,
  'showUnpublished' => 1,
  'tpl' => 'api_item',
  'includeTVs' => 'image,console',
]}
]
(чанк)
{
 "id": "{$id}",
 "name": "{$pagetitle}",
 "img": "{$_pls['tv.image']}",
},
работает, но только если тип ресурса указан HTML, если выбирать JSON, то как-будто вообще ничего не происходит, ни ошибок в логе, ни вывода на страницу, ничего.
Подскажите, как правильно нужно это делать
Giant Dad
18 апреля 2024, 17:19
modx.pro
480
0

Получение tv поля ресурса

Пытался найти самостоятельно — не справился, прошу, выручайте!
Необходимо получить tv поля другого ресурса, вызвал сниппет pdoResources, указал includeTVs, id ресурса, все как надо, затем вывожу через [[*tv-name]] и выводит верный json массив (поле через migx сформировано), но как на синтаксисе фенома вывести, пробовал и {$tv-name} — ничего не выводит, {$_modx->resource.tv-name} обращается к текущему ресурсу, так что тоже мимо: с
Андрей
17 апреля 2024, 23:33
modx.pro
456
0

как msProductOptions проверить на пустоту?

Добрый вечер!
Вывожу список опций через msProductOptions
В чанке перед выводом опций идет свой заголовок.
Сейчас если у товара нет ни одной опции — на странице отображается только заголовок из чанка.
Как проверить наличие опций, чтобы не выводить на странице одинокий заголовок?
toPlaceholder тут похоже не работает.

Вот код чанка:
<h2>Заголовок:</h2>
<p>
  {foreach $options as $option}
{if $option.value == 1}
{$option.caption},
{/if}
{/foreach}
</p>
Вызов:
{$_modx->runSnippet('!msProductOptions@PropertySet', [
 'onlyOptions' => 'список опций через запятую',
 'tpl' => 'tpl.msOptions',
 ])}
Олег
17 апреля 2024, 18:41
modx.pro
322
0

Как сделать отложенную загрузку для скриптов яндекс карт и рекапчи 3?

Всем привет. В одном из сео-отчётов был пункт о том, что сайт типа долго загружается из-за сторонних скриптов. Чаще из-за загрузки яндекс. карт и рекапчи 3. реКапча 3 у меня встроена в форму fetchit/formit, а яндекс карты подключены через тег script.
al1ve
16 апреля 2024, 20:39
modx.pro
413
0

[modRetailCRM] - теперь бесплатный для всех.

Всем привет. Я к вам с короткой заметкой. У меня оставался единственный платный компонент modRetailCRM, продажи которого, я давно не отслеживаю, и тикеты с вопросами не получаю. В общем забыл уже о его существовании.
Николай Савин
16 апреля 2024, 20:13
modx.pro
910
+12

[miniShop2] Как таблицу товаров, сформированную через msGetOrder, разбить на отдельные таблицы по разделам товаров?

Недавно только начал знакомство с modX и fenom.
Думаю, что решение должно быть достаточно простое, но не соображу как это в fenom сделать.

Сейчас одна таблица чрез один цикл:
Шапка таблицы всех товаров
{foreach $products as $product}
Тело таблицы товаров
{/foreach}

По идее как-то надо сначала собрать товары в группы товаров с одним родителем, а потом их выводить в отдельных таблицах.

{foreach $что_то as $раздел}
    Шапка таблицы $раздел товаров
    {foreach $products as $product}
    Тело таблицы товаров раздела $раздел
    {/foreach}
{/foreach}

Не знаю понятно ли сформулировал. Может у кого в копилке решений есть?
В письме, например, группировали так товары или еще где.
Евгений Куценко
16 апреля 2024, 18:40
modx.pro
268
0

Ошибка доступа к компонентам

Добрый день. Возникла проблема при работе с компонентами modx 2.8.1. Сайт сделан на шаблоне. При открытии любого компонента выдает ошибку «Доступ запрещен». Разработчик не я, и связи с ним нет. Ограничений по правам доступа у пользователя нет. Кто-то сталкивался с такой проблемой?
pandaworks
16 апреля 2024, 09:19
modx.pro
187
0

Как получить изображение товара MS2 через action.php?

Здравствуйте!
Делаю личный кабинет на Office, но вместо стандартного сниппета истории заказов делаю аналогичные кастомные fetch-запросы к /assets/components/office/action.php для получения данных заказов.
Можете подсказать как получить URL изображения товара аналогичным образом?
Владимир
15 апреля 2024, 19:38
modx.pro
273
0

Эксперимент с Modx Extra + Docker

Решил попробовать создать сборку для локальной разработки при условии, что через год, два, три я смогу развернуть его из Git и продолжить работу, как и три года назад, без головной боли, что у меня что-то не запускается (за исключением самого Docker)))))).

В чем соль

Разработчик, спустя какое-то время после публикации в общий доступ своих шедевров, приходит к пониманию, что его нужно поддерживать. Поддерживать это значит иметь постоянную среду, которая заточена исключительно под его дополнение.

Как это возможно сделать? Варианты:

  • содержать свой сервер, на котором работает твое дополнение;
  • иметь где-то какие-то бэкапы, чтобы из них развернуть свое дополнение;
  • локально держать свою копию с дополнением;
  • устанавливать заново свое дополнение, когда требуется доработка;
  • и т.д.
Все это приводит к тому, что разработчик обязан содержать какой-то мануал, как ему через год развернуть дополнение и внести в него изменения.
Андрей Степаненко
15 апреля 2024, 10:17
modx.pro
1 186
+6

Подскажите как лучше реализовать структуру сайта

Добрый день!
Необходимо создать сайт для автосервиса под СЕО, есть несколько доменов, для каждой марки автомобиля каждый домен прикреплен к админке как отдельный контекст, внутри каждого контекста страницы с моделями автомобилей и внутри с их поколениями (Audi a5 II F5 или Audi A5 II F5 рестайлинг и тд).

Нужно на каждое поколение автомобиля добавить страницу ремонта двигателя замены клапана и тд.

Я раньше делал так что создавал ресурс в каждой модели через modx API но это довольно трудоемкий процесс
Вячеслав Варов
13 апреля 2024, 14:24
modx.pro
304
0