Налаштування 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/

Група флажків:

Параметри введення:
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 годин.