В шаблоне MODX Evolution используются различные теги или иначе — переменные шаблона, которые служат для формирования контента. Теги MODX дают простой но эффективный способ включать в контент веб-страницы различные данные. При использовании тегов MODX в шаблонах, теги будут заменены на соответсвующий контент. Можно создавать собственные переменные шаблона. Эти переменные могут содержать обычный текст, html или php код.
Виды используемых тегов в MODx.
Вставляет кэшируемый вызов сниппета |
Вставляет некэшируемый вызов сниппета |
Вставляет значения системных параметров |
Вставляет значение переменной шаблона или TV-параметра |
Вставляет системную информацию |
Формирует ссылку на другой документ MODx |
Вставляет в документ содержимое чанка |
Используется для вывода какого-либо параметра в шаблонах сниппетов/модулей или для вывода результатов работы сниппета. |
MODX Implementation Part 3 — Advanced Chunks & TV’s
Системные параметры
Системные параметры выводят соответствующие системные настройки, которые можно изменить или настроить в конфигурации MODX. Например, параметр [(site_name)] отобразит название сайта. Этот параметр часто используется в заголовке страниц. Список системных параметров можно найти в таблице «(PREFIX)system_settings» где (PREFIX) — префикс базы данных.
[ (allow_duplicate_alias)] | разрешены или нет повторяющиеся псевдонимы при использовании дружественных URL |
[ (automatic_alias)] | генерируются ли псевдонимы документов на основе заголовков страниц автоматически |
[ (base_url)] или [ (site_url)] | адрес сайта |
[ (cache_default)] | документ ‘кэшируемый’ по умолчанию |
[ (captcha_words)] | слова, используемые для настройки Captcha |
[ (custom_contenttype)] | разделенный запятыми список типов содержимого, обслуживаемых MODx |
[ (default_template)] | идентификатор шаблона используемого по умолчанию для новых документов |
[ (editor_css_path)] | путь к CSS-файлу используемого визуальным редактором |
[ (emailsender)] | основной адрес электронной почты на сайте |
[ (emailsubject)] | тема письма подтверждения регистрации веб-пользователей |
[ (error_page)] | идентификатор страницы ошибки ‘404’ |
[ (etomite_charset)] или [ (modx_charset)] | кодировка сайта |
[ (fck_editor_autolang)] | указывает, установлен ли FCKeditor для автоматического определения языка |
[ (fck_editor_style)] | указывает стиль используемый в FCKeditor |
[ (fck_editor_toolbar)] | указывает на пользовательскую панель инструментов, добавленную в FCKeditor |
[ (filemanager_path)] | корневая папка для доступа файлового менеджера MODx |
[ (friendly_alias_urls)] | используются ли псевдонимы в дружественных URL |
[ (friendly_urls)] | используются ли дружественные URL |
[ (friendly_url_prefix)] | префикс для дружественных URL |
[ (friendly_url_suffix)] | суффикс для дружественных URL |
[ (manager_language)] | язык системы управления |
[ (manager_layout)] | layout for the MODx Content Manager. |
[ (manager_theme)] | шаблон системы управления |
[ (number_of_logs)] | количество записей протокола на одной странице |
[ (number_of_messages)] | количество сообщений на одной странице |
[ (number_of_results)] | количество элементов, отображаемых в списках и результатах поиска |
[ (publish_default)] | публикация новых ресурсов после создания по умолчанию |
[ (rb_base_dir)] | физический путь к папке файлов |
[ (rb_base_url)] | адрес (URL) папки файлов |
[ (reset_template)] | indicates if all templates or just documents assigned the current default_template are reset when the default template is changed in the manager. |
[ (resolve_hostnames)] | indicates if MODx will try to resolve visitors’ hostnames when they visit the site (applies to MODx internal logs). |
[ (search_default)] | новые ресурсы после создания доступны для поиска по умолчанию |
[ (server_offset_time)] | поправка (количество часов) между временем на месте вашего пребывания и на месте нахождения сервера |
[ (server_protocol)] | HTTP или HTTPS (SSL) соединение |
[ (settings_version)] | версия MODx |
[ (show_preview)] | determines if preview is shown when viewing documents in MODx Content Manager. |
[ (signupemail_message)] | сообщение, которое будет отсылаться менеджерам, когда создается учетная запись нового менеджера |
[ (site_id)] | (replaceThisText) |
[ (site_name)] | название сайта |
[ (site_start)] | идентификатор стартовой страницы |
[ (site_status)] | статус сайта online (1) или offline (0) |
[ (site_unavailable_message)] | сообщение, выводимое в случае недоступности сайта (когда выбран статус ‘Оффлайн’) или в случае возникновения ошибки. Это сообщение выводится только в том случае, когда не выбрана страница ‘Сайт недоступен’ |
[ (site_unavailable_page)] | идентификатор ресурса, который должны будут увидеть посетители, если попытаются зайти на сайт, когда он недоступен |
[ (strip_image_paths)] | используются абсолютные или относительные ссылки для изображений, файлов, анимации и т.д. |
[ (top_howmany)] | количество лучших показателей в отчетах статистики |
[ (track_visitors)] | регистрировать посещения |
[ (udperms_allowroot)] | разрешено ли пользователям создавать ресурсы в корневой папке |
[ (unauthorized_page)] | ID ресурса, который должны будут увидеть посетители, если попытаются зайти на закрытую страницу (403 – доступ запрещен) |
[ (upload_files)] | разделенный запятыми список расширений файлов, которые могут быть загружены через файловый менеджер |
[ (upload_maxsize)] | максимальный размер загружаемых файлов в байтах |
[ (use_alias_path)] | используются вложенные URL |
[ (use_captcha)] | использовать код CAPTCHA при авторизации |
[ (use_editor)] | использовать HTML-редактор |
[ (use_udperms)] | indicates if user permissions are enabled for the site. |
[ (webpwdreminder_message)] | сообщение, которое будет отсылаться веб-пользователям, когда они запрашивают напоминание пароля |
[ (websignupemail_message)] | сообщение, которое будет отсылаться веб-пользователям, когда создается учетная запись нового веб-пользователя |
[ (which_editor)] | используемый HTML-редактор |
Infinite Content Possibilities with Template Variables (TVs) in MODX Revolution
Существует возможность добавлять собственные системные параметры, плагин customSettings.
Системная информация
Следующие теги используются для отображения различной системной информации при генерации страниц сайта.
время на запросы к базе данных |
запросов к базе данных |
время на работу PHP скриптов |
общее время на генерацию страницы |
источник содержимого (база или кэш) |
размер кэша (опционально) |
Например, если вставить в код шаблона такую строку, можно получить системную информацию о размере кэша, времени запросов к базе MySQL, количестве запросов в базу, общее время генерации страницы и откуда загрузилась страница, из кэша или базы:
Mem : 14 mb, MySQL: 0.0031 s, 1 request(s), PHP: 0.0806 s, total: 0.0837 s, document from cache
Mem : [^m^], MySQL: [^qt^], [^q^] request(s), PHP: [^p^], total: [^t^], document from [^s^]
Переменные шаблона
Ниже представлен список всех существующих на данный момент переменных. Эти переменные содержат определенные поля документа, которые можно использовать в шаблонах или в качестве значения параметров сниппетов.
API: $modx->documentIdentifier;
API: $modx->getDocument(10);
TV-параметры
TV-параметры — это дополнительные переменные шаблона. Если недостаточно существующих переменных, можно создать свои собственные. Например, переменную price , которая будет содержать стоимость товара. Укажите шаблоны, которые будут использовать данную переменную. Использование TV-параметров в шаблонах аналогично основным переменным шаблона.
Пример: [*НазваниеПараметраTV*] — выводит значение параметра в документе.
API: $modx->getTemplateVar(‘МойПараметр’);
API: $modx->getTemplateVarOutput(array(‘МойПараметр’,’ЕщеПараметр’));
API: $modx->getTemplateVars(array(‘МойПараметр’,’ЕщеПараметр’), ‘*’, 11);
Тип ввода и визуальные компоненты TV-параметров
текстовое поле |
текстовое поле в несколько строк |
текстовое поле с редактором |
раскрывающийся список |
Список множественного выбора |
Переключатели |
Флажки |
Поле добавления изображения |
Поле для добавления файла |
Поле для добавления url |
Ввод чисел |
Ввод даты |
Пользовательский тип ввода |
Виджеты
Отображает таблицу в соответствии с заданными параметрами. Возможна пагинация.
Column Names | Заголовки столбцов |
Field Names | Имена полей, которые необходимо выбрать из таблицы |
Column Widths | Разделенный запятыми список ширин каждого столбца |
Column Allignments | Разделенный запятыми список выравнивания для каждого столбца. Возможные значения: left, center, right |
Column Colors | Разделенный запятыми список цветов для каждого столбца |
Column Types | Разделенный запятыми список типов столбцов для каждого столбца. Поддерживаемые типы Столбцов: Integer, Float, Currency, Date, Text, Image, Hyperlink, Checkbox and Radio |
Cell Padding | Устанавливает у таблици параметр cellpadding |
Cell Spacing | Устанавливает у таблици параметр cellspacing |
Page Size | Сколько записей отображать на странице. Установите 0, чтобы показать все записи. |
Pager Location | Место расположения пагинации, если количество записей превышает параметр Page Size |
Header Text Footer Text |
Текст, помещенный выше и ниже таблицы; может содержать HTML |
Grid Class Row Class Alt Row Class Header Class Row Group Class |
CSS класс для всей таблицы, строк, чередующихся строк, заголовков столбцов |
Grid Style Row Style Alt Row Style Header Style Row Group Style |
Встроенные CSS для всей сетки, строк, чередующихся строк, заголовков столбцов |
Пример:
Важно: переменная [+PREFIX+] содержит префикс таблиц базы данных. При необходимости скройте параметр с помощью плагина ManagerManager, чтобы его не могли редактировать.
Отображает элемент в окне браузера в заданной позиции и возвращает его с указанной скоростью в это же положение относительно окна браузера или родительского блока, при прокрутке страницы.
Атрибуты | Описание |
Offset X | Правый или левый отступ от края окна браузера или содержащего элемент блока |
Offset Y | Вверх или вниз отступ от края браузера или блока |
Width | Ширина поля. Значение пот умолчаниюю: 200px. |
Height | Высота поля. Значение по умолчанию: 30px. |
Position | Положение относительно окна браузера или блочного элемента |
Glide Speed | Как быстро блок прокручивается обратно в положение после того, как страница прокручивается вниз |
Пример:
Задай размер, положение и скорость.
Виджет предназначен для прокручивания текста, изображений или другого контента по вертикали или горизонтали. Он принимает только значения вводимых строк, в том числе стандартных HTML-элементов и форматирование.
Атрибуты | Описание |
Width | Ширина поля. Значение пот умолчаниюю: 200px. |
Height | Высота поля. Значение по умолчанию: 30px. |
Speed (1-20) | Скорость прокрутки элементов. Значение по умолчанию: 3. |
Mouse Pause | Включает/Отключает режим прокрутки при наведении курсора мыши на область. |
Transition | Устанавливает направление прокрутки по Вертикали или горизонтали. |
Пример:
Задайте размер, направление прокрутки и скорость.
Виджет предназначен для создания текстового поля с редактором. Может использоваться в форме обратной связи.
Атрибуты | Описание |
Width | Ширина поля. Значение пот умолчаниюю: 100%. |
Height | Высота поля. Значение по умолчанию: 300px. |
Editor | Текстовый Редактор для использования в поле Rich Text. Значение по умолчанию: TinyMCE |
Пример:
Создайте параметр, укажите ширину и высоту, выберите подключаемый редактор. При необходимости скройте параметр с помощью плагина ManagerManager.
Виджет предназначен для ротации элементов.
Атрибуты | Описание |
Width | Ширина поля. Значение пот умолчаниюю: 200px. |
Height | Высота поля. Значение по умолчанию: 30px. |
Delay (ms) | Количество миллисекунд до отображения следующего элемента. Значение по умолчанию: 3000. |
Message Delimiter | Символ, служащий разделителем между элементами. Значение по умолчанию: ||. |
Пример:
Создайте параметр, укажите ширину, высоту и время смены элементов. Значением параметра могут быть элементы (текст, HTML-теги), идущие через специальный разделитель: Слайд1||Слайд2||Слайд3
Атрибуты | Описание |
ID/Name | Стилевой идентификатор тега iframe |
Width | Ширина поля. Значение пот умолчаниюю: 200px. |
Height | Высота поля. Значение по умолчанию: 30px. |
Border Size | Ширина бордюра. Значение по умолчанию: 0. |
Scrollbars | Управление полосами прокрутки. |
Auto Size | Управление размером содержимого. |
Auto height | Автоматический подбор высоты. |
Auto width | Автоматический подбор ширины. |
Stretch to Fit | Автоматический подбор ширины и высоты. width = 100% и height = 100% |
Attributes | Устанавливает дополнительные атрибуты, например, onclick и т.д. |
Источником данных для TV-парметров могут быть:
Источник: i—gu.ru
Урок 2. Первоначальная настройка MODX Revolution
Планируете ли вы создавать крупный информационный портал, сайт-организации, простейшую интернет-визитку, вам по окончании процесса установки MODX в любом случае потребуется произвести базовую настройку системы.
Настроек в этой системе управления огромное количество, меньше, чем звезд на небе, но достаточно, чтобы изначально несколько растеряться. Не будем бросаться в крайности. Рассмотрим только основные системные настройки, без упоминания которых теряется весь смысл самообучения…
Первое, что нужно сделать, это избавиться от ошибки настройки системы «Каталог ядра в открытом доступе», если такое сообщение появляется. Исправляем согласно инструкции сообщения, то есть переименовываем файл ht.access, расположенный в папке core, дав ему название .htaccess.
Сделать это можно либо через FTP-клиент, либо через файловый менеджер панели управления хостинга, либо с помощью файл-менеджера административной части MODX (вкладка «Файлы» в левой части окна).
Если вы переместили папку core за корневую директорию, установив MODX при помощи расширенного пакета, третий способ вам не поможет.
Обновив окно, убедитесь, что сообщение пропало.
Дальнейшие настройки производятся в окне «Системные настройки и события». Чтобы открыть окно настроек, следует подвести курсор мыши к значку шестеренки в правом верхнем углу админ-панели и выбрать первый же пункт «Системные настройки».
Системных настроек в Revo огромное количество
Для облегчения поиска нужной настройки можно воспользоваться фильтром, отобрав нужные параметры по разделу.
Значок «+» в левой части названия настройки откроет подсказку о том, для чего данный пункт предназначен. А в поле «Значение» меняются сами параметры каждой настройки. Их, в зависимости от типа настройки, вводят или вручную, или выбирают из списка.
Основные параметры системы, которые обычно редактируются непосредственно после установки MODX
Раздел «Сайт»
- Название сайта: нужное нам наименование проекта, произвольная форма
- Сообщение о недоступности сайта: текст, который будет отображаться в режиме отключенного (неопубликованного) сайта, произвольная форма
- Публиковать по умолчанию: будет ли новый документ доступен для просмотра посетителями сразу после создания и сохранения, на ваш выбор, варианты Да/Нет
Раздел «Система и сервер»
- Отображение RSS-канала «Новости MODX»: отключаем (Нет)
- Отображение RSS-канала «Уведомления безопасности MODX»: отключаем (Нет)
Раздел «Панель управления»
- Показывать текст подсказки рядом с полем: описание пунктов меню, полезно только при знакомстве с системой, в дальнейшем можно отключать, варианты Да/Нет
- Формат даты в панели управления: можно сменить на наш, родной, d-m-Y
- Первый день недели: ставим 1, мы же не Стругацкие
Раздел «Дружественные URL» – режим ЧПУ
- Транслитерация псевдонимов: russian (для включения транслитерации дополнительно требуется установить дополнение translit)
- Суффикс контейнера: Очищаем
- Использовать дружественные URL: Да
- Строгий режим дружественных URL: Да
- Проверять на дублирование URI во всех контекстах: Да
Включив на сайте ЧПУ (режим дружественныу URL), переименуйте дополнительно ht.access в корне сайта в .htaccess, иначе при попытке перехода на страницы, отличные от главной, получите ошибку 404.
Подтверждение изменений или сохранение параметров не требуется, все происходит автоматически.
Можно дополнительно посетить раздел «Типы содержимого» (пункт меню «Содержимое») и очистить поле «Расширение файла» в параметре HTML. Теперь адрес страниц станет без расширения, то есть http://адрес_Сайта/about вместо http://адрес_Сайта/about.html.
На этом первоначальную настройку можно считать завершенной. Далее идет установка из репозиториев самых необходимых для плодотворной и удобной разработки дополнений MODX Revo.
Ненавязчивая благодарность проекту
- 1. Установка MODX
- 3. Дополнения MODX
Источник: modxinfo.ru