Magento – Layout call static block CMS – Llamar desde Layout a Bloque CMS

Dentro de Magento tenemos la facilidad de poder llamar a un bloque estático o Cms Block/Bloque CMS desde un layout porque necesitemos incorporar una nueva funcionalidad por ejemplo en la apariencia de una plantilla.

Sólo es necesario un par de pasos:

1.- Crear el bloque CMS al que queremos llamar. En este caso llamaremos «bloqueCMS»

2.- Desde el layout donde lo queremos incorporar pondremos la llamada teniendo en cuenta la colocación con el atrbuto after o before. He puesto un nombre distintos en el atributo «name» para que nos demos cuenta que lo que cuenta es el id del bloque o identificador y no el título de él.

<block type="cms/block" name="Bloque-CMS-R2D2" before="contacto_dcha">
 <action method="setBlockId"><block_id>bloqueCMS</block_id></action>
 </block> 

Magento – Llamar a un Bloque CMS desde un Bloque CMS

Dentro de Magento tenemos la facilidad de poder llamar a un bloque estático o Cms Block/Bloque CMS desde otro bloque estático o desde una página.

Sólo es necesario un par de pasos:

1.- Crear el bloque CMS al que queremos llamar. En este caso llamaremos «llamada»

2.- Desde el bloque que va a ser el llamador o la página llamadora escribir lo siguiente.

 {{block type="cms/block" block_id="llamada"}}

Magento – Modificar mensaje de bienvenida – Modify wellcome message

Modificar o incluir en la plantilla el mensaje de Bienvenida de Magento no es complicado.
Lo primero y más sencillo es ver como incluirlo en la plantilla, normalmente en el header.phtml que te puedes encontrar en /app/design/frontend/default/plantilla/template/page/html
Ahí, puedes incluir la siguiente línea:

<p class="welcome-msg"><?php echo $this->getWelcome() ?> <?php echo $this->getAdditionalHtml() ?></p>

Esto, cogerá la combinación entre lo que tienes en el administrador y lo que tienes en el core.

Pongamos el caso de que cuando el cliente no está conectado quiero que salga «Bienvenido» y cuando está conectado, que le ponga «Bienvenido, Pepito Pérez».

Para ello no tocaríamos el código de core y en el administrador podríamos poner en Sistema-> Diseño->Cabecera: Bienvenido

Si no quiero que aparezca nada cuando no está conectado, el texto del administrador de Magento lo borraremos.

Ahora, hemos decidido ser más amigables y cambiar el texto de Bienvenida y ponerlo sólo con nombre o saludando con «Hola…».

Iremos a app/code/core/Mage/Page/Block/Html/Header.php y sin editarlo en ese sitio ya que perderíamos con los cambios de versiones, lo copiamos a app/code/local/Mage/Page/Block/Html/.

En la función getWelcome() es donde deberíamos la línea:
$this->escapeHtml(Mage::getSingleton(‘customer/session’)->getCustomer()->getName()));
por:
$this->escapeHtml(Mage::getSingleton(‘customer/session’)->getCustomer()->getFirstname()));

Magento Llamar a un bloque estático desde un phtml – Call static block in phtml

Llamar a un bloque estático desde un .phtml es bien sencillo. Sólo hay que recordar la sentencia!

Pongamos que hemos hecho un bloque estático para modificar un formulario de contacto típico de Magento y queremos que en ese bloque estático haya información de contacto de la tienda.

Primero creamos el bloque:
CMS-> Bloque estático

Imaginemos que de nombre le pusimos mas_info.

Lo guardamos y ahora editamos el fichero .phtml para insertar este código:

 <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('mas_info')->toHtml() ?> 

Obtener un atributo de un producto en Magento

Magento tiene una gran versatilidad para la definición de productos y filtros que puede llegar a ser un suplicio a la hora de mostrarlos, si aún no se está muy preparado con el modelo de datos de Magento.

¿cómo incluir un atributo de un producto en el frontend para que el cliente lo pueda ver? Muy sencillo.

Dependiendo si es una lista desplegable (drop-down) o no, se hará de la siguiente manera:

<?php echo $_product->getAttributeText(’attribute_name’) ?>
ó
<?php echo $_product->getAttributeName() ?>

Comprueba fácilmente en la ficha de producto, view.phtml e incluye el atributo que más rabia te dé.

Es sencillo y lo verás de inmediato.

Fuente en página web

Dolor de cabeza el que tenemos siempre para poner ciertas fuentas en una página web y más cuidado que hay que tener porque esa fuente puede no verla el navegador destino.

Supongamos que la fuente se llama «fto-ori»

El código para incrustar esa fuente en nuestro código sería:

@font-face {
src:
url(“fuentes/fto-ori.eot”), /*Para IE*/
url(“fuentes/fto-ori.ttf”) format(“truetype”); /*Para el resto*/
}
y el código para utilizarla sería:

