No hace mucho me hablaron de CouchCMS en Facebook, un CMS open source (que no libre) ligero y flexible. Apenas he podido trabajar con él todavía porque cada día ando más liado con proyectos varios (y en el curro, de momento, el que quiera CMS va a chupar WordPress por un tubo, que para algo es por el que mejor me muevo de momento).
En todo caso una de las ventajas de este cms es que nos permite fácilmente definir una región de nuestro HTML como editable, de forma que el usuario pueda cambiar fácilmente su contenido desde el panel de administración, como si de una publicación en un blog se tratara.
Vamos a suponer que ya tienes instalado el CMS en tu servidor y que dispones de una web estática HTML, en la que quieres declarar como editable una región. Lo primero es cambiar la extensión de tu archivo .html por .php y, lo siguiente, es añadir antes de la cabecera del HTML el script cms.php desde la carpeta donde guardaras el Couch:
<?php require_once( 'couch/cms.php' ); ?>
Y al final del archivo, en la última línea, la llamada a ejecución de Couch:
<?php COUCH::invoke(); ?>
Con esto tenemos CouchCMS funcionando sobre nuestra vieja página HTML estática. Ahora vamos a con el siguiente paso: declarar editable una región. Para esto basta con usar un par de etiquetas.
<!-- Imaginemos que este es nuestro código inicial --> <h3>Le título!</h3> <p>Un parrafillo estático del todo</p> <!-- Con estas etiquetas ya sería editable la región --> <h3>Le título!</h3> <cms:editable name='contenido' type='richtext'> <p>Un parrafillo estático del todo</p> </cms:editable>
La etiqueta cms:editable es la que define como tal una región (ok, esto es de captain obvious). El nombre que le demos debería ser único, ya que cuando entremos a la zona de administración del cms la región será identificada con dicho nombre en el editor. En el type hemos puesto, ya que será un texto, richtext para poder modificarla y formatear con un editor WYSIWYG, si bien existen muchas posibilidades.
Próximamente, cuando vaya explorando un poco, iré añadiendo más cosas sobre este cms.