Как выставить баннер в левой или правой колонке магазина?

Как вывести изображение в боковой части магазина?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Roman Mustafin
  • Группа: Гости

03.05.2010 10:15

Добрый день!

Каким образом можно вывести баннер в левой или правой колонке магазина?

Как вообще управлять этими колонками - как размещать голосование и другие модули?



Заранее благодарен,
Роман

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

03.05.2010 14:40

В теме default стандартной сборке Magento есть примеры рекламных блоков.
В частности, на страницах товарного каталога отображается блок Back To School.
Откройте файл app/design/frontend/base/default/layout/catalog.xml
Там найдите участок кода:

        
<reference name="[b]right[/b]">
	<block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
	<block type="core/template" name="[b]right.permanent.callout[/b]" template="[b]callouts/right_col.phtml[/b]">
		<action method="setImgSrc"><src>images/media/col_right_callout.jpg</src></action>
		<action method="setImgAlt" translate="alt" module="catalog"><alt>Keep your eyes open for our special Back to School items and save A LOT!</alt></action>
	</block>
</reference>


right.permanent.callout - это пример отображаемого в правой колонке страницы рекламного блока.

#3 Роман Мустафин
  • Группа: Пользователь
  • Сообщений: 79
  • Регистрация: 03.05.2010

04.05.2010 09:58

Добрый день! :(

Не совсем ясно как выставлять блоки в шаблоне modern.

Например голосование отображается только в правой колонке - как его переместить в левую сторону.

Как добавлять несколько своих баннеров в левую и правую часть шаблона modern?

Буду очень признателен, если сможете выставить коды, которые можно будет вставить в шаблон изменяя только адрес фото баннера.

Прошу извинения, просто я только начинаю разбираться в Magento.

С уважением,
Роман :)

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

04.05.2010 10:05

1) Прочитайте для начала руководство Designer's Guide to Magento на официальном сайте.
2) Для перемещения блока из правой колонки в левую при использовании шаблона 3columns измените reference name="right" на reference name="left".
3) Найдите разметку HTML стандартного рекламного блока Back To School (см. выше) и поставьте там свои картинки.

#5 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.05.2010 11:22

У меня вопрос: я вот использовал такую конструкцию в файле /app/design/frontend/base/default/template/callouts/left_col.phtml, чтобы разместить ссылки и сделать меню с материалами:
   
<div class="block-content">
<h4>Заголовок меню:</h4>
<ul>
  <li><a href="link1">Имя 1</a></li>
  <li><a href="link2">Имя 2</a></li>
  <li><a href="link3">Имя 3</a></li>
</ul>
</div>

Затем просто завожу материал с линками 1,2,3... Вроде на локалке работает. Или лучше лезть в xml как было написано выше?

#6 Роман Мустафин
  • Группа: Пользователь
  • Сообщений: 79
  • Регистрация: 03.05.2010

04.05.2010 11:44

1.Дмитрий, с отображением одного баннера нет проблем(просто надо снять закомментированные строки)
<reference name="left">
            <[color="#FF0000"]!--[/color]block type="core/template" name="left.permanent.callout" template="callouts/left_col.phtml">
                <action method="setImgSrc"><src>images/media/left_col_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[color="#FF0000"]--[/color]>
.

А вот если копируешь этот код и вставляешь после - выдаёт ошибку.
Данный код находится в начале файла app/design/frontend/default/modern/layout/- catalog.xml
Как поставить второй баннер в шаблоне modern?

2. Не могли бы более подробно описать процедуру переноса блоков НЕДАВНО ПРОСМОТРЕННЫЕ и ОПРОС из правой части шаблона modern в левую.
Уверен, что у всех новичков возникает такая проблема.

#7 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

04.05.2010 13:44

Просмотр сообщенияdimekh (04.05.2010 11:22) писал:

У меня вопрос: я вот использовал такую конструкцию в файле /app/design/frontend/base/default/template/callouts/left_col.phtml, чтобы разместить ссылки и сделать меню с материалами:
   
