Домівка > How to (як зробити?), Magento > Як створити та редагувати статичний блок Static Block в Magento?

Як створити та редагувати статичний блок Static Block в Magento?

add_cms_block_title

Меню

Панель адміністратора

Статичний блок, він же CMS block — це текст або статичний HTML, який розміщується будь-де на сторінці і редагується користувачем з панелі адміністратора.

Використовуючи його ви маєте можливість створювати контент для категорій, що дозволяє показувати промоушини, рекламу і банери, а не просто список продуктів категорії. За допомогою статичних блоків вирішується ще багато дизайнерських рішень(додаткові меню, «соціальні» іконки, rss посилання і т.д.).

Створюємо статичний блок

Перш за все потрібно створити сам статичний блок, який буде містити наш HTML чи текст. Для цього заходимо в панель адміністратора CMS->Static Blocks->Add New Block.

Створюємо статичний новий блок

Створюємо новий статичний блок

  • Block Title: В це поле вводимо назву нашого блоку, який буде показуватися на сторінці CMS->Static Blocks.
  • Identifier: Важливе поле – по суті це його id, яке використовуватися при оголошені блоку в .xml
  • Status: Ставимо Enabled – і блок стає активним, disabled – якщо хочемо його вимкнути, але не видаляти.
  • Content: В це поле вводимо сам текст чи HTML, який ми будемо виводити.

І натискаємо «Save Block», щоб все зберегти.

Після створення блоку наші дії залежать від того де саме ми хочемо його виводити.

Додаємо блок до категорії

Якщо цей блок повинен виводитися на певній категорії (промоушин, банер, реклама певного продукту з цієї категорії) тоді ми заходимо в панелі адміністратора в Catalog->Manage Categories і заходимо на нашу категорію.

Додаємо блок до категорії

Додаємо блок до категорії

В закладці General Information (або в Display Settings) нас цікавлять два поля Display Mode і CMS Block. В першому ми маємо можливість задавати режими показу категорії:

  • Products only — виводяться тільки продукти які відносяться до даної категорії.
  • Static block only — виводяться тільки статичний блок, який прикріплений до даної категорії.
  • Static block and products — виводяться продукти, які відносяться до даної категорії і статистичний блок.

В другому полі вибираємо блок, який ми хочемо показувати на даній категорії. Слід зазначити, що в селекті буде та назва блоку, яку ми ввели в поле «Block Title». Після цього зберігаємо категорію.

Додаємо блок в «шапку» сторінки

Коли ж потрібно вивести блок так, щоб він завжди був на сторінці, наприклад в «шапці» або «підвалі» сторінки то для цього потрібно зробити такі кроки:

  1. Створити сам блок (як це зробити описано вище),
  2. Об′явити його в xml файлі,
  3. Викликати блок в потрібному місці у .phtml файлі,
  4. Обновити кеш Magento (якщо він включений),
  5. Обновити сторінку.

Отже, ми будемо додавати блок в «шапці», оскільки сюди найчастіше потрібно додати той чи інший блок (наприклад додаткове меню чи банер).

Для того щоб об′явити блок заходимо в app/design/frontend/your_package/your_theme/layout/page.xml і шукаємо там наступне:

<block type="page/html_header" name="header" as="header">
<block type="page/template_links" name="top.links" as="topLinks"/>
<block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
<block type="core/text_list" name="top.menu" as="topMenu"/>
</block>

додаємо в block ”header” ось цей код:

<!-- CMS Block into Layout begin-->
<block type="cms/block" name="cms_block_name">
<action method="setBlockId"><block_id>block_name</block_id></action>
</block>
<!-- CMS Block into Layout end-->

Наш block буде мати такий вигляд:

 

<block type="page/html_header" name="header" as="header">

<block type="page/template_links" name="top.links" as="topLinks"/>
<block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
<block type="core/text_list" name="top.menu" as="topMenu"/>
<!-- CMS Block into Layout begin-->
<block type="cms/block" name="cms_block_name">
<action method="setBlockId"><block_id>block_name</block_id></action>
</block>
<!-- CMS Block into Layout end-->
</block>

 

Де «block_name» — це «Identifier», який ми задали при створені блоку в панелі адміністратора, а cms_block_name — це ім’я, за допомогою якого ми будемо викликати блок в потрібному нам місці .phtml файлу. Для того щоб це зробити заходимо в app/design/frontend/your_package/your_theme/template/page/html/header.phtml і додаємо наступний код в потрібному для нас місці:

<?php echo $this->getChildHtml('cms_block_name') ?>

Тремо кеш в панелі адміністратора  System->Cache Management

clear_cache

Чистимо кеш в панелі адміністратора

Після цього оновлюємо сторінку в браузері (кнопка F5).

Додаємо блок в статичну сторінку (CMS Page)

Якщо ж потрібно вивести CMS block на статичній сторінці(наприклад на головній(Home Page)), тоді користуємося ось цим алгоритмом:

  1. Створюємо блок
  2. Заходимо на вже існуючу статичну сторінку або створюємо її в CMS->Manage Pages
  3. Додаємо наступний код в поле «Content», щоб викликати блочок:

{{block type="cms/block" block_id="block_name" template="cms/content.phtml"}}

поле Content

Додаємо код в поле «Content»

Оновлюємо сторінку в браузері (кнопка F5) і насолоджуємося результатом.

Advertisements
Категорії:How to (як зробити?), Magento Позначки:, , , ,
  1. romkachaos
    Лютий 17, 2010 о 11:57

    получилось добавить блок другим методом
    в /frontend/your_package/your_theme/template/page/html/header.phtml
    вместо getChildHtml(‘cms_block_name’) ?>
    надо getLayout()->createBlock(‘cms/block’)->setBlockId(‘cms_block_name’)->toHtml() ?>

    • Wolf
      Лютий 19, 2010 о 09:44

      Попробував Ваш метод. Дійсно працює, але замість cms_block_name потрібно використати block_name тоді все супер.

  2. romkachaos
    Березень 14, 2010 о 22:48

    Wolf :
    Попробував Ваш метод. Дійсно працює, але замість cms_block_name потрібно використати block_name тоді все супер.

    очень смешно…

    • Wolf
      Березень 15, 2010 о 09:09

      Що саме смішно? Якщо cms_block_name ≠ block_name тоді при
      getLayout()->createBlock(‘cms/block’)->setBlockId(‘cms_block_name’)->toHtml() ?> ваш блок не з’явиться.

  1. Листопад 16, 2009 о 11:14
  2. Березень 16, 2010 о 09:47
  3. Травень 12, 2010 о 08:41
  4. Червень 1, 2010 о 10:19
  5. Травень 9, 2011 о 08:06
  6. Березень 2, 2012 о 21:57

Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: