mmxFenom - нативная интеграция шаблонизатора
Продолжаю разработку новой вселенной дополнений для MODX и сегодня у нас на очереди шаблонизатор Fenom.
Свою известность в мире MODX этот шаблонизатор получил благодаря интеграции в pdoTools, после чего многие сниппеты стали поддерживать более удобный синтаксис и возможности расширения.
Однако, с течением времени компонент оброс огромным количеством функций и сейчас его разрабатывать очень трудно. Где-то поменяешь одно — сломаешь другое.
Да и с появлением mmxDatabase, как мне кажется, какие-то упрощённые выборки из БД просто теряют актуальность. Ведь сегодня можно в любом сниппете делать вот так:
Свою известность в мире MODX этот шаблонизатор получил благодаря интеграции в pdoTools, после чего многие сниппеты стали поддерживать более удобный синтаксис и возможности расширения.
Однако, с течением времени компонент оброс огромным количеством функций и сейчас его разрабатывать очень трудно. Где-то поменяешь одно — сломаешь другое.
Да и с появлением mmxDatabase, как мне кажется, какие-то упрощённые выборки из БД просто теряют актуальность. Ведь сегодня можно в любом сниппете делать вот так:
$resources = MMX\Database\Models\Resource::query()
->where('published', true)
->select('id', 'pagetitle')
->get()
->toArray();
return print_r($resources, true);
Не хватало только шаблонизатора для подобных выборок — и теперь он тоже есть. [msOptionsPrice2] Как добавить свою колонку в Модификации?
Всем здравствуйте. В общем, суть такая — по умолчанию во вкладке Модификации 6-7 стандартных столбцов — Цена, старая цена, артикул, картинка, тип и так далее.
В колонке Цена у меня указана цена за упаковку (то есть, условно, 1000 руб за упаковку и в коробе 800 пог. м.).
Мне нужно ввести новую колонку Цена за погонный метр/шт., а потом выводить её в зависимости от модификации.
К примеру, товар 1 и у него 2 типа: тип 1 — 5.60 руб за 1 пог. м., тип 2 — 15 руб за 1 пог. м.).
В документации вроде ничего такого не нашёл, либо я неправильно понял. На сайте документации нашёл только старую — docs.modx.pro/components/msoptionsprice.
В колонке Цена у меня указана цена за упаковку (то есть, условно, 1000 руб за упаковку и в коробе 800 пог. м.).
Мне нужно ввести новую колонку Цена за погонный метр/шт., а потом выводить её в зависимости от модификации.
К примеру, товар 1 и у него 2 типа: тип 1 — 5.60 руб за 1 пог. м., тип 2 — 15 руб за 1 пог. м.).
В документации вроде ничего такого не нашёл, либо я неправильно понял. На сайте документации нашёл только старую — docs.modx.pro/components/msoptionsprice.
Получение tv поля ресурса
Пытался найти самостоятельно — не справился, прошу, выручайте!
Необходимо получить tv поля другого ресурса, вызвал сниппет pdoResources, указал includeTVs, id ресурса, все как надо, затем вывожу через [[*tv-name]] и выводит верный json массив (поле через migx сформировано), но как на синтаксисе фенома вывести, пробовал и {$tv-name} — ничего не выводит, {$_modx->resource.tv-name} обращается к текущему ресурсу, так что тоже мимо: с
Необходимо получить tv поля другого ресурса, вызвал сниппет pdoResources, указал includeTVs, id ресурса, все как надо, затем вывожу через [[*tv-name]] и выводит верный json массив (поле через migx сформировано), но как на синтаксисе фенома вывести, пробовал и {$tv-name} — ничего не выводит, {$_modx->resource.tv-name} обращается к текущему ресурсу, так что тоже мимо: с
[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, то как-будто вообще ничего не происходит, ни ошибок в логе, ни вывода на страницу, ничего.Подскажите, как правильно нужно это делать
Настройка уровня вложенности ссылки в адресной строке
Здравствуйте, у меня есть ссылка такого вида:
site.ru/country/news/article-1.html
А нужно сделать вот такой вид:
site.ru/country/article-1.html
Имеется ввиду, чтобы был только самый первый родитель в адресной строке, ну и соответственно последний элемент независимо от коло-ва уровня вложенности
Как это можно реализовать?
site.ru/country/news/article-1.html
А нужно сделать вот такой вид:
site.ru/country/article-1.html
Имеется ввиду, чтобы был только самый первый родитель в адресной строке, ну и соответственно последний элемент независимо от коло-ва уровня вложенности
Как это можно реализовать?
Подскажите как лучше реализовать структуру сайта
Добрый день!
Необходимо создать сайт для автосервиса под СЕО, есть несколько доменов, для каждой марки автомобиля каждый домен прикреплен к админке как отдельный контекст, внутри каждого контекста страницы с моделями автомобилей и внутри с их поколениями (Audi a5 II F5 или Audi A5 II F5 рестайлинг и тд).
Нужно на каждое поколение автомобиля добавить страницу ремонта двигателя замены клапана и тд.
Я раньше делал так что создавал ресурс в каждой модели через modx API но это довольно трудоемкий процесс
Необходимо создать сайт для автосервиса под СЕО, есть несколько доменов, для каждой марки автомобиля каждый домен прикреплен к админке как отдельный контекст, внутри каждого контекста страницы с моделями автомобилей и внутри с их поколениями (Audi a5 II F5 или Audi A5 II F5 рестайлинг и тд).
Нужно на каждое поколение автомобиля добавить страницу ремонта двигателя замены клапана и тд.
Я раньше делал так что создавал ресурс в каждой модели через modx API но это довольно трудоемкий процесс
как msProductOptions проверить на пустоту?
Добрый вечер!
Вывожу список опций через msProductOptions
В чанке перед выводом опций идет свой заголовок.
Сейчас если у товара нет ни одной опции — на странице отображается только заголовок из чанка.
Как проверить наличие опций, чтобы не выводить на странице одинокий заголовок?
toPlaceholder тут похоже не работает.
Вот код чанка:
Вывожу список опций через 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',
])}
Разработка сайта на modx + интеграция с 1С
45 100 000
Нужно разработать сайт
Около 500 товаров
Главная
Каталог (с фильтрами, сортировкой, подкатегориями товаров)
Карточка товара (фото, характеристики, описание, видео с ютуба, выбор количества, кнопка добавления в корзину)
Контакты
Где купить?
Как заказать?
Оплата и доставка
О компании
Часто задаваемые вопросы
Корзина и оформление заказа
поиск по сайту, настройка форм обратной связи, Сертификат SSL (1 год)
Фавикон- иконка для сайта
1С предприятие 8.2(8.2.19.130)
Управление торговлей редакция 10.3(10.3.47.3)
Связаться телеграм @arhipovsv
Около 500 товаров
Главная
Каталог (с фильтрами, сортировкой, подкатегориями товаров)
Карточка товара (фото, характеристики, описание, видео с ютуба, выбор количества, кнопка добавления в корзину)
Контакты
Где купить?
Как заказать?
Оплата и доставка
О компании
Часто задаваемые вопросы
Корзина и оформление заказа
поиск по сайту, настройка форм обратной связи, Сертификат SSL (1 год)
Фавикон- иконка для сайта
1С предприятие 8.2(8.2.19.130)
Управление торговлей редакция 10.3(10.3.47.3)
Связаться телеграм @arhipovsv
Как получить изображение товара MS2 через action.php?
Здравствуйте!
Делаю личный кабинет на Office, но вместо стандартного сниппета истории заказов делаю аналогичные кастомные fetch-запросы к /assets/components/office/action.php для получения данных заказов.
Можете подсказать как получить URL изображения товара аналогичным образом?
Делаю личный кабинет на Office, но вместо стандартного сниппета истории заказов делаю аналогичные кастомные fetch-запросы к /assets/components/office/action.php для получения данных заказов.
Можете подсказать как получить URL изображения товара аналогичным образом?
Как передать переменные внутрь чанка из сниппета и заполнить с помощью fenom?
Есть снипет, в нём есть переменные, их нужно передать в чанк, где они подставятся, и вернётся отрендеренный сам чанк. Пытался так.
$pdoTools = $modx->getParser()->pdoTools;
$fenom = $pdoTools->getFenom();
$data['count_products'] = count($data['products']);
$fenom->assignAll([
'num' => $data.num,
'date' => $data.date,
'products' => $data.products,
]);
$renderedHtml = $pdoTools->getChunk('pdfHtmlTemplate');
Ошибки нет, просто не срабатывает после строчки назначения переменных, а если вывести переменные «pdoTools,fenom» то ничего не покажет.