Возможно я не совсем прав, поправьте, пожалуйста, но есть наблюдение.
На сайте магазин висит на узле /shop/, во вложенных узлах, например, /shop/sale/ или /shop/info/ висят динамические и статические страницы. У вас в коде для определения является ли страница выводом товара, используется метод parseUrl() от родительского контроллера Shop_Controller_Show. Так вот этот метод не только разбирает url. Т.е. у меня получилось так, что при использовании вашего кода в корневом шаблоне, сайт стал возвращать 404 код на узлах /shop/sale/, /shop/tag/smth/page-2/ и подобных, несмотря на то, что контент нормально отдавался.
Я модифицировал ваш код условия, чтобы определить, находимся ли мы на странице контроллера и отображается ли товар, без использования метода parseUrl(). Код условия такой:
if (isset(Core_Page::instance()->object) && (Core_Page::instance()->object instanceof Shop_Controller_Show)) {
$oShop_Controller_Show = Core_Page::instance()->object;
Спасибо за модуль!