В CMS Magento (Мадженто) есть несколько стандартных типов страниц, так называемых шаблонов (template) или «лайяутов» (layout).
Это Empty, 1 column, 2 columns with left bar, 2 columns with right bar, 3 columns.
Казалось бы все есть, но если понадобится еще один пользовательский вид страницы Magento, к примеру в 4 колонки? Или стандартный в 2 колонки но с другими размерами колонок для новостей?
Простой пример, как сделать пользовательский тип страницы для Magento.
Можно сделать двумя способами:
- через папку Magento app/code/local/Mage (скопировав файлы из app/code/core/Mage)
- создать модуль для Magento, который просто будет добавлять функционал к стандартным файлам Magento из app/code/core/Mage
Наверное лучший способ — это создать как модуль Magento.
Пример.
- Откроем папку app/code/local
- Создадим папку поставщика/разработчика модуля(ей) Magento, к примеру Myname
- Откроем Myname и создадим папку для модуля, назовем Custompage
- Далее создадим файл конфигурации для Magento, в котором настраивается тип страниц. Откроем Custompage и создадим папку etc, и в папке etc создадим файл config.xml
- Открываем и смотрим файл app/code/core/Mage/Page/etc/config.xml, как видно в теге <page> задаются типы страниц в Magento, и шаблоны .phtml для вывода контента. Задача модуля в том чтобы изменить/добавить в тег <page>
- Добавим изменения-правки в новый модуль 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 (к примеру обновлять блоки) - Создадим шаблон, файл .phtml для обработки контента страницы нового типа. Открываем файлы/папку темы Magento которую используем или по умолчанию app/design/frontend/default/default. И создадим файл 1column-custom.phtml, для примера вставим код из файла app/design/frontend/base/default/template/page/1column.phtml.
Теперь осталось только подключить модуль для Magento. И сбросить кеш. - Подключим модуль 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 модуль не будет работать!
- И обновим кеш Magento
Зайдем в админ панель Magento: CMS -> Pages -> кнопка Add new page и в вкладке(таб) Design в выборе Layout появилось «Custom 1 column»

Скачать модуль 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]