<div class="block-content">
<h4>Заголовок меню:</h4>
<ul>
  <li><a href="link1">Имя 1</a></li>
  <li><a href="link2">Имя 2</a></li>
  <li><a href="link3">Имя 3</a></li>
</ul>
</div>

Затем просто завожу материал с линками 1,2,3... Вроде на локалке работает. Или лучше лезть в xml как было написано выше?


Ваш вариант работать будет, но у него следующие недостатки:

1) У администрататора магазина отсутствует возможность редактировать ссылки.
2) При обновлении Magento ваши ссылки могут пропасть, и потому что base/default - это системная тема. Вместо изменений системной темы лучше создать свою. Для этого даже не требуется копировать файлы системной темы, потому что все темы и так наследуются от системной и при отсутствии в текущей теме магазина того или иного файла движок Magento берёт этот файл из системной темы.

#8 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.05.2010 13:45

Роман, попробуй поставить эту штукуиз magento connect. по идее должно сильно упростить жизнь при создании и редактировании блоков.

#9 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

04.05.2010 13:51

Просмотр сообщенияroman (04.05.2010 11:44) писал:

Как поставить второй баннер в шаблоне modern?


Обратите внимание на пример кода в моём первом ответе в этой теме.
Так я привел пример кода, и важные участки выделил жирным.
В частности:
<block type="core/template" name="right.permanent.callout" template="[b]callouts/right_col.phtml[/b]">


В тегах block обращайте внимание на параметр template.
Найдите этот файл: он будет в папке template, которая расположена на одном уровне с папкой layout
Затем либо отредактируйте этот файл напрямую, как поступил dimekh (см. выше), либо, если вы уже прочитали рекомендованное мной руководство, перекройте его в своей теме, и это будет намного правильнее и надёжнее.

#10 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.05.2010 14:04

Дмитрий.
Про недостатки я понял уже, хоть и планировал оставить эти ссылки постоянными. Путь к ним, кстати, надо указывать полностью или с переходя, например, из отложенных товаров magento их попросту потеряет. Вообще логика с модулями для меня как пользователя системой просто выбивает из колеи... Взять ту же Joomla! — просто и понятно как гвозди, два клика мышкой в админке - и новый модуль готов, но там свои тараканы. Здесь же добавить элемент в колонку или меню или еще что превращается в танец с бубном. В итоге лезешь на англоязычный форум с дурацкими вопросами, где тебя опять де отошлют к designers guide. Вот например фраза: «Создать свою тему» приводит в некоторое замешательство. Что делать то? Первое что приходит на ум - сдублировать папку base в какой-нть basecopy и назначить это в админке, но большое подозрение, что этого мало. При отличном управлении с товарами и так обложаться с юзабилити этих самых статичных блоков...

#11 Роман Мустафин
  • Группа: Пользователь
  • Сообщений: 79
  • Регистрация: 03.05.2010

04.05.2010 14:17

Всем привет!

Файл left_col.phtml нашёл - редактировать его не проблема.

Осталось только решить проблему самого шаблона modern.

При попытки установить три колонки - шаблон выдаёт только две.
Я устанавливаю в настройках категории 3 колонки, в настройках главной страницы 3 колонки, затем делаю кеширование и всё равно только две колонки.

Дайте пожалуйста чёткую инструкцию как перекинуть модули ГОЛОСОВАНИЯ и НЕДАВНО ПРОСМОТРЕННЫЕ в левую часть шаблона.

На сайте http://auscaps.com/ стоит только две колонки и все модули перемещены в левую часть.

Я перекопал все папки, но не нашёл файлы отвечающие за эти два модуля.

Очень нужна Ваша помощь, поскольку из за проблем с хостером не могу установить нужные права на папки для Magento Connect - потому модули вообще не могу установить дополнительные

#12 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.05.2010 15:10

Роман. Давай попробуем поискать вместе.
Для начала включим подсказки — шоб знать, где и что искать:
лезем в админку и дальше смотрим на картинки (выбрать main website на первой - важный момент):

Изображение

Изображение

Изображение

выяснили, что вся эта беда из просмотренных товаров находится в файле product_viewed.phtml

Изображение

