Pregunta

Estoy escribiendo un nuevo archivo de diseño para un módulo personalizado. Como parte de esto, necesito incluir los enlaces superiores, por ejemplo. Inicie sesión, CART + (cantidad), mi cuenta, lista de deseos y también recientemente visto y nada más. Mi archivo de diseño se ve así,

  <?xml version="1.0"?>
  <layout version="0.1.0">
<dynamicblocks_index_index>
    <block type="core/template" name="root" output="toHtml" template="dynamicblocks/index.phtml" >
        <block type="page/template_links" name="top.links" as="topLinks"/>
        <block type="reports/product_viewed" before="right.permanent.callout" name="right.reports.product.viewed" template="reports/product_viewed.phtml" />
    </block>
</dynamicblocks_index_index>

Obtuve el enlace para cargar los enlaces superiores de página.xml

  <block type="page/template_links" name="top.links" as="topLinks"/>

Estoy seguro de que esto es lo que carga la información correcta en las páginas principales, ya que cuando lo comento, todos los enlaces superiores desaparecen. Pero en mi diseño personalizado solo puede cargar un enlace (inicio de sesión). Tampoco puedo ver cómo mi archivo de diseño es incorrecto o referencia incorrectamente, ya que carga los productos recientemente vistos como esperaba.

El problema que tengo es que los enlaces principales solo están devolviendo el enlace de inicio de sesión. ¿Alguna idea sobre esto?

¿Fue útil?

Solución

Para que la página solo muestre los enlaces que quería, tenía que decirle al XML que elimine ciertos archivos. Este es mi XML actualizado

  <dynamicblocks_index_index>

    <reference name="root">
        <action method="setTemplate"><template>dynamicblocks/index.phtml</template></action>
    </reference>   

    <reference name="header">
        <remove name="store_language" />
        <remove name="catalog.topnav" />
        <remove name="top.search" />
    </reference>

    <!-- <block type="reports/product_viewed" before="right.permanent.callout" name="right.reports.product.viewed" template="reports/product_viewed.phtml" /> -->

</dynamicblocks_index_index>

Otros consejos

Esta respuesta se basa en el discusión.

Antes de continuar debes verificar esto responder Para agregar correctamente la nueva plantilla de diseño.

Su archivo de diseño debe verse como:

<?xml version="1.0"?>
<layout version="0.1.0">
    <dynamicblocks_index_index>
        <reference name="root">
            <action method="setTemplate">
                <template>module/file/path/template.phtml</template>
            </action>
        </reference>
    </dynamicblocks_index_index>
</layout>

Y en su archivo de plantilla le dijo que el código escrito es: $this->getChildHtml();
En realidad, el problema allí es que no había especificado el nombre del bloque, por eso está obteniendo todo si solo necesita el enlaces principales. Entonces, el código en su archivo de plantilla puede parecer:

$this->getChildHtml('top.links');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top