Создание пользовательских URL

Дополнение CustomUrls

Это дополнение для определения пользовательских псевдонимов или URI паттернов для ваших ресурсов. Он поддерживает дополнения translit и Redirector.

Вы можете построить ваши паттерны из полей ресурса, ТВ, сниппетов и фильтров вывода и установить некоторые условия так же, как и с пользовательскими формами.

Например, с CustomURLs вы можете добавлять ID ресурса или месяц публикации в алиасы всех ресурсов или просто для одного, чей родитель = 1 или шаблон = 1.

Требования

  • MODx Revolution 2.2.x или выше
  • PHP5 или выше

Загрузка

Дополнение может быть загружено из менеджера MODX Revolution через Управление дополнениями или из MODX репозитория дополнений

Поддержка, комментарии, разработка и заявки на исправление ошибок

Github : https://github.com/omycode/customurls
Поддержка/Комментарии : http://forums.modx.com/thread/78843/support-comments-for-customurls

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

Для начала работы с CustomUrls, перейдите в Компоненты (Components) > Custom URLs и добавьте правило

пользовательские URL MODX Revolution

Свойства правил

Имя Описание Пример
Шаблон  
Ваш пользовательский URL паттерн построен из текста, полей ресурсов, ТВ, сниппетов и фильтров вывода. Вы также можете использоватьcu.parent заполнитель для получения полного пути родительского ресурса. [[+id]]-[[+alias]]
Поле ограничений
Может быть полем ресурса: ИД (id), родитель (parent), шаблон (template) ... Шаблон
Ограничительное значение
  2
Группа пользователя Группа пользователя для которой действует правило Администраторы
URI По-умолчанию, создаются псевдонимы, но вы можете вместо этого выбрать создание URI false
Перезапись Перезапись псевдонима или URI при создании ресурса. true
Активный Правиль активное ? true

Примеры использования

Простой текст :

simple-text

MODX псевдоним по-умолчанию :

[[+alias]]

Поля ресурса :

[[+id]]-[[+alias]]

TВ :

[[+tv.mytv]]-[[+id]]

Сниппеты :

[[MySnippet? &id=`[[+id]]`]]

Фильтры вывода :

[[+publishedon:strtotime:date=`%Y-%m-%d`]]/[[+id]]-[[+alias]]

MODx URI по-умолчанию : 

[[+cu.parent_uri]]/[[+alias]]

Более сложные URI

[[+cu.parent_uri]]/some-text/[[getResourceField? &id=`[[+parent]]`]]/[[+id]]-[[+alias]]

Второй способ создания пользовательских URL

Устанавливаем пакет translit, включаем ЧПУ, выставлям ключ 'automatic_alias' (Автоматическая генерация псевдонима) в 'Да', ключ 'friendly_alias_translit' (Транслитерация псевдонимов) в 'russian' для того, чтобы иметь возможность поле алиаса в форме создания/редактирования ресурса оставлять пустым.

Создаём плагин:

Указываем событие для плагина: 'OnDocFormSave'