ddSubdomainDocsUrlConverter

Plugin
  • Версия: 1.2
  • Выпущено:
  • Метки: URLs
  • Использует:
Скачать66 скачиваний

Описание

При генерации URL средставами MODX изменяет их таким образом, чтобы корневая папка с необходимым шаблоном становилась поддоменом («http://domain.com/de/about» → «http://de.domain.com/about» или просто «about», если находимся в рамках поддомена).

Список изменений

  • Добавлен новый параметр «$fullUrlDefaultSubdomain», который задаёт поддомен по умолчанию для абсолютных адресов.
  • Исправлен путь подключения «modx.ddTools».

Документация

Установка

  1. Разархивируйте скачанный файл.
  2. В панели управления сайтом создайте новый плагин «ddSubdomainDocsUrlConverter», вставьте содержимое из файла ddSubdomainDocsUrlConverter.php.
  3. Во вкладке «Системные события» отметьте следующие галочки:
    • OnMakeDocUrl
  4. В поле «Конфигурация плагина» (на вкладке «Конфигурация») вставьте следующий код: &subdomainDocsTemplateId=Template id of subdomain documents;text; &alwaysBuildAbsoluteUrl=Always build an absolute URL;list;yes,no;no И нажмите кнопку «Обновить параметры».

Описание параметров

Название Описание Допустимые значения Значение по умолчанию
subdomainDocsTemplateId* ID шаблона корневой папки-поддомена. {integer}
alwaysBuildAbsoluteUrl Конвертировать все URL в абсолютные. {'yes'|'no'} 'no'
fullUrlDefaultSubdomain Поддомен по умолчанию для полных адресов. {string} ''

Примеры

Пусть структура документов будет такая:

  • Home (1)
  • About (2)
  • Blog (3)
    • Article (6)
  • De (4)
    • Home (7)
    • About (8)
    • Blog (9)
      • Article (12)
  • Fr (5)
    • Home (10)
    • About (11)

Для документов «De (4)» и «Fr (5)» понадобится отдельный шаблон, назовём его «Subdomain template» (пусть его ID = «4»).

Параметр плагина «subdomainDocsTemplateId», соответственно, выставляем в «4».

Когда находимся на одной из страниц основного домена «domain.com»

Адреса страниц при генерации будут преобразованы следующим образом:

  • «[~9~]»: «/de/blog» → «http://de.domain.com/blog» (т. к. ссылка на страницу другого домена, она должна быть абсолютной).
  • «[~3~]»: «/blog» → «/blog» (ссылка на страницу в рамках текущего домена, так что останется без изменений).
  • «[~11~]»: «/fr/about» → «http://fr.domain.com/about»

Абсолютные ссылки преобразуются аналогичным образом:

  • «http://domain.com/de/about» → «http://de.domain.com/about».
  • «http://domain.com/blog» → «http://domain.com/blog».

Когда находимся на одной из страниц поддомена «de.domain.com»

  • «[~8~]»: «/de/about» → «/about» (внутренняя, т. к. находимся в рамках текущего домена).
  • «[~9~]»: «/de/blog» → «/blog».
  • «[~2~]»: «/about» → «http://domain.com/about» (теперь на основной домен необходимо строить внешние ссылки).
  • «[~3~]»: «/blog» → «http://domain.com/blog».
  • «[~11~]»: «/fr/about» → «http://fr.domain.com/about» (тоже внешняя).

Поддомен «www.domain.com» обрабатывается так же, как основной «domain.com».