Adicionar nova opção de layout de página Magento

11

Eu gostaria de adicionar um novo layout de página no Magento que será uma opção que pode ser selecionada nas páginas do CMS. Copiei o 1-column.phtmlcódigo, adaptei-o levemente e mudei para1-column-version2.phtml.

Gostaria de saber como proceder para referenciar o novo arquivo para que ele apareça nas opções de layout da página do CMS .

.

YorkieMagento
fonte

Respostas:

18

Para atender aos seus requisitos, você precisa criar uma extensão - sem isso, não é possível.

Arquivo de configuração do módulo:

Crie o arquivo de configuração do módulo em app/etc/modules/Amit_NewLayout.xml

Código:

<?xml version="1.0"?>
<config>
    <modules>
        <Amit_NewLayout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Page />
            </depends>
        </Amit_NewLayout>
    </modules>
</config>

Definir config.xml

Agora defina 1-column-version2.phtmlcomo o modelo para o novo layout em app/code/local/Amit/NewLayout/etc/config.xml

Código:

<?xml version="1.0"?> 
<config>
    <modules>
        <Amit_NewLayout>
            <version>0.0.1</version>
        </Amit_NewLayout>
    </modules>
    <global>
        <page>
            <layouts> 
                <new_cms_layout module="page" translate="label">
                    <label>New Cms Layout</label>
                    <template>page/1-column-version2.phtml</template>
                    <layout_handle>lookbook</layout_handle>
                </new_cms_layout> 
            </layouts>
        </page>
    </global>
</config>

Agora, você poderá ver esse layout nas opções de layout da página do CMS.

Amit Bera
fonte
Sem este post, não é possível.
jmargolisvt
1

Crie um módulo e adicione xml abaixo no seu arquivo config.xml.

app/code/local/Namespace/CustomLayouts/etc/config.xml

<?xml version="1.0"?>
<config>
 <global>
  <page>
   <layouts>
    <custom_static_page_one>
     <label>Custom static page</label>
     <template>page/1-column-version2.phtml</template>
    </custom_static_page_one>
   </layouts>
  </page>
 </global>
</config>

Registre seu módulo

app/etc/modules/Namespace_CustomLayouts.xml

<?xml version="1.0"?>
<config>
 <modules>
  <Namespace_CustomLayouts>
   <codePool>local</codePool>
   <active>true</active>
  </Namespace_CustomLayouts>
 </modules>
</config>

Crie seu próprio arquivo de modelo page/1-column-version2.phtml

Akhilesh Patel
fonte
-3

Adicione seu código em

app\code\core\Mage\Page\etc

config.xml:

com

 <My_one_column_cms module="page" translate="label">
        <label>My One Column</label>
        <template>page/home.phtml</template>
        <layout_handle>My_one_column_cms</layout_handle>
        </My_one_column_cms>

Você pode alterar os nomes conforme seu desejo em xml em u pode colocar qualquer palavra

Em seguida, crie home.phtml como seu modelo em newtheme / newpack / page / ou no seu tema padrão

Amit
fonte
Imprudente para modificar os arquivos principais.
precisa saber é o seguinte
Você nunca deve alterar diretamente os arquivos principais. Para elaborar, se você atualizasse sua instância do Magento, perderia suas alterações. É por isso que você deve criar seu próprio ramal e implementar como na resposta de Amit Bera
JoshCarter