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

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

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

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

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

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

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

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

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

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

Написать комментарий

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

Подтвержение регистрации через СМС в Drupal

Январь 19, 2014 г.

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

Читать

Как изменить длину поля (max length) после создания, сохраняя данные

Май 15, 2018 г.

Друпал не позволяет менять длину текстового поля после создания. Функция field_update_field также нам не поможет - будет сгенерирована соответствующая ошибка, что поле уже содержит данные и изменить его длину нельзя. Это можно проделать вручную, ...

Читать

 

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

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



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