какой код нужно добавить в файл header.phtml, чтобы баннерный блок появился в шапке сайта?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Александр Кучинский
  • лжёт в анкете и ворует лицензии
  • Группа: Заблокирован
  • Сообщений: 6
  • Регистрация: 14.11.2012

18.11.2012 03:06

Уважаемые коллеги, подскажите пожалуйста, какой код нужно добавить в файл header.phtml, чтобы баннерный блок появился в шапке сайта?

К примеру, чтобы добавить его на главной странице прописывается такой код:
{{block type="df_banner/banner" banner_id="Ketchup Recipes" template="df/banner/galleryview.phtml"}}

А как правильно прописать в header? Очень нужно, помогите, кто в курсе! сПАСИБО!

#2 Фымышонок
  • Группа: Пользователь
  • Сообщений: 17
  • Регистрация: 22.02.2012

18.11.2012 04:10

Смотрите тему на этом сайте
http://magento-forum.ru/topic/1861/

В кратце, создаем static block с рекламой и вставляем его в header

Добавляем static блок к любой странице.
1. Создаем в нашей теме файл local.xml
app/design/frontend/default/modern/layout/local.xml

2. Пример вставки статик блока в header на всех страницах сразу.
2.1.
/app/design/frontend/default/modern/layout/local.xml

<?xml version="1.0" encoding="UTF-8"?>
 <layout>
    <default>
        <reference name="header">
            <block type="cms/block" name="affiliates" before="-">
                 <action method="setBlockId">
                    <block_id>supplier-logos</block_id>
                </action>
            </block>
        </reference>
	</default>	
</layout>

2.2. Cоздаем static блок, где в поле Identifire вписываем supplier-logos.

2.3. В данном случае static блок появится во всех страницах в контентном блоке "header",
перед всеми остальным содержимым блока header.

