Inicio | Pedro Santana |  RSS  Mi tumblelog  Mis photos  Mi CV

 

Archivo de la categoría ‘Programacion’

Clase PHP 4 para templates (plantillas o themes)

Actualización: He modificado el post para agregar documentación más detallada sobre el uso de la clase.

En gelato estamos usando una clase para pocesar los themes de los tumblelogs, una clase heredada de esta versión alpha de Códice CMS (versión que solo quedó en el SVN) y mejorada para procesar bloques en gelato.

Creé este motor porque requeria algo ligero, que tuviera sólo lo que se necesita y nada más, por eso no utilicé ninguno de los tantos ya existentes y muy buenos.

La dejo aquí por si a alguien le interesa para algo:

La clase: themes.class.php

Modo de utilización

Para utilizar la clase debemos seguir los siguientes pasos:

La estructura de directorios para utilizar el template engine es la siguiente:

  • ./themes <– Se deben agregar los themes SIEMPRE dentro de la carpeta themes.
  • ./themes/nombreTheme/ <– Por cada theme se debe crear una nueva carpeta.
  • ./themes/nombreTheme/plantilla.htm <– dentro de la carpeta del theme se pueden agregar tantas plantillas como queramos.

Paso número 1: Crear la plantilla a utilizar, para esto debemos indicar entre llaves { } el nombre de la variable que va a sustituir el template engine. Debemos ponerle extensión .htm

post.htm (ruta: ./themes/gelato/post.htm)

  1. <div class="post">
  2.   <div class="regular">
  3.     <h2>
  4.         <a href="{Permalink}">{Title}</a>
  5.     </h2>
  6.     {Body}
  7.   </div>
  8. </div>

Paso número 2: Crear archivo PHP que creará una instancia del template engine para procesar la plantilla.

index.php (ruta: ./index.php)

  1. require_once("themes.class.php");
  2. // instancia con nombre del theme.
  3. $template = new plantillas("gelato");
  4. // variables a sustituir.
  5. $input = array("{Permalink}", "{Title}", "{Body}");
  6. // Valores reales.
  7. $output = array("http://www.gelatocms.com/", "Titulo", "Cuerpo");
  8. // cargamos la plantilla post y asignamos los valores.
  9. $template->cargarPlantilla($input, $output, "post");
  10. // mostramos la plantilla.
  11. $template->mostrarPlantilla();

Cualquier duda, favor de usar los comentarios del post.

El algoritmo del PageRank

Como me ha causado gracia el post de Ignacio sobre el algoritmo del PR, ahora me quedan la cosas claras ;)

Para muestra un fragmento (ir al post para verlo completo):

  1. //Sergey said good news sites have
  2. // lots of nested tables
  3. tablesOnPage = getTagCount(‘table’);
  4. if (tablesOnPage >= 50) {
  5. pagerank += 2;
  6. }

Via lo de Diego.

gelato cioccolato

Gelato CMSYa hace poco más de tres meses que liberé la primera versión pública de gelato

Desde entonces han pasado muchas cosas muy buenas, comenzando con la parte del equipo humano el cual se ha nutrido con miembros nuevos (al equipo le dedicaré un post en su momento), pasando por la parte técnica como por ejemplo ahora estamos en un servidor dedicado (gracias a Pablo Silva) y con varios servicios preparandose para salir a la luz próximamente.

Lo que me trae a este post, es que tenemos lista la nueva versión de gelato con nombre clave cioccolato, sí, un delicioso helado de chocolate!!

Descargar gelato cioccolato

Entre las novedades más interesantes cuenta con:

  • Bookmarklet.
  • Importación desde diferentes servicios web 2.0 utilizando sólo tu nombre de usuario (Twitter, Youtube, Last.FM,
    Tumblr, WordPress.com, Blogger y VOX).
  • Importación desde cualquier feed RSS/ATOM.
  • Soporte para .htaccess.
  • Acortador de URLs muy largas usando abbrr.com.
  • Nos mudamos de MooTools a jQuery.
  • Se incrementó la seguridad y se taparon los problemas conocidos.

Variables en PHP con espacios y acentos

Uno de esos ‘trucos’ que más que nada son curiosos, pero que pueden ser útiles en alguna ocasión.

  1. ${‘Variable con espacios y acentos’} = ‘El valor dado a la variable’;
  2. echo ${‘Variable con espacios y acentos’};
  3. // El valor dado a la variable.

gelato v0.90

Descargar gelato CMS v0.90

El tiempo se ha ido corriendo y mis nuevas actividades así como las ocupaciones de los otros miembros del equipo nos ha mantenido un poco alejados de gelato, pero ahora les informamos que ya tenemos la v0.90 en la calle.

Las novedades a grandes rasgos:

  • Código base más estable (rumbo a la salida de beta), esto con el arreglo de bugs tanto mayores como menores.
  • Un motor de localización.
    • Zonas horarias.
    • Soporte multilenguaje.
  • Sistema de comentarios (opcionales activándolos desde el panel de control).

Y que esperar de la siguiente versión:

  • API.
  • Motor para plugins.
  • Importar desde RSS.

Recuerden que aún estamos en beta, sean amables con él :-)