далее ползем в свой catalog.xml и находим эту дрянь:

    <catalog_category_layered_nochildren translate="label">
        <label>Catalog Category (Without Subcategories)</label>
        <remove name="right.reports.product.viewed" />
        <reference name="right">
            <block type="reports/product_viewed" before="right.permanent.callout" name="left.reports.product.viewed" template="reports/product_viewed.phtml" />
        </reference>
    </catalog_category_layered_nochildren>


виновато во всем, видимо, слово right... в общем если что, пусть Дмитрий меня поправит. По крайней мере больше product_viewed.phtml нигде не встречается.

#13 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.05.2010 15:25

по поводу 3 колонок, я так понял, ты хочешь, чтобы тебя не перекидывало на разные шаблоны (например с трехколоночного на двухколоночный при просмотре товара)?
тогда все в тот же catalog.xml в район 190 строки (ну это у меня), ищем:

        <!-- Mage_Catalog -->
        <reference name="root">
            <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
        </reference>


меняем на:

        <!-- Mage_Catalog -->
        <reference name="root">
            <action method="setTemplate"><template>page/3columns.phtml</template></action>
        </reference>


#14 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.05.2010 16:27

Теперь пошагово как добавить статический блок, которым можно управлять из админки.
1. Покупаем попкорн (не много).
2. Идем в админке CMS -> статичные блоки
3. Создаем новый блок, в нашем случае пусть будет left_links
4. Заталкиваем в него наш список ссылок с заголовком/картинкой или чем попало:
<h4>Заголовок модуля:</h4>
<ul>
<li><a href="{{store direct_url="link1"}}">Ссылка1</a></li>
<li><a href="{{store direct_url="link2"}}">Ссылка2</a></li>
<li><a href="{{store direct_url="link3"}}">Ссылка3</a></li>
</ul>


5. теперь это надо опубликовать, допустим в нашем случае слева. ползем в свой catalog.xml

находим в районе надписи <!-- Mage_Catalog -->

что-то типа такого:

<reference name="left">
<block> ла-ла-ла</block>


и после (или до — ну куда надо в общем) </block> вставляем свой блок:
            <block type="cms/block" name="left_links">
            <action method="setBlockId"><block_id>left_links</block_id></action>
            </block>


Всё, теперь в админке можно управлять содержимым блока left_links

Соответственно link1, link2, link3 будут URL-ами материалов, которые вы пропишете в CMS->Pages

#15 Роман Мустафин
  • Группа: Пользователь
  • Сообщений: 79
  • Регистрация: 03.05.2010

04.05.2010 17:02

Добрый вечер!

Огромное спасибо пользователю dimekh!!! :(

Сильно благодарен за инструкцию для молодого бойца Magento.

C уважением,
Роман

#16 Роман Мустафин
  • Группа: Пользователь
  • Сообщений: 79
  • Регистрация: 03.05.2010

04.05.2010 18:04

Всем ещё раз привет!


В три колонки шаблон modern не ставится - видно что-то его держит.

Статические блоки можно ставить - огромное спасибо :(

Огромная просьба - ПОМОГИТЕ ПЕРЕСТАВИТЬ БЛОК ГОЛОСОВАНИЯ И НЕДАВНО ПРОСМОТРЕННЫЕ в левую часть сайта.


Заранее благодарен,
Роман :)

#17 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

04.05.2010 20:25

Главная страница темы Magento Modern в 3 колонки.
На будущее лучше придерживаться правила: один вопрос - одна тема, чтобы не путаться и проще находить требуемую тему из поисковой системы.

#18 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

05.05.2010 14:43

Возвращаясь к статическим блокам. :D

Все как выяснилось намноого проще, чем казалось. Не надо лезть ни в какой catalog.xml — в материале каждой страницы (CMS->Pages) есть вкладка «Дизайн», на которой есть выпадающая штука «Page Layout» с указанием вида шаблона и полем «Обновить XML шаблона»
Вот в это поле достаточно поставить разметку с блоком и он появится на этой странице.

Например ставим влево ссылки, что были выше по теме с созданным блоком left_links:
<reference name="left">
       <block type="cms/block" name="left_links">
       <action method="setBlockId"><block_id>left_links</block_id></action>
       </block>
</reference>


Ставим это на главную страницу (home) и блок будет отображаться только на главной. Жаль, что пришлось сломать пару грабель об лоб, перед тем, как это дошло до мозга. То бишь надо на определенной странице указывать баннер — создаем блок, пихаем туда баннер, затем в нужное место его публикуем. красота! :)

