Magento – Un bloque estático en páginas específicas, sino en cierta página

IMAGEN

Recientemente Necesitábamos una solución, para mostrar un pequeño banner con una información del cliente en todos los lados pero no en el pago y envío. En el carro, sin embargo, que debería aparecer.

Contribuyendo del tema (Pero la información sólo puede aparecer en la página principal en cualquier otra página ENLACE) tuvimos, pero este enfoque es otro.

Queremos tener una franja en la parte superior de la pantalla, los contenidos de los cuales proviene de un bloque estático. Él debe editarse libremente y sin tener que acceder a los archivos CSS. La pantalla es similar a la notificación demo de tienda de Magento. Para ello trabajamos con diferentes archivos.

  1. Crear el archivo
    app / design / frontend /[Eigenes Theme]/[ebenso]/plantilla / página / html / site-info.phtml
  2. app / design / frontend /[Eigenes Theme]/[ebenso]/plantilla / página / html / header.phtml
  3. app / design / frontend / RWD / default / diseño / page.xml
  4. app / design / frontend / RWD / default / diseño / checkout.xml

El primer archivo que coloque nuevo y escribir en el siguiente puramente:

<?php echo $ this->getLayout()->createBlock('Cms / block')->setBlockId('información del encabezado del sitio')->ToHTML();?>

abrimos el segundo archivo y escribimos

<?php echo $ this->getChildHtml('información del sitio'); ?>

una a ninguna parte (en el que a su vez el bloque). Los tenemos en la parte frontal superior

<div class ="encabezado-idioma-fondo">

eschrieben. Esto carga la antigua datos – pero sólo después de que el próximo cambio.

En el tercer archivo que estamos buscando

<bloque type ="Página / html_header" nombre ="encabezamiento" como ="encabezamiento">

y no añadir la siguiente línea debajo de ella

<bloque type ="núcleo / plantilla" nombre ="información del sitio" template ="page / html / site-info.phtml" />

Dies sorgt dafür, que el bloque de HTML es cargado. Ahora este bloque sería cargado en cada lado. Dado que queremos, que no está cargado en el checkout, tenemos que

ajustar el cuarto archivo. Aquí, entonces

<checkout_onepage_index translate ="etiqueta">

buscó y este código insertado

<quitar el nombre de ="información del sitio"/>

Hicimos esto

<quitar el nombre de ="a la izquierda"/>

HECHO.

De esta manera le decimos a la tienda, que no debería invitar a este bloque en una página de pago. Por lo tanto, no hay salida. Los dos últimos cambios se podrían hacer, por cierto, también en su propio local.xml. Y, por supuesto, dicho código se puede instalar en cualquier otro lugar deseado.

Ahora sólo el bloque estático no se encuentra. Ahora vamos a crear uno con el código “sitio-header-info”. Aquí puede escribir ya sea en lo que quieras. Dado que no cambiamos el archivo CSS, pero desea realizar ningún cambio desde el bloque estático, podría ser un posible código HTML para el aspecto de bloque como esto

<div class ="información del sitio" style ="altura mínima: 50px; color de fondo: rojo; color: blanco; acolchado superior: 15px; fondo acolchado: 15px;">
<p style="text-align: centro;">20% ahorra con el código de cupón XYZ - toda la información se puede encontrar <span style ="text-decoration: subrayar;"><un estilo ="color: blanco; text-decoration: subrayar;" href ="http://www.test.de">AQUÍ</un></lapso>.</p>
</div>

Una vez que activa el bloque, el bloque en los escaparates. desactivar de nuevo, el bloque es completamente invisible.

Se utiliza en la versión de Magento 1.9 Comentarios? Adiciones? Notas? Con alegría!

Publicado por Covos

DESDE 2009 He estado trabajando intensamente con Magento. Empecé con la creación y el funcionamiento de las tiendas B2C. Esto se extendió a través de mi trabajo en el sector de la logística. Esto dio lugar a sistemas especializados primera B2E. Hoy trabajo del día a día con una emocionante B2C, B2B- y proyectos B2E e informes en este blog sobre los desafíos y dan consejos de expertos.

Deja un comentario

Su dirección de correo electrónico no será publicado. Los campos obligatorios están marcados *