Customizar el menu principal, y hacerlo editable

mipecera

Nuevo usuario
Hola, ahora mismo mi estructura de tienda es
1-cabecera (imagen)
2-barra de menú principal
3-contenido
4-pie

El contenido del menú principal está en mitema/template/catalog/navigation/top.phtml y es una lista de links dentro de un div, tipo a href...

Lo que quiero ahora es que ese archivo top.phtml no contenga los enlaces así, sino que los cargue de un CMS/bloque estático de la tienda/back end

De este modo, el menú principal se podría editar fácilmente sin tocar archivos del sistema.

Para ello puedo crear un bloque desde CMS/bloques estáticos, con el mismo contenido (la lista de los enlaces a href...) pero no sé con qué código puedo llamar a ese bloque desde el top.phtml... o si se debería hacer de otra forma; la cuestión es que puedan editarse desde el mimo backend

En el tema default hay una cosa así pero no acabo de ver claro cómo funciona. En el pie hay unos enlaces (About Us, Customer Service) que están en un bloque CMS/bloques estáticos/footer_links, y parece ser que los carga un archivo pero parece que ya está previsto en el núcleo del sistema.

Lo que he encontrado es esta explicación en los foros de Magento, lo intentaré si no veo más soluciones, pero creo que debe haber una fórmula más sencilla que no requiera meter mano a tantos archivos de Magento (hasta 4 archivos de template y de core, según esa guía).
 

OSdave

Super Moderador
Miembro del equipo
hola mipecera,

El archivo top.phtml se encarga de los links a las categorias, de manera dinamica.
Si te entiendo bien quieres crear un bloque con links estatico. Entonces si, lo creas desde CMS->Bloques estaticos y luego lo llamas en las paginas que quieres desde CMS->Gestionar Paginas con este código:
Insertar CODE, HTML o PHP:
{{block type="cms/block" block_id="your_block_identifier" template="cms/content.phtml"}}
http://www.magentocommerce.com/knowledge-base/entry/how-do-i-create-and-edit-static-blocks

El bloque del footer esta llamado en varios ficheros xml del directorio layout de tu template.
En el core no tendrias que tocar nada...
 

mipecera

Nuevo usuario
gracias OSDave, pero no se trata de colocarlo en una página sino dentro del header, en la cabecera, que aparece igual en todas las páginas.

Las categorías no las tengo en la navegación superior, sino en una barra lateral.

Lo que quiero es que el menú de navegación sea una serie de enlaces, pero no colocados en un phtml como ahora he hecho, sino que los cargue de un bloque estático gestionado en CMS/bloques
 

OSdave

Super Moderador
Miembro del equipo
vale, he encontrado una manera muy facil:
creas al bloque, como dijimos, y para añadirlo en el header, abres el app/design/frontend/default/default/layout/catalog.xml y dentro de las etiquetas
Insertar CODE, HTML o PHP:
<reference name="top.menu">
...
</reference>
arribo o debajo de <block type="catalog/navigation" name="catalog.topnav" template="catalog/navigation/top.phtml"/> añades:
Insertar CODE, HTML o PHP:
            <block type="cms/block" name="cms_test_block">
                <action method="setBlockId"><block_id>test_block</block_id></action>
            </block>
y voila :guiño:
 
Última edición:

mipecera

Nuevo usuario
eres un crack OSDave, ya pensaba yo que tenía que haber una forma mucho más sencilla de hacer algo así; lo he probado y funciona a la perfección

Ahora se controla totalmente desde el back end :)

gracias!
 

jenson-mx

Nuevo usuario
Mil gracias osDave pase horas buscándole y no le encontraba casi hasta media noche, me salvaste de un desvelo mas severo.

gracias!!
 

luisinc

Nuevo usuario
Alguien me puede ayudar con los siguiente por favor, tengo mi tienda lista pero no se como modificar mi Menú Principal. necesito colocar un icono al lado de la opción del menú.

Si el moderador de este foro me puede dar una mano le estaré agradecido.
 
Arriba