MODX ЧПУ: настройка дружественных url

Автор Алексей На чтение 5 мин Просмотров 14.6к. Опубликовано Обновлено

Содержание

  1. Настройка ЧПУ MODX
  2. Настройка базового URL
  3. Переименовываем файл ht.access
  4. Установка пакета для транслитерации
  5. Какое дополнение выбрать?
  6. Системные настройки MODX — Дружественные URL
  7. Системные настройки MODX — Шлюз

Сегодня же мы продолжим настраивать MODX, а если конкретнее, то настроим ЧПУ MODX — человеко понятные (дружественные) URL адреса (иными словами сделаем читаемыми URL адреса (пример: Заголовок страницы «О компании», сейчас выглядит так: /index.php?id=7, а станет выглядеть так /o-kompanii или /about).

Настройка состоит из нескольких шагов.

Настройка базового URL

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

Проверьте стоит ли у вас в шаблонах (или чанке) в секции head параметр <base href="">:

<head>
<base href="[[!++site_url]]">
...
</head>

На Fenom вызов выглядит так:

<head>
<base href="{'site_url' | config}" />
...
</head>

Если его нет пропишите —  без него будут проблемы с дублированием URL относительно текущей страницы при переходе на другую страницу.

Переименовываем файл

ht.access

В корневой папке сайта лежит файл ht.access переименуйте его в .htaccess. Сделать это можно по FTP или через файловый менеджер хостинга: если вы это еще не сделали, сначала идите в статью: Настройка .htaccess для MODX.

Установка пакета для транслитерации

На данный момент мне известно 4 пакета (дополнения), один самый часто устанавливаемый из основного репозитория: translit — мне не нравится качество его транслитерации (оставляет точки и запитые) — но он совместим с MODX 3.

И 3 дополнения из репозитория modstore:

Translitor — улучшенная версия translit — качество транслитерации лучше и вырезает точки с запятыми (не корректно работает с MODX 3).

yTranslit — генерирует дружественных url через api переводчика Яндекс. Уже не актуален, т.к. с 2021 бесплатного api у яндекса больше нет.

gTranslit  — тоже самое, что yTranslit, только работает с помощью GoogleTranslateForFree (не проверял работу с MODX 3).

Пример транслитерации 3 мя компонентами фразы: «Тарифы, цены.»

Translit: «tarify,-ceny.»

Translitor: tarify-ceny

gTranslit: rates-prices

Какое дополнение выбрать?

Под поисковую систему яндекс больше заходит Translitor, а вот под Google лучше заходит gTranslit. Если выбирать меньшее из зол, то наверное лучше использовать в России Translitor — устанавливаете его из репозитория Modxstore.

Системные настройки MODX — Дружественные URL

Идем в «Системные настройки«, на открывшейся странице в фильтре выбираем «

Дружественные URL«. ’\\]/
  • Вырезать теги элементов из псевдонима — friendly_alias_strip_element_tags: Да
  • Символы, вырезаемые из псевдонима — friendly_alias_trim_chars: /.-_
  • Разделитель слов в псевдонимах — friendly_alias_word_delimiter: —
  • Разделители слов в псевдонимах — friendly_alias_word_delimiters: -_
  • Проверять на дублирование URI во всех контекстах — global_duplicate_uri_check: Нет
  • Теперь пробежимся по настройкам которые пришлось изменить!

    Вот эти три значение выставляет translitor при его установке:

    • Транслитерация псевдонимов — friendly_alias_translit: russian
    • Класс, управляющий транслитерацией псевдонимов — friendly_alias_translit_class: translitor
    • Путь к классу, осуществляющему транслитерацию псевдонимов — friendly_alias_translit_class_path: {core_path}components/translitor/model/

    Если установили gTranslit, он сам должен проставить настройки:

    • friendly_alias_translit_class = modx. gtranslit.modTransliterate
    • friendly_alias_translit_class_path = «{core_path}components/gtranslit/model/»
    • friendly_alias_translit = ru

    А вот эти мы получается меняем в ручную:

    • Максимальная длина псевдонима — friendly_alias_max_length — 70 (большее 70 символов получается слишком длинный адрес страницы).
    • Создавать ЧПУ-псевдоним (так называемые «дружественные URL») «на лету» — friendly_alias_realtime — Да (генерирует псевдоним в реальном времени).
    • Метод фильтрации символов в псевдонимах — friendly_alias_restrict_chars — alphanumeric (чтобы у псевдонима вырезалось все кроме букв и цифр)
    • Использовать дружественные URL — friendly_urls
      — Да (включаем URL вида /o-nas.html или /about-us.html (транслитерация псевдонимов), а не параметрические, вроде /index.php?p=3 (для поддержки опции на некоторых хостингах нужны соответствующие настройки веб-сервера Apache в файле . htaccess или в конфиг-файле Nginx)
    • Строгий режим дружественных URL — friendly_urls_strict — Да

    Дальше в отличии от того какую вы хотите сделать структуру URL — вложенную (web-revenue.ru/modx-revo/nastroyka-chpu) или плоскую (web-revenue.ru/nastroyka-chpu)

    Для вложенной структуры указываем.

    Использовать вложенные URL — use_alias_path — Да

    Чтобы в URL учитывался псевдоним родителя, а не его замороженный URL

    Не работают дружественные url? Не забываем про требования к серверу:
    На сервере (Apache) должна быть включена функция Mod_Rewrite.

    А для плоской Использовать вложенные URL — Нет

    Настройку Использовать «замороженные» URI родителя — use_frozen_parent_uris — любой (по желанию)

    В принципе все! У нас сейчас ЧПУ вида /o-kompanii.html (или /about-us.html).

    Все настройки ЧПУ в MODX (под translitor)

    Системные настройки MODX —

    Шлюз

    Переключаемся в фильтре на Шлюз и меняем настройку

    Строгий метод запроса — request_method_strict — Да

    Чтобы ссылки работали только в ЧПУ-виде через редирект и не открывались по ссылкам вида https://site. ru/index.php?id=7

    В следующем уроке продолжим настройку постоянных ссылок, уберем в конце URL окончание .html, потом разберем как в modx добавлять страницы и разделы.

     

    Список компонентов для MODX Revolution, без которых сложно обойтись в проекте

     

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

    PdoTools — это набор удобных сниппетов для повседневной работы

    В состав входят:

    • pdoResources — Очень быстрая замена для getResources, совместимая по параметрам.
    • pdoMenu — Замена для Wayfinder, строит меню.
    • pdoUsers — Выборка и вывод пользователей сайта, с фильтрацией по ролям и группам.
    • pdoCrumbs — Хлебные крошки, замена BreadCrumb.
    • pdoSitemap — Быстрая генерация карты сайта, замена GoogleSiteMap.
    • pdoNeighbors — Вывод ссылок на соседние документы.
    • pdoField — Вывод любого поля документа, замена getResourceField и UltimateParent.
    • pdoPage — Постраничный вывод результатов, замена getPage.

    Ace — редактор кода с подсветкой синтаксиса

    CKEditor — лучший HTML редактор для modx

    VersionX  система контроля версий для каждого ресурса, которая поволяет в любом момент откатиться на раннюю версию.

    CacheClear — компонент удаляет кэш из папки core/cache одним кликом

    Translit — 

    транслитирация названий ссылок

    Filetranslit — транслитерация загружаемых файлов из кирилицы в латиницу

    upgradeMODX — обновление modx до последней версии одной кнопкой

    frontendManager — редактируем сайт из фронтенда

    backupMODx  — Резервная копия modx одним кликом

    clientConfig —  дополнение позволяет задать общие настройки для всего сайта, пример: телефон, адрес, баннеры и т. д 

    console — Дополнение позволяющее писать PHP код в панели управления modX. Очень удобен для тестирования кода.

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

    dbAdmin — компонент позволяет работать с базой данных сайта.  совершать операции выборки, добавления, изменения и удаления данных в таблице.

    modDevTools — дополнение добавляет к элементу вкладки: шаблоны, дополнительные поля, сниппеты, чанки связанные с открытым элементом, это позволяет отредактировать их прямо здесь, а не искать их в дереве элементов.

     debugParser — дополнение показывает все обработанные теги на странице и затраченное время, позволяет оптимизировать сайт для более быстрой загрузки.

     

    Batcher — компонент для массового редактирования ресурсов и элементов сайта.

    FormIt/AjaxForm — компоненты используются для создания форм на сайте.

    phpThumbOn — дополнение обрезает изображения под нужный размер.

    Login — дополнение позволяет организовать регистрацию пользователя на сайте

    Gallery — дополнение для создания галерей на сайте

    MIGX — компонент позволяющий добавить к TV параметру новый тип данных, например таблицу.

    modh — Перевод на английский язык

    modh leithdháilte a bhunaítear ar phatrúin trádála traidisiúnta ( modh traidisiúnta/núíosach).

    a метод из распределение на основе традиционных моделей торговли (традиционный/новичок метод ).

    растительный продукт — eur-lex.europa.eu

    modh lena leithdháiltear cuótaí i gcomhréir leis na cainníochtaí a iarrtar sna hiarratais ( 9( одновременный осмотр метод

    международная торговля — eur-lex. europa .eu

    9 не китайские данные, а также modh Institiúid Teicneolaíochta Talmhaíochta Brunswick (‘ modh Brunswick’

    9 для цветовой тип, определенный с помощью метод из Институт сельскохозяйственных технологий Брансуика ( Брансуик метод 9000 4

    общий — eur-lex.europa.eu

    modh cuntasaíochta an chothromais — aithint caillteanas

    собственный капитал бухгалтерский учет метод — reco gn убытков

    бухгалтерский учет — iate.europa.eu

    modh an chasúin le tolláin a dhéanamh

    cai sson tu нн эл строительство метод

    наземный транспорт — иат. europa.eu

    modh meánaithe astaíochtaí laistigh d’achar ama ar leith

    moving aver старение window

    наземный транспорт — iate.europa.eu 9 0007

    modh meánaithe astaíochtaí laistigh d’achar ama ar leith

    moving aver aging window method

    наземный транспорт — iate. europa.eu

    modh meánaithe astaíochtaí laistigh d’achar ama ar leith

    MAW метод

    наземный транспорт — iate.europa.eu

    An modh ríomha agus an fhoirmle

    метод из расчет и формула

    общая информация — eur-lex.europa.eu h (ag baint úsáide как « modh traidisiúnta/núíosach»).

    a метод основанный на учете традиционных моделей торговли в счете ( традиционный/новичок метод ).

    Растительный продукт — eur-lex.europa.eu

    modh chun idirdhealú traspholach a scálú

    метод масштабирования межполярной дискриминации

    маркетинг — iate.europa.eu

    90 002 an modh lena ríomhfar meid eacnamaíoch an ghabhaltais

    the метод для расчет из экономический размер холдинг

    общий — eur-lex.europa.eu

    modh cuntasaiochta chun cuntais a ulmhú

    бухгалтерский учет метод используемый в 900 03 подготовка счет s

    маркетинг — iate. europa.eu

    modh caighdeánaithe faireach в трех пакетах

    стандартизированная сорбционная ловушка monito кольцевой метод

    экологическая политика — i ate.europa.eu

    modh dáileacháin a bheidh comhréireach leis na cainníochtaí a iarradh nuair a tíolacadh na hiarratais (‘ modh an scrúdaithe chomhuainigh’ 900 07

    a метод распределения пропорционально количествам, запрашиваемым при заявка подано ( одновременное рассмотрение метод

    международная торговля — eur-lex.europa.eu

    मोध (Modh) значение на английском языке — मोध म

    मोध ЗНАЧЕНИЕ — РЯДОМ СЛОВАМИ

    मंद = SUBDUED(Прилагательное)

    उदाहरण : Закрыть बीच इस सरकार का पांचवां और अंतिम पूर्ण बजट पेश किया।
    Использование: Министр финансов Арун Джейтли представил пятый и последний полный бюджет этого правительства в условиях подавленного экономического роста.

    मंद = SAD (прилагательное) है क्योंकी उसका कुत्ता मर गया था |
    Использование : грустить из-за того, что его собака умерла

    Использование : Он подал иск против владельца розничного магазина на форуме защиты прав потребителей.

    मंद = ВЯЛЫЙ (Прилагательное) ैसे जमा करवाने के लिए मद लिखना आवश्यक है. Для зачисления денег на государственный счет необходимо написать «начальник счета».
    Использование: Он вялый мальчик, так как делает свою работу слишком медленно.

    मंच = ПОДИУМ (существительное) की ओर चले
    Использование: Я видел, как мальчик падал с подиума.

    मंद = ПУНКТ (существительное)

    Использование: Он проверил предметы в каталоге.

    मंद = РЖАВЫЙ (прилагательное)

    Использование: Она была ранена ржавым железным прутом.

    मंच = ПЛАТФОРМА (существительное)

    Употребление: говорящий на платформе

    मंद = ИНТОКСИКАЦИЯ (существительное)

    Употребление: опьянение богатством и властью

    मंस = СВИНЬЯ (существительное) 9000 7

    उदाहरण : पियोत्र स्जाइमंस्की
    Использование : В свинарнике есть несколько свиней.

    मंद = Тусклый (Глагол)

    Употребление: Возраст потускнел на поверхности

    मंद = СЛАБЫЙ (существительное)

    Употребление: Я имею лишь смутное представление о том, чем она сейчас занимается.

    मंच = ПОМОЩЬ (существительное)

    Использование : Несколько его последователей присоединились к нему на возвышении.

    मंद = ГЛАВА СЧЕТА (существительное)

    Использование: Глава бухгалтерии велась бухгалтером.

    मंच = СЦЕНА (существительное)

    Использование : он взобрался на сцену и попросил актеров помочь ему попасть в коробку

    मंच = AMBO (существительное)

    900 03 Использование: Перт Амбой

    मंच = ТРИБУНА (существительное)

    Использование: International Herald Tribune

    मंच = ПОЛ (существительное)

    Использование: Им нужны были ковры, чтобы покрыть полы.

    मंद = НИЗКИЙ (существительное)

    Использование: низина, надвигавшаяся ночью, с мокрым снегом

    मंद = ГЛУБОКИЙ (существительное)

    глубокой ночью

    मंच = ЛЕСА (существительное )

    Использование : Рабочий работал на строительных лесах.

    मंस = ПЛОТЬ (существительное)

    Использование: Плотоядные животные едят плоть других животных.

    मंद = ПОЗДНИЕ (Прилагательное)

    Использование: Он показывает медлительный прогресс в своей работе.

    मंद = ГОРДОСТЬ (существительное)

    Использование: Не задевай свою гордость.

    मंच = МЫЛЬНИЦА (существительное)

    Использование: Встать на мыльницу и что-то сказать очень сложно.

    मंद = МОГИЛА (существительное)

    Использование: он ушел в могилу, не простив меня

    मंद = ЛЕНЬ (существительное)

    Использование: Даже человек, который ничего не делает, может сделать себе имя ленивца.

    मंच = КАФОН (существительное)

    Использование: — Кафедра благодати —

    मंच = ПЕНЬ (существительное)

    Использование: Вот огрызок карандаша.

    मंड = КРАХМАЛ (существительное)

    Использование: Сладкие и крахмалистые продукты образуют кислоту и зубной налет, которые могут вызывать кариес и способствовать заболеванию десен.

    मंड = MAND (существительное)

    Использование: для любого говорящего на китайском языке в аудитории.

    मंद = ГОЛОВА (существительное) ष्-वर से प्रार्थना ढथी कि वह उसे ख़ूव धन दे कि वह जरूरतमंदों को बांटते रहें और खुद हमेशा निर्धन रहें.
    Использование : он высунул голову из окна

    मंद = DIM (прилагательное)

    Использование : Изучение в тусклом свете портит зрение.