Дизайн страницы продукта Magento 1.9.3.0 возвращен к базовому/по умолчанию


У меня есть тестовый магазин Magento 1.9.3.0, для которого я создал новую тему на основе rwd. В этом магазине используется база данных, клонированная из производственной среды (Magento 1.8.1.0). Все работает очень хорошо, за исключением этой странной ошибки:

Когда я посещаю страницу просмотра продукта, пакет/тема возвращается к base/default с rwd/myCustom.

Если я зайду в администрацию и отредактирую продукт, на который я смотрел ранее, и просто нажму "Сохранить" или "Сохранить и продолжить" даже без внесения каких-либо изменений, затем снова обновите страницу продукта, появится правильная тема (rwd/myCustom)

enter image description here

У меня не так много продуктов (~50), поэтому я мог бы просто вручную просмотреть их и "исправить", но мне более любопытно, что вызывает это.

  • Ни один из продуктов не имеет специального набора дизайна.
  • Я очистил кэш, несколько раз переиндексировал, так что это не так.
  • Я проверил в разделе Системы > Дизайн, и там есть там нет записей.
  • Я пробовал массовое обновление атрибутов (Выберите Все > Действия: Обновить Атрибуты > Изменить атрибут для всех продуктов > Сохранить), но это , похоже, ничего не исправляет.
  • Журналы (magento и apache) ничего не показывают при доступе к "прослушиваемым" страницам продуктов

Программная загрузка и сохранение продукта не исправляют проблему.

Author: sv3n, 2016-10-20

1 answers

Я только что понял это!

Примечания:

На старом (производственном) сайте запущен пакет под названием oldtheme.
На новом (разрабатываемом) сайте запущена тема под названием myCustom в пакете rwd.

После изучения app/code/core/Mage/Core/Model/Design/Package.php и регистрации функции designPackageExists с помощью Mage::log я заметил, что Magento искал пакет oldtheme вместо rwd.

Я провел поиск в базе данных и обнаружил, что в разделе catalog_product_entity_varchar было несколько записей со значением oldtheme/default.
Я отследил запись entity_type_id в таблице eav_attributes и обнаружил, что она соответствует атрибуту custom_design (хотя ни у одного из продуктов не был установлен пользовательский дизайн для любого из представлений магазина).

Исправление заключалось в удалении оскорбительных записей из catalog_product_entity_varchar.

 4
Author: Alexandru Bangală, 2016-10-23 23:57:34