Вопрос на тему Sitemap.xml

Подскажите пожалуйста, есть необходимость отфильтровать (удалить) некие страницы из HTML и XML карты сайта на витрине не выключая саму страницу в админке.

HTML карту изменил хуком get_pages_after_sql, отфильтровал нужные страницы и удалил их, все работает отлично. С XML такой ход не проходит, не могу никак проверить fn_print_r() поскольку все выполняется в функции, которая все отрисовывает в файл, и не могу разобраться как всеже без внедрений в систему, толко со своего модуля отфильтровать в XML страницы.

Очень нужна помощь!

Так там для страниц так же fn_get_pages используется

app/addons/google_sitemap/func.php

смотрите функицю fn_google_sitemap_write_pages_to_sitemap

1 лайк

Подскажите пожалуйста ещё как мне можно проверять данные fn_print_r() которые я выцеплю хуком? Поскольку я не смог разобраться.

Вы именно ссылку генерации запускаете, не просмотр? Попробуйте fn_print_die

1 лайк

Да, ссілку генерации, а как попасть на страницу что бы не сгенерировать сайтмап, а именно просмотреть что генерируется?
fn_print_die - пробывал но насколько я понимаю оно просто генерацию сбрасывает, но настранице не распечатывает результат

  1. Загляните в консоль браузера, Ваш результат там.
  2. Если Вы используете модуль для генерации карты от АБ то там Вам лучше исключать на уровне выборки данных – хук ('ab__as_get_pages', $settings, $join, $condition, $storefront)
  3. На витрине Вы можете исключить страницы разными способами, но самый простой – это, пожалуй, в пост контроллере сделать unset страницам и отправить их во view заново.
1 лайк

fn_print_die($pages);

например, этот код распечатает результат и сбросит генерацию

После нужных изменений и отладок просто уберите этот код и заново запустите генерацию

1 лайк

Спасибо! Помогли!

Большое спасибо что всегда помогаете)

Спасибо!