Добавление нового макета страницы, например страницы категории
-
13-12-2019 - |
Вопрос
Я добавил новый макет страницы в свой магазин, и теперь, когда я хочу добавить другой макет страницы, он заменяется ранее добавленным макетом.
Почему это происходит?Могу ли я создать более одного макета?
РЕДАКТИРОВАТЬ:Я добавил в app/code/local/Home/Page/etc/config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_page>
<version>0.1.0</version>
</Home_page>
</modules>
<global>
<page>
<layouts>
<homepage translate="label">
<label>Home_page</label>
<template>page/homepage.phtml</template>
<layout_handle>home_page</layout_handle>
</homepage>
<!-- add more layouts here -->
</layouts>
</page>
</global>
</config>
Также добавлено app/etc/Home_page.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_page>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Page />
</depends>
</Home_page>
</modules>
</config>
И добавьте это app/design/frontend/default/my-theme/template/page/homepage.phtml
, что я использую свой макет на этой странице.
Решение
Вы не показали, как вы добавили больше макетов, но я подозреваю, в чем проблема:
<homepage translate="label">
<label>Home_page</label>
<template>page/homepage.phtml</template>
<layout_handle>home_page</layout_handle>
</homepage>
Дескриптор макета home_page
а также имя элемента <homepage>
должен быть уникальный.Итак, если вы добавляете дополнительные макеты и используете <homepage>
опять же, это переопределяет ранее добавленный <homepage>
расположение.
Другие советы
Ваш файл активации неверен.это должно выглядеть примерно так
Файл : app/etc/Home_Page.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_Page>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Page />
</depends>
</Home_Page>
</modules>
</config>
т.е. вы должны использовать Home_Page
вместо Home_page
везде.
Ваш конфигурационный файл должен быть
Файл: app/code/local/Home/Page/etc/config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_Page>
<version>0.1.0</version>
</Home_Page>
</modules>
<global>
<page>
<layouts>
<homepage module="Home_Page" translate="label">
<label>Home Page</label>
<template>homepage/unique.phtml</template>
<layout_handle>home_page</layout_handle>
</homepage>
<!-- add more layouts here -->
</layouts>
</page>
</global>
</config>
У вас была такая же проблема и с этим файлом.
Есть пара вещей, которые задерживаются в вашем модуле.Они являются :
вы должны определить xml-файл обновления макета для вашего модуля :Воспользуйся этот файл для определения вашего пользовательского дескриптора страницы.Для получения более подробной информации вы можете обратиться в
app\design\frontend\base\default\layout\page.xml
.Там смотрите определениеpage_one_column
дескриптор макета.Вам нужно такое определение дляhome_page
внутри вашего собственного xml-файла обновления макета.Вы должны определить файл шаблона макета страницы.В соответствии с изменениями, которые я показал выше, вы должны определить этот файл по адресу
app\design\frontend\base\default\template\homepage\unique.phtml
.Воспользуйсяapp\design\frontend\base\default\template\page\1column.phtml
в качестве ссылки на это.
Удачи