Como agregar static blocks

400c

Miembro
He estado investigando un poco y he logrado algunas cositas. Una de ellas es el manejo de los static blocks. La verdad que me encanta como esta organizado el magento. Aunque todavía se complica bastante.
Los static blocks son bloques estáticos que pueden situarse casi donde queramos. Aclaro que no se nada de programación (o casi) por lo que puede haber muchos errores en lo que les digo. pero funcionar, funciona.
Podemos usar estos bloques donde queramos en una página. Pudiendo así personificar por ejemplo, la página de una categoría. Lo que haríamos sería crear un bloque estático y ponerlo antes de la lista de subcategorías o productos.
Quedando de esta forma: http://www.magentocommerce.com/images/uploads/front_staticblock_cell.jpg
El ejemplo que muestro ahora solo agrega un static block en la homepage.
Para empezar creamos el statick block en:
cms----bloques estáticos despues le damos a "agregar un nuevo bloque"
en el título del bloque ponemos lo que queremos. En este caso "prueba" (sin comillas).
El identificador es el que crea la url. Puedes poner cualquier cosa sin símbolos raros. En este caso "prueba" (sin comillas)
En vistas de la tienda: Todas las vistas de tienda (todavía no investigue que se muestre solo en algunas tiendas, pero lo tendré que hacer)
En estado: "habilitado"
En contenido: Aquí pones en formato html lo que quieres que muestre. En mi caso es un embed con un link y lo puse de la forma siguiente:
<a href="http://tudomino/destino del link"> <embed flashvars="el origen de tu embed y el tamaño por ejemplo" type="application/x-shockwave-flash" /></a>

Una vez terminado el bloque lo guardamos.
Después en CMS----gestionar las páginas, vamos a la página donde queremos que se vea el bloque. En este caso homepage.
En el contenido de la misma agregamos lo siguiente:
{{block type="cms/block" block_id="prueba" template="cms/content.phtml"}}
Donde "prueba" es el identificador del bloque que creamos ateriormente.

Listo! ya tenemos el bloque en la homepage.

Espero que esto sirva para alguien

saludos
 
Última edición:

osmodiars

Nuevo usuario
fantastico esto, me re sirve, ahora

¿alquien sabe como puedo poner ese bloque en la columna de la derecha o izqueirda?
 

fafamonge

Nuevo usuario
Yo creé un static block cuyo HTML es un link a mi blog. No visualizo nada en el homepage de la tienda, sin embargo, en el código fuente veo esto:

<!-- start center -->
<div id="main" class="col-main">
<!-- start global messages -->
<!-- end global messages -->

<!-- start content -->
<ul>
<li><a href="http://www.fafamonge.com>Ir al Blog</a></li>

</ul>

Lo que quiere decir que sí se creó.

Hago lo que explicas en el otro ttema para moverlo a la izquierda, en mi caso edito el archivo left_col.phtml y no aparece nada, pero de nuevo revisando en el dódigo fuente, ve esta linea:

<!-- start left -->
<div class="col-left side-col">
<div class="box">
<a href="http://www.fafamonge.com>Ir al Blog</a>
</div>

Qué estoy haciendo mal?
 

OSdave

Super Moderador
Miembro del equipo
¿has vaciado el cache en el admin? o mejor aun trabaja con el cache deshabilitado. Incluso puedes eliminar el contenido del directorio /var/cache/, para estar segurissimo.

¿como has incluido el bloque en el home? (que codigo has puesto?)
 

OSdave

Super Moderador
Miembro del equipo
te falta una comilla doble despues de la url, en la etiqueta href:
HTML:
<a href="http://www.fafamonge.com>Ir al Blog</a>
 

magentologin123

Nuevo usuario
Hola. En todos los sitios como poner un bloque en la página principal, pero ¿Cómo puedo ponerlo en una categoría?
En la parte izquierda tengo el carrito, las opciones de compra y Comparar productos. Me gustaría añadir un bloque debajo de estos, pero no se donde tengo que agregar. Se como crear el bloque, pero no donde poner luego el codigo para que me salga ahi.

