Как в шаблоне pdoPage прописать условие вывода кода при заполненном TV?

Есть вывод товаров.
[[!pdoPage?
            &element=`msProducts`
            &tpl=`item`
            &processTVs=`1`
            &tvPrefix=`tv.`
            &includeTVs=`tovar_id`
        ]]
Нужно чтобы кусок кода отображался только, если дополнительное поле tovar_id заполнено. Без добавления условий код работает, но отображается во всех товарах каталога
<a href="[[~[[+tv.tovar_id]]]]">Текст</a>
Пробовал по аналогии со свойствами, покопавшись немного в документации, но оно не работает. Как правильно написать?
{if $_modx->resource.tovar_id }
  <a href="[[~[[+tv.tovar_id]]]]">Текст</a>
    {else}
    {/if}
Nijest
28 апреля 2021, 17:45
modx.pro
725
0

msOrderFields. Управление полями заказа.

Всем привет!

Компонент предназначен для управления полями заказа и вкладками. Можно управлять как стандартными полями так и создавать новые. Подробнее под катом.


Aleksandr Huz
28 апреля 2021, 12:42
modx.pro
2
4 101
+16

AjaxSnippet заставить работать при нажатии на кнопку.

Привет всем. В 2 словах.
Есть пару кнопок на сайте. Как сделать так чтобы при нажатии на них определенных AjaxSnippet перезапускался.
Сергій
27 апреля 2021, 23:06
modx.pro
1 049
0

Конфигуратор на MODX

Привет! Как на MODX можно сделать такой пошаговой конфигуратор
Ссылка на пример или кто может помочь с разработкой и сколько это будет стоить
Kazbek
27 апреля 2021, 21:52
modx.pro
940
0

Как сделать, что при редактировании комментария Tickets в админке, не удалялись его доп.поля?

Здравствуйте!

Сделал как тут написал Василий.
Добавил доп.поле city к комментариям. Все выводится. Но есть одна загвоздка:

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

Подскажите как этого можно избежать? Я понимаю, что properties содержит json-массив со значениями всех полей, а как сделать например вывод этого кастомного поля по одному ключу — например поле email?
Lori
27 апреля 2021, 19:48
modx.pro
520
0

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

Добрый день.
Подскажите, кто может:
Как значение TV родителя передать во все его дочерние ресурсы?
Денис Мижеревич
27 апреля 2021, 17:20
modx.pro
818
0

Интерфейс бана пользователя

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



Ниже представлен код, куски которого когда-то писали коллеги по данному сайту и чатику в телеграме.
А я уже дописал чего не хватало и собрал все в кучку.
Евгений Webinmd
27 апреля 2021, 10:49
modx.pro
3
1 400
+15

Отдаем модные форматы картинок в webp и avif напрямую через nginx и apache в обход разметки



Всем привет!
Я тут работал над одним проектом, в котором очень много контентной и интерфейсной графики, десятки тысяч изображений и, конечно, возник вопрос оптимизации сайта, чтобы удовлетворить требования поисковых систем.
Энтузиазма добавили, появившиеся относительно недавно у гугла, так называемые Core Web Vitals.
Кто не в курсе это пачка технических показателей качества сайта, которые скоро будут включены в алгоритм ранжирования и все тормознутые сайты из-за них, типа, покатятся вниз.
Ну в общем, встала задача оптимизировать картинки, а также сделать так, чтобы не пришлось переписывать кучу html кода, чтобы эти картинки туда вставить.
Семён Кудрявцев
26 апреля 2021, 23:44
modx.pro
19
9 009
+21

MixedImage

Здравствуйте,
Написал сниппет который будет подставлять tv вендора в адрес картинки.
Но не как не получается получить ID страници.

$tmplvarid = 20;
$id = 200; // Подскажите как получить id  в админке?
$idRes = $modx->getObject('modResource',array('id' => $id));
$tv = $modx->getObject('modTemplateVarResource', array('contentid' => $id,'tmplvarid'=>$tmplvarid));
$tvOutput = $tv->get('value');
$tvId = str_replace('#','',$tvOutput);
$tvName = $modx->getObject('modResource', array('id' => $tvId));
$tvNameOut = $tvName->get('alias');
$output = $idRes->get('alias');
$out = $tvNameOut.'/'.$output.'/';
return $out;
Побывал так:
$id = $modx->resource->id;
$id = $modx->resource->get('id')
$id = $_GET['id'];

Ничего не выходит. Подскажите как получить id в админке?
Алексей
26 апреля 2021, 16:25
modx.pro
795
0

Генерируем аватар с первой буквой пользователя

Данную задачу я встречаю впервые, поэтому возможно упускаю какую-то инструкцию.
Используется библиотека Letter Avatar



Эту библиотеку можно скачать с гитхаба и подключить, либо через composer
Я использовал composer

Необходимо создать плагин setUserAvatar на событие OnUserSave
Евгений Webinmd
26 апреля 2021, 02:28
modx.pro
3
2 437
+6