body {

font-family:”fto-ori”;

}

También puedes incrustarlo directamente en el body:

body          { font-family:»fto-ori»,sans-serif; src: url(«fuentes/fto-ori.ttf»)

Inclusión Fecha creación Ticket – Factura Magento

Me he puesto un pelín las pilas de la cantidad de cosas que os quería contar!

Hoy hablaré de como incluir una cosa tan sencilla como la fecha de factura en una factura en Magento. Y diréis: ¿para qué esto?

Si con Magento tienes todas las formas de pago online (en ese mismo momento), no hay pegas, ya que la fecha del pedido y la de la factura coinciden, pero no es así en una transferencia no-online. Imaginemos que un cliente hace un pedido por transferencia y la transferencia no es efectiva hasta pasados un par de días. Eh ahí el problema! Tenemos fecha de pedido y factura distintos y muchas tiendas online quieren constancia de eso.

Muy sencillo, chicos!

Haremos la inclusión de la fecha de factura en los documentos, pdfs que se envía a los clientes.

Modificando el fichero Abstract.php e incluyendo la siguiente sentencia:

$page->drawText(Mage::helper(‘sales’)->__(‘Invoice Date: ‘) . Mage::helper(‘core’)->formatDate($invoice->getCreatedAtStoreDate(), ‘medium’, false), 285, 760, ‘UTF-8’);

Este fichero lo encontraremos en /httpdocs/app/code/core/Mage/Sales/Model/Order/Pdf. !Recordad no modificarlo al estar en core!

Copiarlo primeramente a /httpdocs/app/code/local/Mage/Sales/Model/Order/Pdf, con toda la estructura de directorios y en ese fichero modificarlo e incluirle la sentencia antes citada.

Validación en Magento

Cuánto tiempo amigos!

Demasiado jaleo para poder atender a todo, 😉

Os quería mostrar una posibilidad de incluir un check obligatorio para Magento:

<input type="checkbox" id="something" name="something" value="1" title="something" class="checkbox required-entry"

Esto es muy práctico para aquellos formularios o toma de contacto del cliente con la tienda online, solicitando que acepte los términos y condiciones de la tienda.

Google Adwords

Google Adwords es una herramienta que día tras día va avanzando para enseñar a sus clientes todas las entradas que han tenido en su web a través de enlaces patrocinados, desde la propia herramienta de búsqueda u otras revistas.

Hoy en día tienen un teléfono de asistencia gratuita muy cómodo para que te orienten y te ayuden a saber orientar tus campañas.

Hoy me he encontrado un editor de campañas para Windows y Mac, mucho más amigable que el propio navegador de google Adwords. Se llamada Adwords Editor y se puede bajar desde el siguiente enlace:  Editor Google

Muy cómodo porque a través de pantallas similares a las de cualquier programa puedes ir cambiando todo teniendo en cuenta que lo realizas en local y que cuando quieras llevar los cambios, los envías.

Bájate el programa con el enlace que te he pasado, prueba la experiencia y dame tus opiniones

Horde: Se produjo un error….[TRYCREATE] Mailbox does not exist

¿Quién no se ha pegado un poco con el cliente de correo Horde?

Para ser una aplicación en Linux, está fenomenal por las opciones que te da de configuración.

Lo que he visto es algo complicado los temas de importar y exportar si se necesitara como me pasó en agosto de una aplicación que estaba montada en otro hosting y la importación, no permitía realizarlo sobre la totalidad de los mails. Quiero recordar que lo máximo era, en aquel momento 2MG, que si se tienen fotografías en los mails se hacen con bien poquito hoy en día.

Hoy, vino un cliente comentándome que no podía borrar los mails que no quería. Esta vez tuve la gran suerte de que el cliente me pasó el texto que le ponía:

“Se produjo un error al eliminar mensajes de la carpeta «Entrada». Ésto es lo que dijo el servidor: [TRYCREATE] Mailbox does not exist.”

Os comentaré que este problema es super sencillo de arreglar y realmente no es un problema si no falta de configuración del correo, ya que al borrar los elementos no sabe donde llevarlos.

Este problema no se surge si el correo lo tienes configurado que se baje en el Outlook y desde Outlook es donde borras si no que ocurre desde webmail.

Pongo la solución para quienes se han encontrado con él y no saben que hacer:

1.- Accede al webmail de la cuenta de correo que está ocurriendo la incidencia.

2.- Si su webmail no va directamente al correo si no a las opciones del Horde, pinche sobre correo.

2.-Selección OPCIONES, arriba en los menúsprincipales del Horde.

3.- De entre las opciones de Mensajes, seleccione

“Eliminando y trasladando mensajes”

4.- A continuación pinche en Papelera y Crear papelera. Póngale nombre y …!Eureka!

Esto le creará una papelera para llevar los mensajes que son eliminados y que podrá borrar más tarde de forma definitiva.