Настройка редиректов в Drupal

Речь пойдет о модуле redirect, который, несмотря на свои простые функции, не всегда понятен редакторам сайта.

После установки модуля, на сайте появляется раздел с настройками переадресации. Он расположен вот тут:

/admin/config/search/redirect

При добавлении редиректа, вы указываете от куда (адрес на сайте) и куда (в том числе и адреса внешних ресурсов) произвести перенаправление.

Вот тут часто у редакторов возникает не понимание.

Редиректы не работают

Именно так редакторы описывают свой опыт.

Что на самом деле происходит. Пользователь пытается переадресовать существующую статью куда либо. Но Drupal не будет делать переадресации, если статья с адресом «от куда» существует. Будет показана именно эта статья, а переадресация не сработает.

Рассмотрим пример редиректа:

Если существует статья с alias /new/dennis-k-9-donation, то — увы — редиректа с этого url не будет. Но будут работать редиректы с производных адресов. Например, если вы добавите какой либо параметр к URL, то редирект сработает:

Можно также создать вот такое правило:

Здесь я заменил последний символ на звездочку. Такой редирект сработает даже при наличии статьи на сайте.

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

Вот правильный алгоритм настройки редикта, если статья с адресом «от куда» существует.

  • Статью следует снять с публикации (unpublish);
  • alias статьи нужно изменить (добавите какой нить суффикс вроде «-archive». Т.е. в нашем примере получится /new/dennis-k-9-donation-archive);
  • теперь можно задать редирект, используя адрес статьи, у нас это /new/dennis-k-9-donation, и редирект начнет работать.

Мало букафф? Читайте есчо !

Редактируем атрибуты ссылки в twig шаблоне

Июль 14, 2023 г.

Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне? Например, возьмем штатный шаблон file-link.html.twig: [crayon-69bd32d6dece7617533541/] Используем фильтр merge, добавляя нужные атрибуты: [crayon-69bd32d6decf1614262871/]

Читать

Drupal checkbox field form API

Март 18, 2024 г.

Drupal интерпретирует чекбокс как integer. Это вызывает некоторое непонимание при работе с полем через Drupal form API. Давайте рассмотрим пример объявления и чтения данных поля формы. Объявление checkbox поля в вашей форме: [crayon-69bd32d6deef6696751710/] ...

Читать

Реализация формы поиска товаров

Май 11, 2023 г.

См. основной материал для введения. Форма в нашем случае не требует отправки/проверки данных, и реализует только два метода - getFormId и buildForm. Хотя форма и не содержит кнопки submit, но все равно будет реагировать на отправку данных, поэтому ...

Читать

Используем токены для доступа к полям параграфов в Drupal

Май 2, 2024 г.

Пара примеров о том, как вытащить нужную инфу из параграфов, используя токены. Обычно это нужно для генерации meta заголовков страницы. У вас есть node, в которой вы создали поле field_myfield с entity_reference: paragrpahs. Самое простое, ...

Читать
 

Комментарии к «Настройка редиректов в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: