
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса


Версия: Pro (advanced-fields).
Пикер выбирает SVG из двух наборов: Lucide (ISC, 24×24) и Heroicons (MIT, 24×24). Класс вроде fa-star значением не является.
Имя иконки: строчные буквы, цифры и дефис. В инспекторе можно ввести lucide:star или объект { "set", "name" }.
IconValueResolver при выводе добавляет готовый svg. Неизвестное имя даёт пустые set, name и svg.
{
"name": "icon",
"type": "icon",
"label": "Иконка"
}Сохранённое значение:
{
"icon": { "set": "lucide", "name": "star" }
}После рендера у того же ключа появляется svg:
{
"icon": {
"set": "lucide",
"name": "star",
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" ...></svg>"
}
}svg уже HTML. Не прогоняйте его через escape.
<span class="pb-icon">{$icon.svg}</span>