2.4. Можно вставить статик блок в данные контент блоки (наличие активных контент блоков в вашей теме
смотрим в файле 1column.phtml
app/design/frontend/default/default/template/page/1column.phtml

getChildHtml('head')
getChildHtml('after_body_start')
getChildHtml('global_notices') ?>
echo $this->getChildHtml('header') ?>
echo $this->getChildHtml('breadcrumbs') ?>
$this->getChildHtml('global_messages') ?>
getChildHtml('content') ?>
getChildHtml('left') ?></div>
getChildHtml('right') ?></div>
getChildHtml('footer') ?>
getChildHtml('before_body_end') ?>

Похоже, что изменить какой то блок на всех страницах сразу можно если он стоит под дескриптором
<default> и reference name cоответствует контентным блокам (список контентных блоков смотри выше)
<reference name="header">

#3 Фымышонок
  • Группа: Пользователь
  • Сообщений: 17
  • Регистрация: 22.02.2012

18.11.2012 04:26

Если как в вашем случае вы создали .phtml
который можно вставить в статик блок с помощью кода
{{block type="df_banner/banner" banner_id="Ketchup Recipes" template="df/banner/galleryview.phtml"}}

то код в local.xml будет я думаю
<?xml version="1.0" encoding="UTF-8"?>
 <layout>
    <default>
        <reference name="header">
            <block type="df_banner/banner" name="affiliates" before="-">
                 <action method="setBlockId">
                    <block_id>Ketchup Recipes</block_id>
                </action>
            </block>
        </reference>
	</default>	
</layout>


#4 Александр Кучинский
  • лжёт в анкете и ворует лицензии
  • Группа: Заблокирован
  • Сообщений: 6
  • Регистрация: 14.11.2012

18.11.2012 12:04

Спасибо!

#5 Александр Кучинский
  • лжёт в анкете и ворует лицензии
  • Группа: Заблокирован
  • Сообщений: 6
  • Регистрация: 14.11.2012

19.11.2012 13:35

Этот код не помогает!Есть какие то варианты ещё?

#6 Фымышонок
  • Группа: Пользователь
  • Сообщений: 17
  • Регистрация: 22.02.2012

20.11.2012 21:33

Что именно у вас в .phtml файле?
Сделайте точно по образцу callout в мадженто

app/design/frontend/default/default/template/callouts/left_col.phtml

<?php
?>
<div class="block block-banner">
    <div class="block-content">
        <?php if(strtolower(substr($this->getLinkUrl(),0,4))==='http'): ?>
            <a href="<?php echo $this->getLinkUrl() ?>" title="<?php echo $this->__($this->getImgAlt()) ?>">
        <?php elseif($this->getLinkUrl()): ?>
            <a href="<?php echo $this->getUrl($this->getLinkUrl()) ?>" title="<?php echo $this->__($this->getImgAlt()) ?>">
        <?php endif; ?>
            <img src="<?php echo $this->getSkinUrl($this->getImgSrc()) ?>"<?php if(!$this->getLinkUrl()): ?> title="<?php echo $this->__($this->getImgAlt()) ?>"<?php endif; ?> alt="<?php echo $this->__($this->getImgAlt()) ?>" />
        <?php if($this->getLinkUrl()): ?>
        </a>
        <?php endif ?>
    </div>
</div>


app/design/frontend/default/default/layout/catalog.xml
   <reference name="left">
            <block type="core/template" name="left.permanent.callout" template="callouts/left_col.phtml">
                <action method="setImgSrc"><src>images/media/col_left_callout.jpg</src></action>
                <action method="setImgAlt" translate="alt" module="catalog"><alt>Our customer service is available 24/7. Call us at (555) 555-0123.</alt></action>
                <action method="setLinkUrl"><url>checkout/cart</url></action>
            </block>
    </reference>


Например
1. Я создала картинку и поместила ее в
skin/frontend/default/modern/images/media/koltsovo.jpg

2. Cделала ссылку на magento-forum.ru
app/design/frontend/default/modern/template/helloworld/helloworld.phtml
	
<?php
?> 
<div class="block block-banner">
    <div class="block-content">
        <?php if(strtolower(substr($this->getLinkUrl(),0,4))==='http'): ?>
            <a href="http://magento-forum.ru/topic/3186/" title="<?php echo $this->__($this->getImgAlt()) ?>">
        <?php elseif($this->getLinkUrl()): ?>
            <a href="http://magento-forum.ru/topic/3186/" title="<?php echo $this->__($this->getImgAlt()) ?>">
        <?php endif; ?>
            <img src="<?php echo $this->getSkinUrl($this->getImgSrc()) ?>"<?php if(!$this->getLinkUrl()): ?> title="<?php echo $this->__($this->getImgAlt()) ?>"<?php endif; ?> alt="<?php echo $this->__($this->getImgAlt()) ?>" />
        <?php if($this->getLinkUrl()): ?>
        </a>
        <?php endif ?>
    </div>
</div>

3.
/app/design/frontend/default/modern/layout/local.xml
    <default>
        <reference name="head"> 		
		<block type="core/template" name="helloworld" template="helloworld/helloworld.phtml">
                <action method="setImgSrc"><src>images/media/koltsovo.jpg</src></action>
                <action method="setImgAlt" translate="alt" module="catalog"><alt>Helloworld</alt></action>
                
                </block>	
        </reference>
   </default>


#7 Фымышонок
  • Группа: Пользователь
  • Сообщений: 17
  • Регистрация: 22.02.2012

20.11.2012 21:44

Одну строчку еще в local.xml добавте
почему то естли убрать текст (точку) между тегами <url>.</url> то ссылка на русский форум не работает
<block type="core/template" name="helloworld" template="helloworld/helloworld.phtml">
                <action method="setImgSrc"><src>images/media/koltsovo.jpg</src></action>
                <action method="setImgAlt" translate="alt" module="catalog"><alt>Helloworld</alt></action>
                <action method="setLinkUrl"><url>.</url></action> 
</block>


Поделиться темой: