2017-02-03 2 views
1

Я пытаюсь показать блок Magento CMS только одна домашняя область колонтитула страницы, я использую ниже кодMagento CMS блок на колонтитуле не работает после того, как кэш позволяют

$routeName = Mage::app()->getRequest()->getRouteName(); 
$identifier = Mage::getSingleton('cms/page')->getIdentifier(); 

if($routeName == 'cms' && $identifier == 'home') { 
echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_seo')->toHtml(); 
} 

Этот код прекрасно работает, когда я отключить кеш, но после включения кэша это отображается на всех страницах, иногда не отображается на каких-либо страницах.

Я попробовал несколько решений на стек-перелива, но те не работал, моя Magento версия 1.9.2.4

Кто знает, как решить эту проблему, пожалуйста,

ответ

0

Я решил, что с помощью действий тега внутри опорного тега для REMOVE призовых мест из колонтитула,

Это похоже на известную ошибку на Magento 1.9 версии, спасибо за все помогает мне специально Младен Иличу

<reference name="footer"> 
    <action method="setCacheLifetime"></action> 
     <block type="cms/block" name="footer.seo"> 
      <action method="setBlockId"><value>footer_seo</value></action> 
     </block> 
    </reference> 
1

Вы должны использовать расположение ручки условно добавить блоки макета (вероятно, от вашей темы local.xml):

<cms_index_index> 
    <reference name="footer"> 
     <block type="cms/block" name="footer.seo"> 
      <action method="setBlockId"><value>footer_seo</value></action> 
     </block> 
    </reference> 
</cms_index_index> 

, если у вас нет local.xml, не забудьте обернуть выше код с

<?xml version="1.0"?> 
<layout version="0.1.0"> 
    ... layout handle code... 
</layout> 

После этого, все, что вам нужно сделать, это выход Вашего блока в шаблоне колонтитула:

Таким образом, вы избежите хака проверки в шаблоне.

Удачи.

+1

я создал файл local.xml в папке макета темы с указанными выше кодами xml и добавлен выше php-кодов внутри footer.phtml, но я не вижу никакого вывода, есть ли что-нибудь, что я должен проверить, спасибо –

+1

@ Suneth Kalhara: Обновленный ответ с local.xml обертка. :) –

+0

Я делал точно выше, если я очищаю наличные и загружаю домашнюю страницу, он также отображается на других страницах, если я очищаю наличные деньги и другую страницу сначала, а затем не показываю на каких-либо страницах, мой сайт находится на http: // www.horecadev.nl/test1/, кажется странной проблемой :) –