Magento 1.9 скрывает CMS Static в корзине и OonePage .phtml - PullRequest
0 голосов
/ 29 октября 2018

Я просматривал это в Интернете, но, похоже, не нашел ответа, связанного с моей проблемой.

У меня есть статический блок в верхней части моей страницы. Очень простой

   <div class="col-sm-12" style="background-color: red;>
<div class="row">

<h2 style="text-align: center; height:70%;"> I'm out of the office</h2>

</div>
</div>

Я настроил его на свой header.phtml вот так

  <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('header_out')->toHtml(); ?>

Дело в том, что я не хочу, чтобы это было на моей корзине и страницах оформления заказа.

Я подумал о css и отображении: нет, но так как это добавлено в заголовок, как я могу скрыть их на этих двух страницах?

Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

Ответ оптимальной практики:

Вы можете установить этот блок в ваших XML-файлах (например, local.xml)

 <default>
    <reference name="header>
            <block type="cms/block" name="header.out">
                <action method="setBlockId"><block_id>header_out</block_id></action>
            </block>
    </reference>
 </default>

Затем замените это:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('header_out')->toHtml(); ?>

С этим

echo  $this->getChildHtml('header.out');

Это сделает ваш блок.

Чтобы удалить его с определенной страницы, вы можете сделать это так.

Например, вы сказали, что страница корзины. Как вы можете видеть на каждой странице magento в теге класса тела есть идентификатор, например, вы хотите удалить блок из корзины, в которой есть этот тег

<body class="checkout-cart-index">

Вы можете сделать это так в своем XML-файле.

<checkout_cart_index>
    <remove name="header.out" />
</checkout_cart_index>

(Обратите внимание, что черты должны быть подчеркнуты в xml.

Быстрый путь | Не идеально

С css.

.checkout-cart-index (class you are targeting),
.checkout-onepage-index (class you are targeting) {
  display:none;
}
...