Проверить настройки Skip to content

Новый тип страницы в Magento

В CMS Magento (Мадженто) есть несколько стандартных типов страниц, так называемых шаблонов (template) или «лайяутов» (layout).

Это Empty, 1 column, 2 columns with left bar, 2 columns with right bar, 3 columns.

Казалось бы все есть, но если понадобится еще один пользовательский вид страницы Magento, к примеру в 4 колонки? Или стандартный в 2 колонки но с другими размерами колонок для новостей?

Простой пример, как сделать пользовательский тип страницы для Magento.

Можно сделать двумя способами:

  1. через папку Magento app/code/local/Mage (скопировав файлы из app/code/core/Mage)
  2. создать модуль для Magento, который просто будет добавлять функционал к стандартным файлам Magento из app/code/core/Mage

Наверное лучший способ — это создать как модуль Magento.

Пример.

  1. Откроем папку app/code/local
  2. Создадим папку поставщика/разработчика модуля(ей) Magento, к примеру Myname
  3. Откроем Myname и создадим папку для модуля, назовем Custompage
  4. Далее создадим файл конфигурации для Magento, в котором настраивается тип страниц. Откроем Custompage и создадим папку etc, и в папке etc создадим файл config.xml
  5. Открываем и смотрим файл app/code/core/Mage/Page/etc/config.xml, как  видно в теге <page> задаются типы страниц в Magento, и шаблоны .phtml для вывода контента. Задача модуля в том чтобы изменить/добавить в тег <page>
  6. Добавим изменения-правки в новый модуль Magento, открываем app/code/local/Myname/Custompage/etc/config.xml и вставим следующий код
    <?xml version="1.0"?>
    
    <config>
        <modules>
            <Myname_Custompage>
                <version>1.0</version>
            </Myname_Custompage>
        </modules>
    
        <global>
            <page>
                <layouts>
                    <one_column_custom module="page" translate="label">
                        <label>Custom 1 column</label>
                        <template>page/1column.phtml</template>
                        <layout_handle>page_one_column_custom</layout_handle>
                    </one_column_custom>
                </layouts>
            </page>
        </global>
    
    </config>

    Был добавлен блок

    <one_column_custom module="page" translate="label">
        <label>Custom 1 column</label>
        <template>custom/1column-custom.phtml</template>
        <layout_handle>page_one_column_custom</layout_handle>
    </one_column_custom>

    где label — название типа страницы Magento (появится в админ панели)
    template — шаблон .phtml файл, который будет обрабатывать вывод контента
    layout_handle — системный идентификатор типа страницы, можно будет работать через код и xml (к примеру обновлять блоки)

  7. Создадим шаблон, файл .phtml для обработки контента страницы нового типа. Открываем файлы/папку темы Magento которую используем или  по умолчанию app/design/frontend/default/default. И создадим файл 1column-custom.phtml, для примера вставим код из файла app/design/frontend/base/default/template/page/1column.phtml.
    Теперь осталось только подключить модуль для Magento. И сбросить кеш.
  8. Подключим  модуль Magento, открываем app/etc/modules, и создаем файл Myname_Custompage.xml. И вставим следущий  код
    <config>
        <modules>
            <Myname_Custompage>
                <active>true</active>
                <codePool>local</codePool>
            </Myname_Custompage>
        </modules>
    </config>

    Так подключим модуль в Magento. Если удалить Myname_Custompage.xml модуль не будет работать!

  9. И обновим кеш Magento

Зайдем в админ панель Magento: CMS -> Pages -> кнопка Add new page и в вкладке(таб) Design в выборе Layout появилось «Custom 1 column»

Новый тип страницы для Magento
Новый тип страницы для Magento

 

Скачать модуль Magento для создания пользовательского типа страниц

[share-locker locker_id=»77c6f352d4e4c5825″ theme=»blue» message=»Для получения ссылки на скачивание нажмите любую кнопку. Спасибо.» facebook=»true» likeurl=»CURRENT» google=»true» googleurl=»CURRENT» tweet=»true» tweettext=»» tweeturl=»CURRENT» follow=»false» linkedin=»true» linkedinurl=»CURRENT»]Myname_Custompage[/share-locker]

 

Модули для Magento
  • Pavel

    Понимаю что не по теме и сразу извиняюсь, но этот динамически красный прямоугольник отбивает всякое желание находиться на этом сайте… (

    • admin

      Спасибо. Исправленно

  • prokter666

    удалил код
    Макет *

    XML обновления макета
    теперь не знаю где его взять!!! шаблон по умолчаниюrwd…может подскажете??