Ні, ящик не має можливості виключати певні продукти з мапи сайту, створених функцією Magento Catalog -> Google Sitemap.
Якщо я збирався займатись цим програмним шляхом, то сучасні версії Magento (перевірені у відділенні 1.7.x, це може бути в попередніх версіях / версіях EE) використовують наступний клас моделей ресурсів
Mage_Sitemap_Model_Resource_Catalog_Product
отримати список продуктів.
#File: app/code/core/Mage/Sitemap/Model/Sitemap.php
$collection = Mage::getResourceModel('sitemap/catalog_product')->getCollection($storeId);
Це не стандартна модель Magento CRUD і getCollectionне повертає об'єкт колекції. Натомість, getCollectionвручну запитує базу даних для цих продуктів.
Якби я збирався реалізувати функціональність, яка заважала певним продуктам відображатися на карті сайту, я б спробував будь-який
Клас перезаписує getCollectionметод, який викликає parent::getCollection, а потім вручну фільтрує будь-які продукти з масиву
_addFilterПерепишіть клас, у якому викликає метод батьків: _ _ addFilter, а потім додає додаткові пункти WHERE до, _selectщоб виключити конкретні продукти. Сортування хак, але це єдиний метод, коли ви маєте доступ до _selectоб'єкта, який використовується для запиту бази даних. В ідеалі ви хочете мати якийсь глобальний / статичний прапор, тому ви лише один раз додали новий пункт WHERE.