Un saludo
 

Xarlie

Super Moderador
Miembro del equipo
Hay dos posibilidades, si quieres que ese bloque salga en una categoría en exclusiva tendrás que hacerlo dentro del XML layout que encontrarás dentro de cada categoría.
Allí tendrás que meter la llamada XML a ese bloque, por ejemplo:

PHP:
<reference name="left">
<block type="tipo/bloque_depende_de_lo_que_sea" name="tu_nombre" template="catalog/mibloque.phtml"></block>
</reference>
En el caso que lo quieras para toda la sección de categorías, lo tienes que hacer dentro de tu plantilla, en layout/catalog.xml
Meter el <block... dentro de la zona de categorías.
 

magentologin123

Nuevo usuario
Hola de nuevo. Gracias por contestar.

¿Que tengo que poner en template="catalog/mibloque.phtml"? es que no se que página phtml seria, y no se que poner ahi.
 

magentologin123

Nuevo usuario
Yo al crear el bloque ya he introducido el codigo html. Por ejemplo, para poner una imagen: {{block type="cms/block" block_id="imagen" template="cms/content.phtml"}}

¿Que tipo de codigo tengo que poner en la pagina esa que creo yo? ¿que tengo que poner? perdona mi ignorancia, pero es que con esto me he perdido.
 

magentologin123

Nuevo usuario
Bueno, no me he explicado bien, lo que queria decir es que dentro de la creacion del bloque yo ya pongo mi codigo html para meter la imagen:

<img src="imagen.jpg" alt="" />

y no se que tengo que poner en el archivo phtml que tengo que crear yo.
 

Xarlie

Super Moderador
Miembro del equipo
Pues es lo mismo, en lugar de crear el código en el CMS/bloques lo creas en una página.
Si ya tienes el bloque creado en el gestor CMS puedes hacerlo llamando al identificador de ese bloque:

PHP:
<block type="cms/block" name="tu_nombre">
<action method="setBlockId"><block_id>el_nombre_del_bloque</block_id></action>
</block>
 

magentologin123

Nuevo usuario
Bueno, no me sale. Te pongo los pasos que he dado, a ver si ves el fallo.

Tengo el theme modern puesto, por si acaso afecta en algo.

1º) Creo un bloque de Título:Imagen y de Identificador:imagen. Vistas en todas las tiendas, y habilitado. Y pongo el código para poner una imagen.
<img src="imagen.jpg" alt="" />

2º) Entro en Catálogo/Categorias y selecciono la categoria a la que le quiero poner el bloque.

3º) En la pestaña Diseño Personalizado copio en Custom Layout Update el siguiente código:

<reference name="left">
<block type="cms/block" name="imagen" template="catalog/imagen.phtml"></block>
</reference>

En la opción Page Layout tengo puesto 2 columns with left bar.

4º) Creo un archivo llamado imagen.phtml y lo pongo en:

www.miservidor.es/tienda/app/design/frontend/default/modern/template/catalog

¿Esto esta bien? quizas deberia crearlo en otro sitio?

Introduzco el código:

<block type="cms/block" name="imagen">
<action method="setBlockId"><block_id>imagen</block_id></action>
</block>

5º) Actualizo la vista en mi navegador de mi categoria, y nada.....

Estoy intentando hacerlo incluyendo el codigo en la propia categoria porque creo que es mas facil aunque tambien he probado a modificar el catalog.xml, y nada.

Siento mucho darte tanto la tabarra. Muchas gracias
 

Xarlie

Super Moderador
Miembro del equipo
En el paso 4, en el fichero phtml no puedes meter XML, si te fijas en el código fuente de la página de la categoría te habrá escrito el código como HTML al estar con tags.
Dentro del phtml va código html y si quieres referencias un bloque desde un fichero phtml de la plantilla:

PHP:
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('imagen')->toHtml() ?>
 
Arriba