Может это вынести куда-нибудь в отдельную тему?

#19 s_spirit
  • Группа: Гости

29.05.2010 15:10

Хочу в теме Бланк на главной странице перед футером поставить статический блок( у меня это текст), название и ид home...
<block type="cms/block" name="home"><action method="setBlockId"><block_id>home</block_id></action></block>
Куда надо поставить этот кусочек в обновления XML шаблона, чтобы он отображался именно там где я хочу...

ХМL такой:
<!--<reference name="content">
<block type="catalog/product_new" name="home.catalog.product.new" alias="product_new" template="catalog/product/new.phtml" after="cms_page"><action method="addPriceBlockType"><type>bundle</type><block>bundle/catalog_product_price</block><template>bundle/catalog/product/price.phtml</template></action></block>
<block type="reports/product_viewed" name="home.reports.product.viewed" alias="product_viewed" template="reports/home_product_viewed.phtml" after="product_new"><action method="addPriceBlockType"><type>bundle</type><block>bundle/catalog_product_price</block><template>bundle/catalog/product/price.phtml</template></action></block>
<block type="reports/product_compared" name="home.reports.product.compared" template="reports/home_product_compared.phtml" after="product_viewed"><action method="addPriceBlockType"><type>bundle</type><block>bundle/catalog_product_price</block><template>bundle/catalog/product/price.phtml</template></action></block>
</reference><reference name="right">
<action method="unsetChild"><alias>right.reports.product.viewed</alias></action>
<action method="unsetChild"><alias>right.reports.product.compared</alias></action>
<block type="cms/block" name="home"><action method="setBlockId"><block_id>home</block_id></action></block>
</reference>-->

#20 skiller
  • Группа: Пользователь
  • Сообщений: 32
  • Регистрация: 04.10.2010

04.10.2010 15:57

Чтобы не создавать новую тему, спрошу здесь.
Пропала правая колонка в мадженто, как ее вернуть? С чего начать?

#21 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

04.10.2010 16:12

Просмотр сообщенияskiller (04.10.2010 15:57) писал:

Чтобы не создавать новую тему, спрошу здесь.
Пропала правая колонка в мадженто, как ее вернуть? С чего начать?

попробуй вот с этого:
Изображение

#22 Lesya
  • Группа: Пользователь
  • Сообщений: 2
  • Регистрация: 14.04.2011

14.04.2011 15:56

У меня вопрос как добавить нужную позицию рекламному блоку? при выводе блока в catalog.xml пишу after="имя_другого_модуля", но позиция рекламного блока не меняется.

#23 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

14.04.2011 19:13

Команда after может не работать, если ваш блок - безымянный.
Также не забудьте обновить кеш.
Если не поможет - обратитесь к специалисту.

#24 Lesya
  • Группа: Пользователь
  • Сообщений: 2
  • Регистрация: 14.04.2011

15.04.2011 11:51

Просмотр сообщенияДмитрий Федюк (14.04.2011 19:13) писал:

Команда after может не работать, если ваш блок - безымянный.
Также не забудьте обновить кеш.
Если не поможет - обратитесь к специалисту.

Спасибо. Кеш отключен был.
Там было имя name="right.permanent.callout". Если честно -- не совсем понимаю почему с этим именем нельзя позиционировать блок или в чем другом была ошибка.

Получилось вывести так как мне нужно этот блок лишь засунув его в новый модуль.

#25 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

01.08.2011 00:52

Такой вопрос открылся и для меня
при использовании шаблона с 2 колонками, предположим с правым столбцом, перенести некоторые элементы из левого в правый не удается, тот же блок сортировки по параметрам

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