Программное управление добавлением публикаций в xml sitemap

Благодаря модулю xmlsitemap, XML карту не сложно добавить на любой Drupal-сайт. Модуль позволяет управлять тем, какие типы публикаций добавлять в карту, а какие нет. Если вам этого  достаточно, то дальше можете не читать.

Но если вам требуется более гибкое управление, читайте дальше.

Итак, вы установили xmlsitemap, и настроили его типовое поведение. Что делать, если требуется выборочно включать в карту публикации определенного типа?

Одна из возможностей заключается в «ручном» управлении, когда вы в каждой node устанавливаете требуемое значение. Но при выполнении операции rebuild

ваши установки могут быть переопределены вновь.

Если возможно сформулировать четкое правило, то лучше всего запрограммировать его. К счастью, API модуля предлагает специальную зацепку hook_xmlsitemap_link_alter. Он вызывается каждый раз при обновлении объекта, который может быть отображен в карте сайте.

Вот пример реализации:

В hook передаётся структура описывающая ссылку для xml карты — $link и переменная $context, которая хранит данные, связанные со ссылкой. В нашем случае это объект node.

На основании контекста нужно решить какой статус установить для ссылки: 0 — нет ссылки в xlm карте или 1, если ссылку нужно добавить.

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

Сборка мусора сессий в Drupal

Ноябрь 25, 2014 г.

В drupal есть дефолтовы настройки для времени жизни кукисов и рандомной чистки сессий. Хранятся они  в файле settings.php. [crayon-6895ec27acb37368536064/] Т.е. время жизни сессии устанавливается равным более 23 дней. Если сборка мусора работает ...

Читать

Транслитерация имени файла при создании медиа entity программно в Drupal

Май 21, 2023 г.

При импорте изображений возникает задача транслитерации. Картинки, например, могут содержать буквы национальной кодировки (кириллицы) и/или иметь несовместимые с файловой системой сервера символы. Drupal (начиная с 8.2) объявляет специальный интерфейс, ...

Читать

Пример кода переключения между базами в Drupal 9

Август 22, 2021 г.

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

Читать

Доводим модуль transliteration в Drupal

Июль 11, 2016 г.

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

Читать
 

Комментарии к «Программное управление добавлением публикаций в xml sitemap»

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



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