Скорее всего, проблема в том, что вы поместили переключатель языка в блок нижнего колонтитула. В блоке нижнего колонтитула в Magento включено кэширование блоков. Если вы посмотрите на Mage_Page_Block_Html_Footer
, вы увидите определенный ключ кеша (Magento 1.5):
public function getCacheKeyInfo()
{
return array(
'PAGE_FOOTER',
Mage::app()->getStore()->getId(),
(int)Mage::app()->getStore()->isCurrentlySecure(),
Mage::getDesign()->getPackageName(),
Mage::getDesign()->getTheme('template')
);
}
Это означает, что выходные данные блока будут кэшироваться в отдельных версиях в зависимости от текущего хранилища, дизайна и т. Д.
Однако ваш переключатель языка напрямую связан с текущей страницей на каждом языке. Когда ссылка отличается для каждой страницы, вывод нижнего колонтитула будет отличаться для каждой страницы. Я бы порекомендовал просто отключить кэширование блоков для блока нижнего колонтитула, переопределив блок и удалив определения кэша, или вместо этого используя блок core / template.