Pregunta

Tengo una categoría en mi tienda que requiere un diseño totalmente diferente a los diseños estándar de Magento. Así que creé una nueva copia de la 1column.phtml y le cambió el nombre e hice un pequeño cambio a prueba.

Ahora el problema es que el diseño personalizado no aparece. He creado un módulo (que está funcionando como se ve en la administración> Configuración> Avanzado visión general).

Mis archivos y contenidos son los siguientes:

app / etc / módulos / Test_Page.xml

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Page>
            <active>true</active>
            <codePool>community</codePool>
            <version>0.1.0</version>
            <depends>
                <Mage_Page />
            </depends>
        </Test_Page>
    </modules>
</config>

app / código / local / Prueba / Página / etc / config.xml

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Page>
            <version>0.1.0</version>
        </Test_Page>
    </modules>
    <global>
        <page>
            <layouts>
                <homepage module="page" translate="label">
                    <label>Homepage</label>
                    <template>page/home.phtml</template>
                    <layout_handle>homepage</layout_handle>
                </homepage>

                <!-- add more layouts here -->
            </layouts>
        </page>
    </global>
    <frontend>
        <layout>
            <updates>
                <Test_Page>
                    <file>test_page.xml</file>
                </Test_Page>
            </updates>
        </layout>
    </frontend>
</config>

app / design / frontend / test / default / diseño / test_page.xml

    <?xml version="1.0"?> 
<layout>
    <homepage translate="label">
        <label>Home Page</label>
        <reference name="root">
            <action method="setTemplate"><template>page/home.phtml</template></action>
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </homepage> 
</layout>

No puedo ver todo lo que he metido la pata, trata de ser leído como un módulo, pero el diseño personalizado no se muestra arriba: (

¿Fue útil?

Solución

Con el fin de hacer que aparece en el diseño desplegable que necesita para crear un módulo personalizado (también se puede añadir algo en un archivo central pero por favor no hacer eso). Vamos a nombrar la extensión Easylife_Layout. Para ello, tiene que crear los siguientes archivos: app/etc/modules/Easylife_Layout.xml - el expediente de declaración

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

app/code/local/Easylife/Layout/etc/config.xml - el archivo de configuración

<?xml version="1.0"?> 
<config>
    <modules>
        <Easylife_Layout>
            <version>0.0.1</version>
        </Easylife_Layout>
    </modules>
    <global>
        <page>
            <layouts> 
                <lookbook module="page" translate="label">
                    <label>Lookbook</label>
                    <template>page/1column-lookbook.phtml</template>
                    <layout_handle>lookbook</layout_handle>
                </lookbook> 
            </layouts>
        </page>
    </global>
    <frontend>
        <layout>
            <updates>
                <easylife_layout>
                    <file>easylife_layout.xml</file>
                </easylife_layout>
            </updates>
        </layout>
    </frontend>
</config>

app/design/frontend/{interface}/{theme}/layout/easylife_layout.xml - el archivo de diseño

<?xml version="1.0"?> 
<layout>
    <lookbook translate="label">
        <label>Lookbook</label>
        <reference name="root">
            <action method="setTemplate"><template>page/1column-lookbook.phtml</template></action>
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </lookbook> 
</layout>

es necesario en caso El último que quiere ser capaz de hacer referencia a su diseño personalizado en archivos de diseño. Algo así como:

<update hande="lookbook" />

Borrar la caché y ... eso es todo. Le TME saber si funciona para ti.

Otros consejos

Hay dos posibilidades:

  1. añadir un diseño personalizado a su categoría y haga lo siguiente:

    <layout>
        <reference name="root">
            <action method="setTemplate"><template>page/1column-lookbook.phtml</template></action>
        </reference>
    </layout>
    
  2. implementarlo como un diseño de página y añadirlo a la config.xml en global/page/layouts/ pero no sé, cómo hacerlo exactamente.

Si sólo se necesita una vez, usted puede quedarse con la primera solución. Pero ten cuidado. Hay <action method="setIsHandle"><applied>1</applied></action> en el page.xml A veces esta configuración evita que el cambio de la plantilla.

Para hacer la primera solución: Seleccione su categoría, tiene que Custom Design y poner todo dentro del nodo <layout /> en el área de texto Custom Layout Update, por ejemplo:.

<reference name="root">
    <action method="setBackgroundGraphic">
        <background>two-pieces</background>
    </action>
    <action method="setTemplate">
    <template>page/2columns-right-highStep.phtml</template>
    </action>
    <action method="setIsHandle">
        <applied>1</applied>
    </action>
</reference>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top