Перейти к содержимому

Где в modx хранятся шаблоны

  • автор:

Шаблоны

Шаблоны в MODx обычно содержат теги HTML-разметки, которые определяют макет и внешний вид либо вашего сайта, либо ваших страниц, в зависимости от выбранного шаблона.

Дата публикации
27 Мая 2019
Дата изменения
4 Июля 2020
Уникальных просмотров

Оглавление

  • Что такое шаблон в MODx
  • Создание шаблона
    • Использование полей ресурса в шаблоне
    • Дополнительные поля (TV) в шаблонах

    Что такое шаблон в MODx?

    Шаблоны в MODx обычно содержат теги HTML-разметки, которые определяют макет и внешний вид либо вашего сайта полностью, либо страниц сайта отдельно, в зависимости от выбранного шаблона. Когда запрашивается документ MODx загружает его шаблон. Затем парсер MODx находит все плейсхолдеры в шаблоне и заменяет их соответствующими значениями из документа перед отправкой готовой страницы в браузер пользователя.

    Ресурсы могут использовать только один шаблон за раз, однако можно переключать шаблоны в любое время. Делать это можно как вручную, так и автоматически, написав, например плагин. Простой пример скрипта, который найдет все ресурсы с шаблоном id=1 и заменит на шаблон id=2 .

    getCollection('modResource',array('template' => $oldTemplate)); foreach ($resources as $res) { if ($res->get('template') == $oldTemplate) { $res->set('template', $newTemplate); $res->save(); } } // Clear cache $modx->cacheManager->clearCache(array( '/resource/' )); echo 'Всего ресурсов изменено: ' . count($resources). '
    '; echo 'Время выполнения скрипта: ' . round(microtime(true) - $start, 4).' сек.';

    Создание шаблона

    Чтобы создать шаблон, разверните вкладку дерева «Элементы» и щелкните правой кнопкой мыши на раздел «Шаблоны». Выберите «Быстро создать шаблон» или «Новый шаблон», затем вставьте свой HTML-код в текстовое поле «Код шаблона».

    Простой пример шаблона MODx:

       [[*pagetitle]]  

    [[*longtitle]]

    Идентификатор страницы: [[*id]]
    Анонс: [[*introtext]]
    Menu Title: [[*menutitle]]
    [[*content]]

    Обратите внимание на важный тег [[*content]] . Этот тег сообщает MODx, куда поместить содержимое ресурса.

    MODx по умолчанию хранит шаблоны в своей базе данных, если вы используете версию до 2.2.x, это ваш единственный вариант. В MODX 2.2.x и новее, у вас есть возможность сохранять шаблоны в виде статических файлов с использованием Media Sources.

    Помните, что простое создание шаблона не означает, что он автоматически будет использоваться на страницах сайта. Вы должны отредактировать каждый ресурс и указать ему, какой шаблон он будет использовать. Каждая страница в MODx имеет один шаблон, который она использует для форматирования и вывода данных. После того, как вы создали один или несколько шаблонов, вы можете отредактировать любой ресурс и выбрать из раскрывающегося списка шаблон.

    Шаблоны могут содержать любые теги, в том числе Дополнительные поля (TV), Чанки, Сниппеты и другие.

    Использование полей ресурса в шаблоне

    Как вы заметили из примера кода шаблона выше, на поля ресурса можно ссылаться, используя синтаксис [[*fieldName]] . Список доступных полей ресурсов можно найти здесь. Например, если мы хотим вывести заголовок текущего ресурса в теге , мы просто сделаем так:

    [[*pagetitle]]

    Вы также можете вывести содержимое текущего ресурса, используя тег [[*content]] :

     [[*content]] 

    Это обычные теги MODx и к ним могут быть применены фильтры модификаторы. Например, допустим, мы хотим отобразить поле «introtext» на правой панели, но убрать из него любые HTML-теги и отобразить только первые 400 символов — и, если это поле длиннее, добавить многоточие «…»:

     
    [[*introtext:stripTags:ellipsis=`400`]]

    Дополнительные поля (TV) в шаблонах

    Вы можете иметь бесконечное количество дополнительных полей в шаблоне. Скажем, вам нужно поле для фотографий в ваших ресурсах в шаблоне «BiographyPages». Просто — просто создайте TV, назовите его «bioPhoto», присвойте ему тип ввода и вывода «image» и назначьте его шаблону «BiographyPages». Затем вы увидите этот TV в любом ресурсе, который использует этот шаблон.

    Затем вы можете ссылаться на ваш TV «bioPhoto» в вашем контенте с тем же синтаксисом тега, что и в поле ресурса:

     
    [[*bioPhoto]]

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

    Благодарность автору

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

    Один из самых популярных способов поблагодарить автора, воспользоваться сервисом Яндекс.Деньги.

    Быстрый путь к файлам шаблона ?

    Здравствуйте уважаемые пользователи портала modx.pro, я новичок в modx и мой опыт использования cmf modx revo составляет всего 2 дня.

    Ситуация такая, у меня файлы (css, js, img и другие) располагаются в директории /assets/templates/ и получается так что в шаблоне приходиться писать длинные пути, например /assets/templates/css/style.css

    Есть ли какое то встроенное решение в modx revo что бы можно было не прописывать пути /assets/templates/ до файлов шаблона, так что бы они были где-то глобально прописаны.

    Я сделал вот такой вот сниппет с именем host_tm.

    Особенности использования шаблонов MODX

    В системе управления сайтом MODX шаблон представляет собой заготовку, на основе которой выполняется вывод ресурсов. К одному шаблону может быть привязано несколько ресурсов, общее количество шаблонов не имеет ограничений.

    Создание шаблона

    В левой части панели управления находится колонка, переключите её на вкладку «Элементы». Здесь вы можете увидеть строку «Шаблоны», если нажать на + рядом с ней, отобразятся все доступные шаблоны. Шаблоны в MODXВверху находятся кнопки для создания новых элементов. Наведите курсор мыши на самую левую из них, высветится надпись «Новый Шаблон». Кликните по иконке и открывается редактор. Создание шаблона в MODXЗаполните все поля, обязательно поле «Код шаблона (HTML)». Обратите внимание на вкладку «Дополнительные поля (TV)». Дополнительные поля представляют собой куски кода, которые можно использовать в шаблоне. Чтобы не писать одинаковый код в каждом шаблоне, можно прописать его в элементе «Дополнительные поля».

    Чтобы отредактировать шаблон, нужно в колонке «Элементы» нажать на шаблон, который нужно отредактировать. Не забывайте нажимать кнопку «Сохранить», чтобы сделанные изменения были приняты.

    Назначение шаблона ресурсам

    Привязка документа к шаблону в MODX

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

    1. в левой колонке переключиться на вкладку «Ресурсы»;
    2. нажать правой кнопкой мыши на ресурс, выбрать в открывшемся меню пункт «Редактировать»;
    3. выбрать шаблон, необходимый для отображения данного ресурса.

    Чтобы настройки были запомнены системой, нажмите «Сохранить». Изменить шаблон для ресурса можно в любой момент.

    Cмотрите другие статьи:

    Шаблоны

    Support the team building MODX with a monthly donation.

    The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

    • Jens Wittmann – Gestaltung & Entwicklung
    • Dannevang Digital
    • Digital Penguin
    • deJaya
    • Following Sea
    • CrewMark
    • Anton Tarasov
    • eydolan
    • Raffy
    • Murray Wood
    • Lefthandmedia
    • YJ

    $396 per month—let’s make that $500!

    Что такое шаблоны?¶

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

    Думайте о шаблоне как о доме. Ваши Ресурсы содержание, то есть человек. Человек может иметь много разных домов, но одновременно жить только в одном доме.

    Ресурсы могут использовать только один Шаблон за раз, однако Ресурс может переключать Шаблоны в любое время, точно так же, как человек может перемещаться из дома в дом в любое время. Шаблон, как и дом, также меняет основной способ отображения страницы. Шаблон обычно содержит верхний и нижний колонтитулы страницы — и/или боковую панель, панель навигации и т.д.

    Использование¶

    Чтобы создать шаблон, разверните часть дерева «Элементы» и щелкните правой кнопкой мыши «Шаблоны». Выберите «Создать новый шаблон», затем вставьте свой HTML-код в текстовое поле «Код шаблона». Вы можете скопировать и вставить текст ниже, чтобы начать работу с очень простым шаблоном:

      [[*pagetitle]]  

    [[*longtitle]]

    Идентификатор страницы: [[*id]]
    Вступительный текст (резюме): [[*introtext]]
    Название меню: [[*menutitle]]
    [[*content]]

    Обратите внимание на важный тег [[*content]] — этот тег сообщает MODX, куда поместить содержимое ресурса.

    MODX по умолчанию хранит шаблоны в своей базе данных, если вы используете версию до 2.2.x, это ваш единственный вариант. В MODX 2.2.x и новее у вас есть возможность сохранять шаблоны в виде статических файлов с использованием Media Sources.

    Помните, что просто создание шаблона не означает, что он автоматически используется: вы должны редактировать каждый Ресурс и указать, какой шаблон он использует. Это отличается от некоторых систем управления контентом, где каждый шаблон имеет одну или несколько страниц. Каждая страница MODX имеет один шаблон, который используется для форматирования вывода.

    После того, как вы создали один или несколько шаблонов, вы можете отредактировать любой ресурс и выбрать шаблон для него, выбрав один из раскрывающегося списка «Использование шаблона».

    Шаблоны могут содержать любые теги, в том числе Переменные шаблона TV, Чанки, Сниппеты, и другие.

    Использование полей ресурса в шаблоне¶

    Как вы заметили из нашего примера кода шаблона выше, на поля ресурса можно ссылаться с помощью синтаксиса [[*fieldName]] . Список доступных полей ресурсов можно найти здесь. Например, если мы хотим показать заголовок текущего ресурса в нашем теге , мы просто сделаем это:

    [[*pagetitle]] 

    Вы также можете разместить содержимое текущего ресурса, используя тег «content»:

     [[*content]] 

    Tэти теги похожи на обычные теги MODX в том смысле, что они могут иметь выходные фильтры применяемые к ним. Например, допустим, что мы хотим отобразить поле «introtext» на правой панели навигации, но убрать из него любые HTML-теги и отобразить только первые 400 символов — и, если длиннее, добавить многоточие (. ):

     
    [[*introtext:stripTags:ellipsis=`400`]]

    Переменные шаблона в шаблонах¶

    Если шаблоны похожи на дом, подумайте о шаблонных переменных (TV) как комнаты в этом доме. Вы можете иметь бесконечное количество TV в шаблоне: просто подумайте об этом, как о добавлении новых комнат в дом.

    Переменные шаблона TV позволяют вам иметь настраиваемые поля для любого ресурса с указанным шаблоном. Скажем, вам нужно поле для фотографий в ваших ресурсах в шаблоне «BiographyPages». Просто — просто создайте TV, назовите его «bioPhoto», присвойте ему тип ввода и вывода «image» и назначьте его шаблону «BiographyPages». Затем вы увидите TV в любом ресурсе, который использует этот шаблон.

    Затем вы можете ссылаться на ваш TV «bioPhoto» в вашем контенте с тем же синтаксисом тега, что и в поле ресурса:

     
    [[*bioPhoto]]

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

    Смотрите также¶

    • Синтаксис тегов
    • Переменные шаблона

    Support the team building MODX with a monthly donation.

    The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

    • Jens Wittmann – Gestaltung & Entwicklung
    • Dannevang Digital
    • Digital Penguin
    • deJaya
    • Following Sea
    • CrewMark
    • Anton Tarasov
    • eydolan
    • Raffy
    • Murray Wood
    • Lefthandmedia
    • YJ

    $396 per month—let’s make that $500!

    • Улучшить эту страницу
    • Сообщить о проблеме на этой странице

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вывод из запоя в стационаре в Самаре