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

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

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

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

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

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

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

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

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

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

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

Вариант XML карты сайта для Drupal 7

Ноябрь 8, 2016 г.

Сначала написал вариант для Drupal 6, но в силу актуальности семерки, предлагаю вариант кода для 7й версии. Описание вы найдете в прошлой статье, здесь обновлена только работа с базой данных. Привожу код класса и пример его вызова. Код класса: ...

Читать

Ноу Хау или добавление Wysiwyg + MCEditor в Drupal

Декабрь 2, 2009 г.

Установка и настройка софта обычно процесс простой и незатейливый. Тем не менее масса публикаций в интернете посвящена именно тому что и как настраивать. Всё это многообразие объясняется порою двумя словами - know how - или, по-русски, надо "знать как". ...

Читать

Авторизация по номеру телефона в Drupal

Октябрь 28, 2015 г.

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

Читать

Ошибка в Drupal: once is not a function

Май 8, 2023 г.

В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией. Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...

Читать
 

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

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



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