mmxFenom - нативная интеграция шаблонизатора

Продолжаю разработку новой вселенной дополнений для MODX и сегодня у нас на очереди шаблонизатор Fenom.

Свою известность в мире MODX этот шаблонизатор получил благодаря интеграции в pdoTools, после чего многие сниппеты стали поддерживать более удобный синтаксис и возможности расширения.

Однако, с течением времени компонент оброс огромным количеством функций и сейчас его разрабатывать очень трудно. Где-то поменяешь одно — сломаешь другое.

Да и с появлением mmxDatabase, как мне кажется, какие-то упрощённые выборки из БД просто теряют актуальность. Ведь сегодня можно в любом сниппете делать вот так:
$resources = MMX\Database\Models\Resource::query()
  ->where('published', true)
  ->select('id', 'pagetitle')
  ->get()
  ->toArray();

return print_r($resources, true);
Не хватало только шаблонизатора для подобных выборок — и теперь он тоже есть.
Василий Наумкин
02 мая 2024, 11:51
modx.pro
1
750
+20

pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage

При запуске PdoPage вылезает ошибка

. components/pdotools/model/pdotools/pdofetch.class.php : 178) [pdoTools] 
Error 42000: Expression #113 of SELECT list is not in 
GROUP BY clause and contains nonaggregated column 'mymodxbase.Total.comments' which 
is not functionally dependent on columns in GROUP BY clause; this is incompatible 
with sql_mode=only_full_group_by
Понял, что ошибка связано с изменениями в новой версии mysql
Игорь
02 мая 2024, 01:19
modx.pro
297
0

Как убрать id при синхронизации из msync?

Товары приходят с 1с, и мсинк добавляет в url адрес id товара, как убрать это?
Pandemic
01 мая 2024, 10:46
modx.pro
300
0

Msync как записать html контент, а не обработанный без тегов?

Приходит контент из 1с он там разбит допустим на строки, там внутри есть br теги, а когда приходит на сайт, то оно всё одной строкой записывается. Поле обычное «Описание» в мсинк связь такая
"Описание" ==> "поле msProduct" ==> "content"
Pandemic
29 апреля 2024, 13:40
modx.pro
343
0

Как передать переменные внутрь чанка из сниппета и заполнить с помощью 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» то ничего не покажет.
Pandemic
29 апреля 2024, 10:58
modx.pro
1
394
0

Настройка уровня вложенности ссылки в адресной строке

Здравствуйте, у меня есть ссылка такого вида:
site.ru/country/news/article-1.html

А нужно сделать вот такой вид:
site.ru/country/article-1.html

Имеется ввиду, чтобы был только самый первый родитель в адресной строке, ну и соответственно последний элемент независимо от коло-ва уровня вложенности
Как это можно реализовать?
Vladyslav
27 апреля 2024, 01:22
modx.pro
338
0

[msOptionsPrice2] Как добавить свою колонку в Модификации?

Всем здравствуйте. В общем, суть такая — по умолчанию во вкладке Модификации 6-7 стандартных столбцов — Цена, старая цена, артикул, картинка, тип и так далее.
В колонке Цена у меня указана цена за упаковку (то есть, условно, 1000 руб за упаковку и в коробе 800 пог. м.).
Мне нужно ввести новую колонку Цена за погонный метр/шт., а потом выводить её в зависимости от модификации.
К примеру, товар 1 и у него 2 типа: тип 1 — 5.60 руб за 1 пог. м., тип 2 — 15 руб за 1 пог. м.).
В документации вроде ничего такого не нашёл, либо я неправильно понял. На сайте документации нашёл только старую — docs.modx.pro/components/msoptionsprice.
al1ve
26 апреля 2024, 17:02
modx.pro
407
0

Социальная сеть

60 000
Здравствуйте, товарищи Мастера! Создал тематический блог на modx Prosvo.blog но мне стало этого мало. Теперь мне нужно добавить в него немного социальности, а именно регистрация, авторизация, личные страницы, система сообщений, сделать модуль что-то вроде сообщества. Писать на почту mobabogdan@gmail.com
baga
25 апреля 2024, 21:59
modx.pro
241
0

Как объединить два modx?

Как объединить два modx example.com sub.example.com?

Установил на оба сайта, поменял в sub.example.com адреса базы данных на основной. Нашел в документации пост о настройках контекста, отредактировал за исключением последнего пункта(я так понимаю документация не соответствует нынешней версии).

И результат готов на половину, на sub.example.com всё отображается кроме стилей и картинок. А на example.com в менеджере не подтягивается на «2web» стартовая страница. А когда создаю новую, то она идет по стандартному адресу родителя: example.com/page.
Pavel
25 апреля 2024, 21:02
modx.pro
530
0

[miniShop2] Одна и та же сортировка работает в [[!msGetOrder]] и не работает в [[!msCart]]

Сломал голову. Куда думать дальше?

Вот тут все сортирует…
[[!msGetOrder? 
    &id=`".$orderID."` 
    &tpl=`my.tpl.msGetOrder` 
    &sortby=`FIELD(msProduct.parent, 9,8,11,10,96,163,166,152)`]]

А вот тут не хочет…
[[!msCart?	
    &tpl=`my.tpl.msCart`
    &includeThumbs=`catalog`
    &sortby=`FIELD(msProduct.parent, 9,8,11,10,96,163,166,152)`]]

Шаблоны ± одинаковые и, насколько я понимаю, уже больше обрабатывают данные взятые с учетом сортировки.
Евгений Куценко
25 апреля 2024, 16:33
modx.pro
237
0