Publi

  • Crea tus propias webs dinámicas en C++ de forma fácil y usando plantillas para no compilar a cada cambio

    Screenshot 12-08-2016-020848
    Esto forma parte de un pequeño proyecto que mantengo desde hace algo más de un año. El objetivo es crear un sistema con el que servir webs desde C++, que sea más o menos fácil de mantener y generar, flexible, que soporte enrutadores, plantillas, hosts virtuales con el fin de poder utilizarlo para diferentes tipos de aplicaciones a modo de panel de control web.

    Sobre todo está pensado para aplicaciones internas y no para desarrollos web públicos, por temas de seguridad y rendimiento cuando la carga aumenta considerablemente, aunque sí que podría ser utilizado sin problemas en segundo plano por nuestras aplicaciones web por eso de que en ciertas operaciones, un programa hecho en C++ rendirá mucho mejor que cualquier Javascript, Java, PHP, etc.… Leer artículo completo

  • Generar una página web completa a partir de varias plantillas en C++ con Silicon

    photo-1440952306150-7f239990787e

    En pleno auge de PHP7, con las velocidades que conseguimos para generar contenidos para web, sigo empeñado en la generación de contenido web en C++. Aunque se complica un poco la programación, el consumo de memoria y CPU suele ser más pequeño, en teoría, ya que lo más seguro es que algunas partes de PHP las hayan creado con más idea que yo las mías en C y hayan conseguido algoritmos más eficientes.… Leer artículo completo

  • Cómo buscar en un vector o una lista de mapas en C++

    photo-1433357094834-cdeebc8e9dce_r

    Una de las cosas que hacen mágico C++ es que podemos crear estructuras realmente grandes valiéndonos de las clases y estructuras de que disponemos. Vale, en otros lenguajes también podemos hacerlo, pero en C++ parece más grande aún dada la literatura de los tipos. Bueno, en Java podemos llegar a tener mucha más literatura, pero hoy el tema es C++.

    ¡ Una lista de mapas ! ¿Para qué?

    Bueno, el primer paso es hacer un ejemplo práctico para el que una lista de mapas puede ser útil y, por ejemplo, puede ser para almacenar información estructurada.… Leer artículo completo

  • Creando un controlador en Magento (paso a paso)


    Hace un tiempo comentábamos cómo crear un plugin para Magento. Ahora, vamos a completar ese plugin creando un controlador (y nos metermos ligeramente con las plantillas) para crear algo funcional dentro de nuestra instalación de Magento.

    Antes de nada, advertir que el tema de las mayúsculas y minúsculas tanto en nombres de archivos como nombres de módulos es un poco delicado, por lo que si queremos curarnos en salud, debemos elegir un nombre lo más sencillo posible.… Leer artículo completo

  • Magento: insertar bloques CMS dentro de nuestras plantillas

    Para dar flexibilidad a nuestros desarrollos con Magento y con el fin de permitir a los usuarios administradores cambiar fácilmente el contenido de su tienda hecha con Magento. Una buena opción es facilitar bloques estáticos de CMS dentro de nuestras plantillas. Por ejemplo, podemos empotrar un texto dedicado a la manipulación y al envío dentro de cada producto; o, es más, podemos tener varios modelos de bloques de manipulación y envío y que sea un atributo del artículo el que decida qué bloque mostrar.… Leer artículo completo

  • Magento: Conocer qué página de CMS se está visualizando ahora mismo


    Puede ser muy útil, sobre todo cuando estamos creando o modificando las plantillas principales de nuestro tema en Magento saber si la página actual se trata de una página de CMS. Esto lo podemos saber muy fácilmente con:

    1
    $route = Mage:app()->getRequest()->getRouteName();

    La variable route tendrá el valor “cms” si se trata de una página CMS, o podrá obtener el valor de la ruta del controlador actual (dependiendo de si estamos en el carrito, página de categoría, producto, dentro de un plugin, etc).… Leer artículo completo

  • Magento: Saber si estamos en la página principal (home page)

    Cuando estamos trabajando con Magento, en ocasiones necesitamos conocer si actualmente nos encontramos en la home de nuestro sitio o en cualquier otra página. Normalmente, la home, tendrá un diseño diferente y por eso debemos diferenciarla de las demás.

    Para ello, desde Magento 1.5+ tenemos una función que nos puede ayudar mucho en esta misión. Si nos encontramos en el header.phtml podemos comprobarlo llamando a:

    1
    2
    3
    4
    if ($this->getIsHomePage())
      echo "Estoy en la HOME";
    else
      echo "No estoy en la HOME";

    Pero si nos encontramos en cualquier otra plantilla, tenemos que llamar a esa misma función que se encuentra en el header, para ello obtenemos el singleton del header y se lo preguntamos:

    1
    2
    3
    4
    if (Mage::getBlockSingleton('page/html_header')->getIsHomePage())
      echo "Estoy en la HOME";
    else
      echo "No estoy en la HOME";

    O también podemos asignar el valor de Mage::getBlockSingleton(‘page/html_header’)-getIsHomePage() a una variable local y utilizar su valor en nuestra plantilla.… Leer artículo completo

  • Plantillas en EMACS

    pie-grandeEs la primera entrada de mi editor de texto favorito.

    Cuando pasas gran parte del día editando archivos, es muy útil que al empezar un fichero nuevo haya algo escrito, algo que siempre toca escribir a mano, unos pocos comentarios donde dices más o menos de qué va lo que hay en el fichero y poco más.

    Casi todos los editores modernos disponen de esa característica y emacs no iba a ser menos, sólo que hay que instalar una extensión (se puede hacer sin necesidad de extensiones, pero hace falta programar un poco y lo que queremos es una solución rápida que nos permita seguir trabajando en lo realmente importante), después de probar dos o tres, me quedo con emacs-template, es fácil de instalar y de configurar.… Leer artículo completo

  • Plantillas de correo dinámicas automáticas en Thunderbird

    Nuevo mensaje en Mozilla Thunderbird

    Nuevo mensaje en Mozilla Thunderbird

    Me pareció casi increíble que Mozilla Thunderbird no pudiera incluir plantilas en los e-mails automáticamente de serie. (Es cierto que soporta plantillas, pero tienes que pulsar en la plantilla antes de crear el mail).

    Afortunadamente, encontré hace tiempo la extensión ExternalTemplateLoader de Kaosmos. Nos introducir una plantilla que se cargará automáticamente cuando redactemos/respondamos/reenviemos un mensaje.  Pero además, esa plantilla podemos cargarla desde un archivo local o alojada en un servidor de Internet.… Leer artículo completo