Все для создания и продвижения сайтов

Верстка, программирование, SEO

12 22
цвет сайта

Правила для URL в MODX: CustomUrls

количество просмотров 2364
Правила для URL в MODX: CustomUrls

При разработке новостного блога или любого другого сайта, нужно уметь задавать для конкретных страниц нужные адреса.

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

http://daruse.ru/news/2015/06/08/mynews-title/

Но в таком формате нужно публиковать только новости, чтобы в других разделах адреса были простыми.

Для решения этой задачи в MODX Revo есть замечательный компонент: CustomUrls.

Он позволяет писать правила формирования URL в любом формате и позволяет привязывать эти правила различными способами. По родителю или по шаблону.

Приступим. Для начала загрузим и установим компонент через административную панель (Приложения -> Установщик).

Очистим кэш и перейдём в новое приложение (Приложения -> Custom URLs).

Далее - создаём новое правило (Add a rule).

MODX: CustomUrls

Теперь разберём все поля:

  • Pattern - наше правило формирования (их рассмотрим ниже);
  • Constraint field - здесь мы привязываем наше правила к нужным ресурсам. Можно по шаблону - template, по ресурсу - id, по родителю - parent и т.д.;
  • Constraint - идентификатор нашего шаблона, ресурса или родителя;
  • URI - Псевдоним создается по умолчанию, но можно использовать URI;
  • Override - Позволяет менять адрес при обновлении ресурса;
  • Active - Включение или отключение правила.

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

Теперь, для примера, рассмотрим несколько вариантов написания правил:

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

simple-text

Получим:

http://daruse.ru/simple-text

По заголовку (по умолчанию)

[[+alias]]

Получим:

http://daruse.ru/myalias

Различные поля

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

Получим:

http://daruse.ru/myalias-24

Дополнительные поля

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

Получим:

http://daruse.ru/mytvtext-24

Сниппеты

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

Получим:

http://daruse.ru/mysnippet-24

Вывод с датой, в нужном формате

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

Получим:

http://daruse.ru/news/2016/06/08/myalias

Вот так просто работает данный компонент, он позволяет выводить URL-адреса абсолютно в любом формате.

Последние статьи

Инструменты

Отблагодарить и поддержать автора
Если вы нашли ошибку, выделите её и нажмите Ctrl+Enter
Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.