Modx content: Работа с контекстами в MODX
Работа с контекстами в MODX
Пройти базовый Курс по MODX
Привет, друзья!
Продолжаем изучать MODX Revolution. Сегодня мы поговорим об основополагающем принципе работы системы, в основе которой лежит понятие «контекст». С точки зрения MODX, контекст – это отдельный сайт, и при установке системы нам уже доступны 2 контекста. Чтобы это проверить, идем в настройки -> пункт меню -> «контексты», и видим, что в списке уже установлено 2 контекста. Первый контекст mgr – это контекст самой админки (т.е., админка воспринимается как отдельный сайт со своими настройками, со своими страницами). Второй контекст – контекст веб – это front-end часть сайта, который мы создаем для пользователя.
Что дает контекст?
Работа с контекстами позволяет нам создавать на одной установке MODX мультисайтовую и мультиязычную структуру проектов. С помощью кнопки «создать новый контекст» можно создавать отдельные сайты на одном движке. Увидеть, где располагаются контексты и их содержимое можно в левом сайт-баре, во вкладке «ресурсы». Здесь есть выпадающий список с иконкой планеты, где находятся ресурсы, странички этого контекста. Сейчас создадим еще один контекст, в «ключе контекста» введем, допустим, msk, в остальные поля не будем ничего вписывать, пусть все будет msk (если поле «Имя» не заполнено, оно автоматически скопируется из «ключа контекста»). Ура, мы создали новый контекст! Вы можете обновить страницу и увидеть, что появился еще один выпадающий список с иконкой планеты.
Создадим для него собственную страницу, допустим: «Привет, Москва» – публикуем ее, и получается вроде как два сайта – веб-сайт со своей главной страницей и контекст «msk» со своей страницей.
Два сайта в одной админке
Чтобы двум сайтам работать на одной установке, нужно провести ряд процедур:
Во-первых, нам нужно настроить контекст. Настройку можно произвести прямо из левого сайт-бара: правая кнопка мыши -> «редактировать», после чего мы попадаем в настройку контекста. Либо еще один вариант: основные настройки –> контексты -> выбираем контекст, который мы создали –> правая кнопка мыши –> редактировать –> в итоге попадаем на ту же самую страницу. Переходим на вкладку «настройки контекста». Здесь нужно создать четыре ключевых параметра, отвечающих за функциональность контекста.
1 параметр – base_url, отвечающий за базовый путь. Пишем base_url, и выставляем его значение – «слэш» / (то есть «от корня»).
Следующий параметр – это site_url (через нижнее подчеркивание!). Это полный url сайта с учетом протокола, то есть пишем http, допустим у нас будет сайт МСК, и создадим его как поддомен основного домена: http://msk.project.loc/, в конце обязательно нужно поставить слэш.
Следующий параметр – http хост. Пишем «http_host» с нижним подчеркиванием. Здесь указываем такой же поддомен, только без учета протокола (то есть, пишем «msk.project.lock»).
И последний параметр – необязательный, но желательный – это стартовая страница контекста – site_start. Она выставляется по идентификатору ресурса. Во вкладке «ресурсы» видно, что ресурс msk имеет идентификатор 8, поэтому в поле «Значение» ставим восьмерку, чтобы «msk» стала главной страницей контекста. Сохраняем все 4 параметра и их настройки.
Далее нужно установить компонент, который будет перехватывать запросы пользователя и отдавать им соответствующий контекст. Идем в приложения –> установщик –> загрузить дополнение. Существует два основных дополнения, которые выполняют нужную нам функцию – это contexRouter и X-Routing, загружаем оба. Они выполняют практически одну и ту же работу с небольшими отличиями, поэтому ставить можно любой из них. Итак, установили систему, и больше никаких дополнительных настроек с этим контекстом производить не надо, он уже перехватывает запросы и отдает соответствующий контекст.
Осталось правильно настроить веб-сервер. Так как мы создавали поддомен к основному домену, то находим файловую структуру веб-сервера, ищем проект project.loc и создаем еще один msk.project.loc, то есть создаем пустую папку, она является своеобразным поддоменом.
Работает? Работает!
Перезапускаем веб-сервис, чтобы он определил новый поддомен. Дальше идем в настройки или заходим во вкладку алиаса, чтобы привязать наш поддомен МСК, msk.project.loc к основному домену, то есть домену project.loc. Добавляем алиас, сохраняем, сервер перезапускается – ура! Все основные настройки сделаны. Возвращаемся в админку, запускаем страницу и смотрим: теперь в адресной строке запускается сайт на поддомене MSK.project.loc – и вот открылась главная страница сайта «Привет, Москва». Используется то же самое оформление, те же самые шаблоны. Таким образом можно создавать неограниченное количество контекстов и реализовывать мультиязычную или мультисайтовую структуру проекта. Где это может потребоваться? Например, у вас есть интернет-магазин, который работает по всей России, и вы хотели бы создать на поддоменах разбивку по регионам. И у каждого региона будут свои контентные страницы, свой каталог товаров, свои специальные предложения. Для подобных целей работа с контекстом вполне подойдет. Преимущества здесь очевидные: у вас единый командный центр, вы управляете всеми сайтами из одной админки; а также, если выходит какое-либо обновление компонентов или ядра системы, то достаточно обновить всего лишь один движок – и все остальные сайты получат это обновление автоматом.
Вот и все, что я хотел рассказать о контекстах, спасибо большое за внимание и до новых встреч!
MODX Revolution дополнение Context Router. Несколько сайтов на одной установке MODX Revolution
В этом обзоре мы поговорим о ContextRouter дополнение, с помощью которого можно создать несколько сайтов или поддоменов на одной MODX установке.
Прежде чем мы начнем у вас уже есть адрес вашего домена или поддомена, указывающих на ваш MODX установки в панели управления, ContextRouter позаботится об остальном.
Для начала скачайте и установите ContextRouter через менеджер пакетов MODX. Как только установка будет сделана, вы будете готовы начать использовать его. Как мы можем его использовать? Легко, сначала мы должны создать новый контекст. Наведите указатель мыши на Система в меню, а затем нажмите на контексты раскрывающегося меню, вы получите доступ к странице, менеджера контекстов.
После того как попадете в контексты нажмите кнопку Новый, откроется всплывающее окно в котором можно указать название Вашего контекста и описание в соответствующих полях.
Теперь, когда вы создали контекст мы почти закончили, теперь нажмите на новый контекст в дереве документов слева, это приведет нас к свойствам контекста страницы.
Для того чтобы получить все что нам нужно для работы ContextRouter нам не обходимо, как минимум, 2 настройки основной HTTP хоста и Стартовая страница сайта. Давайте создадим их, нажав на вкладку Контекст Настройки и нажмите кнопку Создать новую. Первая которую мы собираемся создать, HTTP хост , в поле ключ мы должны поставить http_host , в поле Имя мы собираемся поставить HTTP хоста , мы собираемся поместить краткое описание того, что этот параметр предназначен для в Описание поля и в поле Значение мы собираемся поместить URL нашего сайта или поддомен.
Следующая настройка, которую нужно создать, Стартовая страница сайта, таким образом ContextRouter будет знать, что ресурс является главной страницей для нашего контекста, повторите те же шаги что мы сделали выше, но на этот раз мы будем использовать следующие настройки: в поле Ключ мы поставит site_start , в поле Имя мы поставим Запуск сайта и в поле Значение мы поставим ID ресурса, который будет индекс нашем контексте, в этом примере идентификатор 9 Нажмите Сохранить для завершения.
Теперь перейдите в адрес вашего сайта или поддомен и вы должны увидеть содержание ресурса, которые вы выбрали установку стартового сайта.
Совет: не забудьте очистить кэш MODX каждый раз, при создании или редактировании контексте настройки, чтобы увидеть изменения внесенные на сайт.
Еще одно преимущество использования ContextRouter над ручным способом, что она позволяет ваш сайт, чтобы получить доступ к любой папке в вашей установке MODX без необходимости делать любую URL переписать правила, которые могут быть очень утомительным при работе с некоторыми дополнениями.
Хотя мы использовали только 2 настройки установить наш второй сайт я рекомендую вам сделать несколько других параметров, такие как error_page , site_name , site_url , http_hosts_aliases при использовании более 1 URL для того же сайта или поддомен и base_url . Все они созданы с использованием тех же шагов, которые мы использовали для созданияhttp_host и site_start .
Если вы никогда не слышали о ContextRouter Я надеюсь, что это сообщение изменилось, что и показал вам преимущества его использования при размещении нескольких сайтов на одной установке MODX. Удачи.
Глоссарий Revolution — Начало работы
Дополнение
Сторонний компонент MODX, который не модифицирует ядро и не расширяет какие-либо его классы, но все же предоставляет дополнительные функциональные возможности экземпляру MODX.
Asset
Любой тип файлового ресурса, который обычно находится в каталоге /assets, как определено константой MODX_ASSETS_PATH;
может включать сторонние компоненты, библиотеки, файлы изображений, файлы CSS, файлы JavaScript, файлы классов и т. д.
Бек-энд
Синоним интерфейса менеджера MODX.
Категория
Необязательное классифицирующее имя, которое может быть присоединено к любому элементу или PropertySet (и другим объектам в более поздних версиях Revolution), которое отделяет его от других подобных объектов.
Тег чанка
Теги вида [[$ChunkName]]
это может быть использовано применительно к чанкам.
Компонент
Также называемый «Компонент стороннего производителя», или 3PC, компонент обычно предоставляет дополнительные функциональные возможности для MODX, обычно в форме дополнения, базового расширения или шаблона.
Тип содержимого
Устанавливает расширение, MIME-тип и двоичный параметр для любого ресурса.
Контекст
Разграничитель ресурсов и настроек, которые можно использовать по разным причинам; обычно используется для создания многоконтекстных сайтов, таких как субдомены, многоязычные сайты и т. д.
Настройка контекста
Единственный параметр для этого контекста, который либо создает новый параметр, либо переопределяет системный параметр.
Базовое рабочее пространство
Каждое уникальное ядро MODX представлено именованным рабочим пространством. При первоначальной установке Revolution ядро MODX, используемое приложением установки, записывается в базу данных MODX как рабочее пространство MODX по умолчанию. В будущих выпусках MODX Revolution появится возможность управлять несколькими рабочими пространствами из одной базы данных непосредственно из приложения менеджера. Это позволит легко изолировать обновления до ядра MODX; быстро добавив новое базовое рабочее пространство и выбрав пункт меню, вы сможете применить всю новую установку MODX Core к рабочим сайтам после тестирования на промежуточном сайте или быстро вернуться к предыдущему базовому рабочему пространству, которое, как вы знаете, работает. Это будет особенно важно для многосайтовых конфигураций, работающих на общих установках MODX Core.
Документ
Ресурс определенного типа, обычно относящийся к обычной странице сайта.
Идентификатор документа
См. Идентификатор ресурса.
Элемент
Также называется «Элементы содержимого», в дереве элементов диспетчера отображаются один Шаблон, Переменная шаблона, Чанк, сниппет, Плагин, Категория или Набор свойств.
Расширение
Также называется «расширение ядра». Сторонний компонент MODX, который модифицирует ядро MODX, например пользовательский класс или класс аутентификации, механизмы кэширования или классы манипулирования контекстом.
Файл резолвер
Тип xPDOVehicle Resolver
, который копирует файлы из исходного расположения в целевое расположение в транспортном пакете.
Языковые теги
Теги вида [[%LanguageStringKey]]
являются ссылкой на лексикон MODX.
Лексикон
Лексикон — это словарь слов и словосочетаний, организованных компанией Culture (более специфичный, чем язык, т.е. En-UK), который используется для интернационализации приложения менеджера и может использоваться разработчиками дополнений и базовых расширений для предоставления средств локализации для своих компоненты. Это заменяет устаревшие языковые файлы MODX и позволяет настраивать записи непосредственно из приложения менеджера.
Тема лексикона
Набор лексиконных статей, посвященных определенной теме. Revolution загружает только лексиконные записи, так как они нужны по темам, чтобы сократить время загрузки.
Теги ссылки
Теги вида [[~ResourceId]]
которые ссылаются на URL конкретного ресурса.
Менеджер
Бэкэнд интерфейса MODX.
Пространство имен
Организационный тег для компонентов, используемый для идентификации записей лексикона, настроек и других объектов, связанных с компонентом на сайте Revolution. Также указывает абсолютный путь, по которому компонент может быть найден.
Плейсхолдеры
Теги вида [[+PlaceholderName]]
что является ссылкой на плейсхолдеры MODX, обычно устанавливаются с $MODX->setPlaceholder('placeholderName','value')
в сниппете или плагине.
Поле ресурса
Любые поля таблицы site_content
, такие как pagetitle
, longtitle
, introtext
, alias
, menuindex
и т.д. Некоторые поля доступны на экране создания/редактирования документа. Другие могут быть доступны только через documentObject
.
Переменные
Одна переменная для элемента используется для установки определенного параметра для элемента.
Набор переменных
Набор переменных, используемых для конкретной цели с элементом. Наборы свойств присоединяются к Элементам и передают Свойства, которые они передают в качестве параметров Элементу. Примером является пользовательский набор свойств для сниппета, который передает определенные параметры элементу, переопределяя поведение по умолчанию.
Ресурс
Тип контейнера, который интерпретируется синтаксическим анализатором для получения содержимого. Может иметь любое количество производных классов, наиболее распространенным является документ.
Идентификатор ресурса
Также называется идентификатором документа, идентификатором ресурса или идентификатором документа, число в скобках в дереве ресурсов MODX в диспетчере, однозначно идентифицирующее указанный ресурс.
Теги ресурса
Теги вида [[*ResourceFieldTV]]
, который может использоваться для ссылки на поля ресурса или переменные шаблона.
Резорверы (для xPDOVehicles)
Pпостпроцессор: сценарий или предопределенное действие, которое оценивается после установки или удаления Транспортного средства. Resolvers всегда происходит после того, как объект транспортного средства является save()’d, и затем может выполнять действия над MODX, прежде чем что-либо еще произойдет в процессе установки/удаления.
Примером PHP Resolver является тот, который присоединяет события плагина к недавно установленному плагину.
Примером файла Resolver является тот, который копирует каталог assets/ditto
в пути xPDOVehicle
в /MODX/assets/ditto
.
Настройка тегов
Теги вида [[++SettingName]]
которые ссылаются на Системные настройки MODX, Настройки контекста и Настройки пользователя.
Теги сниппета
Теги вида [[SnippetName]]
, также упоминается как вызов Сниппетов.
Статический ресурс
Определенный тип ресурса, который является прямой ссылкой на определенный файл на сайте MODX. Содержимое заменяется содержимым этого файла.
Симлинк
Тип ресурса, который ссылается на один локальный ресурс MODX; содержимое Ресурса заменит содержимое символической ссылки.
Системные настройки
Переменная всего сайта, доступная для сайта MODX. Может быть переопределено настройками контекста и настройками пользователя.
Шаблонные переменные
Пользовательские поля ресурсов, созданные пользователем на экране создания/редактирования документа и на которые ссылаются с помощью тегов содержимого.
Транспортный пакет
Упакованный и упакованный в zip набор транспортных средств, которые могут быть легко распределены («транспортированы») из одного основного рабочего пространства в другое.
Поставщик транспорта (ранее Поставщик)
Веб-служба, позволяющая удаленную установку транспортных пакетов непосредственно из приложения диспетчера MODX.
Транспортные средства
Интеллектуальный контейнер, который инкапсулирует любой артефакт, который может быть распределен в транспортном пакете. Транспортные средства хранят свои полезные данные в портативном формате.
Настройки пользователя
Пользовательский параметр, который либо создает новый параметр, либо переопределяет аналогичные параметры контекста и параметры системы. Используется для предоставления уникальных настроек этому пользователю.
Ссылка на сайт
Тип ресурса, который ссылается на определенный URL-адрес или ресурс MODX, перенаправляя посетителя на этот URL-адрес или ресурс.
Валидатор (для xPDOVehicles)
Предварительный процессор: сценарий или предопределенное действие, которое выполняется до установки или удаления транспортного средства. Если валидатор возвращает true
, действие установки/удаления будет продолжаться в обычном режиме. Если валидатор возвращает false
, MODX не удалит и не установит пакет.
Валидатор можно использовать, чтобы определить, существует ли каталог и доступен ли для записи, чтобы увидеть, установлены ли другие элементы MODX, или чтобы определить, используются ли на сервере определенные версии MySQL и PHP.
xPDOVehicle
Базовый класс Transport Vehicle, xPDOVehicle
, хранит экземпляры xPDOObject
(которые представляют строку данных в таблице) в своей полезной нагрузке вместе с различными атрибутами, которые управляют тем, как объект устанавливается/удаляется в основном рабочем пространстве (см. Средства проверки xPDOVehicle
и резолвер xPDOVehicle
)).
Синтаксис тегов — Разработка сайтов
Варианты тегов MODX
MODX предоставляет удобный массив тегов, различаемых токеном или набором токенов, которые появляются перед строкой. В приведенной ниже таблице указаны эти токены и где и как они могут быть использованы.
Тип | Токен | Пример | Использование |
---|---|---|---|
Коммент | - | [[- Comment ]] | Определяет неразобранный комментарий. Например: [[- This is a comment]] |
Поле ресурса | * | [[*fieldName]] | Выводит значение поля, связанного с текущим ресурсом. Например: [[*pagetitle]] |
Переменная шаблона | * | [[*tvName]] | Выведите значение переменной шаблона. Например: [[*tags]] |
Чанк | $ | [[$chunkName]] | Определяет статический сниппет кода для визуализации. Например: [[$header]] |
Сниппет | [[snippetName]] | Определяет сниппет кода PHP для выполнения. Например: [[getResources]] | |
Плейсхолдер | + | [[+placeholder]] | Определяет плейсхолдер для значений из результатов запроса. Например: [[+pagetitle]] |
Ссылка | ~ | [[~link]] | Возвращает ссылку, полученную из значения. Например: [[~1? &scheme=full]] |
Настройки | ++ | [[++settingName]] | Определяет заполнитель специально для значений, определенных в системных настройках. Например: [[++site_name]] |
Язык | % | [[%language]] | Например: [[%string? &language=en &namespace=generic &topic=topic]] |
Деконструкция тега MODX
Тег MODX может быть расширен за счет дополнительных индикаторов и свойств. Приведенная ниже таблица полностью разбирает тег MODX и иллюстрирует, как и где можно использовать эти необязательные индикаторы и свойства.
Тип | Использование |
---|---|
[[ | Определяет открытие тега MODX. |
! | Необязательный флаг без кэширования |
Token | Необязательный Определяет тип элемента.$ = Чанк,* = Поле ресурса / переменная шаблона,+ = Плейсхолдер Смотрите выше для большего количества вариантов |
Name | Имя значения запрашиваемого элемента. |
@propertyset | Определяет набор свойств для использования. |
:modifier=`value` | Определяет выходной фильтр или модификатор, который будет использоваться. Например: :gt=`0`:then=`Now available!` |
? | Указывает MODX, что свойства сопровождают этот вызов. Required if properties present |
&property=`value` | Определяет свойство и значение, которое будет использоваться с вызовом. Каждый набор свойств разделен & .Например: &prop1=`1` &prop2=`2` |
]] | Определяет закрытие тега MODX. |
Построение тега MODX
Используя и комбинируя всю вышеуказанную информацию, мы можем создать сложный тег MODX, который будет выглядеть следующим образом:
[[!MySnippet@myPropSet:filter1:filter2=`modifier`? &prop1=`x` &prop2=`y`]]
Однако, хотя MODX позволяет использовать сложные условные фильтры, пользователи должны быть осторожны при построении сложной логики тегов. В отличие от PHP, если у вас недопустимый синтаксис тега MODX, нет полезных сообщений с номерами строк, указывающими местоположение ошибки.
Наличие тегов, требующих отладки, отрицательно сказывается на чистом виде слоя. Держите их в чистоте и простоте.
Хорошее эмпирическое правило заключается в том, что ваши теги должны помещаться в одну строку, даже если вы разметите их на несколько строк для удобства чтения. Если вы полагаетесь на операторы if и другие условия в своих тегах MODX, тогда может потребоваться пересмотр логики потока.
Примечание MODX неоднозначен к пробелам, поэтому оба приведенных ниже примера также будут приемлемы:
[[!getResources? &parents=`123` &limit=`5`]]
[[!getResources?
&parents=`123`
&limit=`5`
]]
Свойства
Все теги MODX могут принимать свойства, не только Сниппеты.
В приведенном ниже примере у нас есть простой блок с именем «Hello».
Hello [[+name]]!
Внутри этого чанка у нас есть настройка плейсхолдера [[+name]]
для значения, которое будет отображаться. Мы можем передать это значение непосредственно в наш блок с помощью следующего кода:
[[$Hello? &name=`George`]]
Этот вызов будет выглядеть следующим образом:
Hello George!
Кеширование
Любой тег можно выззвать некэшированным, вставив восклицательный знак сразу после открывающей двойной скобки:
[[!snippet]]
, [[!$chunk]]
, [[!+placeholder]]
, [[!*template_var]]
, и так далее.
Если у вас есть какая-то расширенная настройка, в которой параметр site_url
устанавливается для каждого запроса, но ваш [[~[[*id]]]]
ссылки не генерируются должным образом, помните, что любой тег можно вызвать некэшированным, включая тег ссылки или якоря: [[!~[[*id]]]]
Тем не менее, вам понадобится только тогда, когда site_url
устанавливается динамически, может отличаться для каждого запроса, и вы генерируете полные URL-адреса вместо относительных. Любое нормальное использование может быть кэшировано.
Порядок разбора
Если вы вызовете некэшированный сниппет, он будет выполнен после обработки всех кэшированных тегов.
Если у вас есть кешированные плейсхолдеры ниже этого, они будут оцениваться до того, как будет выполнен этот сниппет — то есть они получат последнее значение, которое было сохранено в кэше ранее этим сниппетом (или пустым, если еще не установлено).
Если вы хотите вызвать Сниппет без кэширования, который устанавливает плейсхолдер, вам необходимо убедиться, что плейсхолдеры также установлены в некешированные:
[[!Profile]]
Hello [[!+username]],
Тайминг
В MODX есть несколько тегов синхронизации:
-
[^qt^]
— Время запроса — показывает, сколько времени MODX потратил на общение с базой данных -
[^q^]
— Количество запросов — Показывает, сколько запросов к базе данных выполнено MODX -
[^p^]
— Время разбора — показывает, сколько времени понадобилось MODX для разбора страницы -
[^t^]
— Общее время — показывает общее время, затраченное на анализ / рендеринг страницы. -
[^s^]
— Источник — показывает источник страницы, является ли база данных или кеш -
[^m^]
— Использование памяти — Показывает общий объем памяти, занятый для анализа / рендеринга страницы.
Дополнительная Помощь
Поскольку синтаксис тегов проблематичен для многих новичков, существуют инструменты, которые помогут выделить проблемы. Проверьте плагином SyntaxChecker.
фрагментов кода — Modx — Получение текущего контекста
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира
.
ContextRouter — ContextRouter | Документы MODX
ContextRouter — это плагин Марка Хамстры, который можно использовать для маршрутизации контекстов на основе доменов или субдоменов. Вы не можете маршрутизировать подпапки с ContextRouter.
Рекомендуется использовать XRouting вместо ContextRouter, если вам также может понадобиться маршрутизировать подпапки; его конфигурация такая же, но более мощная. Узнайте больше о том, как работает XRouting.
Установка и настройка
Просто установите ContextRouter через управление пакетами или с сайта MODX Extras.Вам не нужно управлять компонентом или конфигурацией менеджера, однако ContextRouter зависит от того, правильно ли настроены ваши индивидуальные контексты, и у него есть несколько системных настроек, которые вы можете включить при необходимости.
Конфигурация контекста
Для ContextRouter вам, по крайней мере, потребуется, чтобы каждый контекст, который вы хотите маршрутизировать, имел настройку контекста http_host . Он должен содержать хост, используемый для доступа к контексту, например «sub.domain.com» или «otherdomain.tld».Если вы хотите, чтобы несколько хостов направлялись в конкретный контекст, вы можете указать их в виде списка, разделенного запятыми, в настройке контекста http_host_aliases .
Для правильной работы MODX вы также захотите определить base_url (например, «/»), site_url (например, http://sub.domain.com/) и site_start (например, 15 для ресурса 15) настройки.
Если они у вас уже были настроены при установке ContextRouter, он должен автоматически получить их при первом запросе внешнего интерфейса.Если вы настраиваете эти параметры после установки ContextRouter, вам, возможно, придется нажать «Сайт»> «Очистить кеш», чтобы убедиться, что он их собирает.
Системные настройки
Перейдите в «Система»> «Параметры системы» и выберите contextrouter в раскрывающемся списке пространства имен (тот, который по умолчанию имеет значение «core»).
Ключ | Описание |
---|---|
contextrouter.includeWww | Когда включено, ContextRouter автоматически присваивает псевдонимы www и no-www вариантам хоста для текущего контекста. |
contextrouter.defaultContext | Ключ контекста, на который должны маршрутизироваться любые хосты, которые не маршрутизируются специально. |
.
Дополнения MODX — Дополнения MODX
В этом разделе документации вы найдете информацию о дополнениях для MODX Revolution. Эти дополнения (и их документация) созданы сторонними разработчиками, поэтому официально не поддерживаются.
Где найти Дополнительно
Официальный источник дополнительных услуг: MODX.com . Вы можете просматривать сотни (бесплатных) дополнений, и каждая установка MODX уже настроена для загрузки и установки дополнений из MODX.com через менеджер пакетов.
Также доступны сторонние источники и торговые площадки, которые обычно предлагают сочетание бесплатных и дополнительных дополнительных услуг. К ним относятся:
Чтобы использовать сторонних дополнительных поставщиков, вам обычно необходимо создать учетную запись для доступа к их поставщику пакетов. Вы можете найти дополнительную информацию о том, как это сделать, в документации для каждого из упомянутых поставщиков.
Часто используемые Дополнительно
Имеется почти 1000 дополнительных функций, поэтому в начале может быть сложно определить, какие из них вам следует использовать.Дополнения из следующего списка считаются отличным выбором в зависимости от требований вашего проекта.
Однако это не означает, что это ваши единственные варианты. Просмотрите репозиторий, почитайте форумы и поделитесь интересными дополнениями, которые вы найдете, с сообществом.
Навигация и контент
- pdoTools — это набор полезных фрагментов, которые призваны стать современной (и в основном заменяемой) заменой старых (но все еще поддерживаемых) дополнений:
- pdoResources — это эквивалент getResources, который можно использовать для вывода списка ресурсов.Их также можно использовать для RSS-канала или создания файлов Sitemap.
- pdoMenu — это эквивалент Wayfinder, который используется для создания (многоуровневых) меню из вашего дерева ресурсов.
- pdoPage является эквивалентом getPage, который обертывает сниппеты, такие как getResources / pdoResources, с возможностью разбивки на страницы
- pdoCrumbs можно использовать аналогично Breadcrumbs для создания цепочки хлебных крошек для текущего ресурса.
- getResourceField, pdoField или fastField получают одно поле ресурса.
- AdvSearch или mSearch3 (дополнительная опция от modstore) добавляет функцию поиска на ваш сайт
- Коллекции используются для большого количества ресурсов, таких как блоги или списки продуктов, и будут перечислять дочерние ресурсы в сетке вместо дерева
- NewsPublisher позволяет пользователям создавать ресурсы во внешнем интерфейсе без необходимости доступа к MODX Manager (включает редактирование форматированного текста и браузер файлов / изображений).
.
Форматированный текст / редактирование кода
- TinyMCE RTE — это редактор форматированного текста, основанный на TinyMCE 4.(Пакет, называемый просто TinyMCE, использует более старую версию TinyMCE 3)
- TinymceWrapper — это реализация TinyMCE, использующая последнюю версию от CDN.
- Redactor (дополнительная опция от modmore) — это интеграция Redactor с MODX.
- CKEditor интегрирует CKEditor RTE в MODX.
- Ace позволяет редактировать код ваших элементов в менеджере.
Медиа
- Галерея может быть использована для добавления альбомов изображений на ваш сайт
- MoreGallery (дополнительная опция от modmore) для управления галереями изображений и видео (YouTube / Vimeo), реализованная как специальный тип ресурса
Формы
- FormIt является стандартом при отправке форм
- Formalicious (дополнительная возможность доступна в modmore и modstore) — конструктор форм, основанный на FormIt
- SPForm простая, защищенная от спама контактная форма
Мультисайтовый, многоязычный, мультидоменный, контексты
- xRouting — это гибкий контекстный маршрутизатор, который поддерживает (под) домены и каталоги с минимальной конфигурацией
- LangRouter — это маршрутизатор контекста, который выбирает контекст на основе языка посетителей
- Babel используется для соединения переводов в разных контекстах
.
Электронная коммерция
- MiniShop2 — это мощное решение для электронной коммерции с открытым исходным кодом, со многими (платными и бесплатными) расширениями, доступными преимущественно в модном магазине
- Commerce — это мощное решение для электронной коммерции премиум-класса от Modmore
- SimpleCart — это более простое решение для электронной коммерции премиум-класса, изначально созданное OostDesign, теперь доступное по адресу modmore
.
.
Пользователи
- Вход — это набор инструментов, которые помогут вам интегрировать функциональность внешнего интерфейса пользователя, включая логин и профили.
- HybridAuth может использоваться, чтобы позволить пользователям входить в систему через социальные службы
- Personalize может отображать разные фрагменты в зависимости от того, вошел пользователь в систему или нет
Ведение блога
- Коллекции для перечисления дочерних ресурсов в сетке в диспетчере (вместо дерева ресурсов)
- Quip или билеты для добавления функции комментирования
- Tagger для добавления тегов, вы можете фильтровать и искать сообщения по
Управление версиями и рабочий процесс
- VersionX сохраняет копии изменений в ваших ресурсах и элементах для легкого восстановления.
- Предварительный просмотр и рабочий процесс (дополнительные возможности от Extras.io) обеспечивают предварительный просмотр и рабочие процессы публикации.
- MagicPreview (бесплатное дополнение от modmore) дает вам кнопку предварительного просмотра, которая позволяет вам видеть изменения ваших ресурсов без необходимости сохранения изменений.
- StageCoach позволяет поэтапно изменять страницы, чтобы они были применены в будущем.
Инструменты разработки
- modDevTools добавляет в менеджер дополнительные функции, помогающие разработчикам создавать сайты.
- MyComponent — это полноценная среда разработки для создания дополнений MODX.
Инструменты диагностические
- SiteCheck (дополнительная услуга от Боба Рэя) выполняет тысячи проверок целостности вашего сайта.
Обновление MODX
- UpgradeMODX позволяет обновлять MODX Revolution из Менеджера MODX.
- GoRevo (дополнительная услуга от Боба Рэя) предоставляет инструмент для перехода с MODX Evolution на MODX Revolution.
Распространение собственных дополнительных услуг
Перейдите на https://modx.com/extras/, войдите в свою учетную запись MODX (или создайте ее), затем нажмите кнопку внизу, чтобы «Отправить дополнительный».
Здесь вы можете загрузить транспортный пакет MODX. Это особый вид zip-файла, который обеспечивает правильную установку надстройки и всех ее компонентов в целевой системе. Чтобы сделать его, вам необходимо создать сценарий сборки.
Все дополнения, размещенные на MODX.com, проходят базовую проверку; Обработка заявки может занять несколько дней.
.Документация по
MODX | Документы MODX
Обзор
MODX Revolution (Revo) — это простая в использовании система управления контентом (CMS) и Application Framework в одном лице. Несмотря на безграничные возможности, которые предоставляет MODX, мы думаем, что вы найдете его интуитивно понятным для работы. На каждом этапе MODX стремится предоставить свободу творчества.
Помимо этого сайта документации, сообщество MODX активно и всегда готово помочь.Не стесняйтесь и задавайте вопросы — вы будете приятно удивлены отзывчивостью базы пользователей MODX.
Опытные профессионалы MODX и варианты коммерческой поддержки при поддержке поставщиков также доступны, так что независимо от ваших потребностей и требований — все готово.
Начало работы
Этот сайт документации представляет собой исчерпывающий справочник по MODX, а также включает руководства и учебные пособия, которые помогут вам быстро и легко начать работу. Основные характеристики включают:
Если у вас есть вопросы по этому сайту документации, вы хотите помочь сделать его лучше, просмотрите источник документации и приложение на GitHub.Все взносы приветствуются!
MODX Revolution
Revolution — это флагманский фреймворк для CMS и приложений MODX, любовно названный «Revo». Если вы новичок в MODX, начните здесь.
Быстрые ссылки
Другие ресурсы
Дополнительно
MODX Extras расширяют основные функции программного обеспечения MODX. Другие CMS называют их «Плагины» или «Модули». Многие из дополнений разрабатываются основной командой MODX, а другие — третьими сторонами. Хотя это ни в коем случае не исчерпывающий справочник, здесь задокументировано большинство самых популярных дополнений.
xPDO
xPDO — это объектно-реляционный мост (ORB), на котором работает MODX. Если вы знаете, что это значит, или любите приключения, вам подойдет следующее:
Быстрые ссылки
Другие ресурсы
Руководство для авторов
Любите MODX? Узнайте, как стать частью сообщества и внести свой вклад в проект с открытым исходным кодом.
А как насчет MODX Evolution?
Evolution — это классическая кодовая база MODX — оригинальная версия, выпущенная в 2005 году.По состоянию на апрель 2017 года Evolution официально является отдельным проектом, который больше не находится под крылом MODX. Это означает, что у Evolution есть собственное руководство, процессы и сообщество.
Всю информацию о Evolution, включая документацию и дополнительные услуги, можно найти на сайте evo.im.
.