Настройка TV-параметров (Template Variables) MODX

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка TV-параметров (Template Variables) MODX
Простая
~1 рабочий день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Настройка TV-параметров (Template Variables) MODX

TV-параметры — дополнительные поля ресурсов MODX. Позволяют добавить произвольные данные к страницам: изображения, цены, даты, выпадающие списки, галереи, текстовые блоки. Каждый TV привязывается к одному или нескольким шаблонам.

Типы TV и их применение

Тип Применение
Text Краткое текстовое поле
Textarea Многострочный текст
RichText WYSIWYG-редактор
Number Числовое поле (цена, количество)
Date Дата с календарём
Image Выбор изображения из медиабраузера
File Загрузка или выбор файла
URL Ссылка
Email Email с валидацией
Checkbox Один флажок (да/нет)
Listbox (single) Выпадающий список
Listbox (multi) Множественный выбор
Radio Options Переключатели
Tag Теги через запятую
autotag Автодополнение тегов из существующих
migxdb Сложная структура (MIGX)

Создание TV через менеджер

Элементы → Переменные шаблонов → Создать:

  • Имя: product_price (только латиница, нижнее подчёркивание)
  • Подпись: Цена (отображается в редакторе)
  • Тип ввода: Number
  • Значение по умолчанию: 0
  • Шаблоны: выбрать шаблоны, где поле должно отображаться
  • Вкладка "Доступ": порядок в интерфейсе, группа полей

Типы ввода с настройками

Listbox (single) — Dropdown:

Тип ввода: Listbox (Single)
Параметры ввода:
Color==Цвет||Size==Размер||Weight==Вес

Или из БД:
@SELECT `id`, `name` FROM `site_content` WHERE `template`=5 AND `published`=1

Image с ограничением медиабраузера:

Тип ввода: Image
Параметры ввода:
[[++base_url]]assets/images/products/

Checkbox группа:

Параметры ввода:
monday==Понедельник||tuesday==Вторник||wednesday==Среда||thursday==Четверг||friday==Пятница

Тип вывода: delim   (значения через ||)

Вывод TV в шаблоне

[[- Базовый вывод ]]
[[*product_price]]

[[- С форматированием ]]
[[*product_price:number_format=`0,.`, ` `]] ₽

[[- Условный вывод ]]
[[*product_image:notempty=`<img src="[[*product_image]]" alt="[[*pagetitle]]">`]]

[[- С phpthumb ]]
[[*product_image:phpthumb=`w=800,h=600,zc=1`]]

[[- Ссылка на файл ]]
[[*product_brochure:notempty=`<a href="[[*product_brochure]]" class="btn">Скачать брошюру</a>`]]

Вывод TV через сниппет

// Получить TV программно
$resource = $modx->getObject('modResource', $resourceId);
$price = $resource->getTVValue('product_price');
$image = $resource->getTVValue('product_image');

// Установить TV программно
$resource->setTVValue('product_price', 1500);

Организация TV через FastTab

FastTab позволяет группировать TV по вкладкам в редакторе ресурса:

Вкладка "SEO": seo_title, seo_description, seo_robots
Вкладка "Товар": product_price, product_sku, product_weight
Вкладка "Галерея": gallery (MIGX)
Вкладка "Контент": hero_image, hero_text, features_json

Проверка заполненности TV

// В сниппете — проверить заполнение перед выводом
$tvValue = $resource->getTVValue('important_field');
if (empty($tvValue)) {
    $modx->log(modX::LOG_LEVEL_WARN, "TV important_field empty for resource {$resource->id}");
}

Сроки

Создание и настройка 10–20 TV для проекта с привязкой к шаблонам и группировкой через FastTab — 3–5 часов.