Configuración por palabras clave // Actualizados los esqueletos Mollio

Hola

Por si a alguien le interesa para sus esqueletos, he estado actualizando los Mollio este fin de semana para actualmente, evitar el tener que editar el html para añadir o deshabilitar módulos de la web y poder hacerlo en base a palabras clave.

Si no los has modificado, la nueva versión no afecta para nada a los que ya tuvieras, ya que los módulos predeterminados se mantienen, pero en base a combinaciones de palabras clave, se puede escoger si están o no activos, por ejemplo:

Primero definimos que un artículo, servirá de configuración, por ejemplo, para « sommaire »

Para ello, del grupo « Design »,(si un artículo recibe una palabra de este grupo, deja de aparecer en el resto del sitio) le añadimos las palabras clave:

« _is_config » « _is_sommaire »

Y ahora le añadimos los elementos que queremos que mantenga de entre los predeterminados:

« _has_agenda » « _has_popul » « _has_menu » « _has_nube »

Y tendremos la página sommaire con « agenda », « artículos populares » « menú » y « nube de palabras clave »

Si queremos poner las plantillas con el juego de colores gris (tenemos el Rojo, Azul y Gris"

Crearemos otro artículo con las palabras:

« _is_config » « _is_site » « _is_grey »

En: " http://alufis35.uv.es/websvn/filedetails.php?repname=spip&path=%2Fmollio%2Fbranches%2F1.9%2Farticle_right_mods.html&rev=0&sc=0"
tenéis el siguiente bucle que se gasta para la barra derecha de menús de un « article »:

#SET{articulo,#ID_ARTICLE}
#SET{rubrique,#ID_RUBRIQUE}
#SET{lang,#LANG}
#SET{autor,#ID_AUTEUR}
#SET{breve,#ID_BREVE}
<B_art_cfg_right>
<BOUCLE_art_cfg_right(ARTICLES){titre_mot="_is_article"}{0,1}>

        <BOUCLE_art_cfg_right_elem(ARTICLES){id_article}{titre_mot="_is_config"}{0,1}>
                <BOUCLE_art_cfg_right_traduc(ARTICLES){id_article}{titre_mot="_has_traduc"}{0,1}>

                        [(#INCLURE{fond=mod_traduc}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_traduc>
                <BOUCLE_art_cfg_right_salida(ARTICLES){id_article}{titre_mot="_has_salida"}{0,1}>

                        [(#INCLURE{fond=mod_salida}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_salida>
                <BOUCLE_art_cfg_right_share(ARTICLES){id_article}{titre_mot="_has_share"}{0,1}>

                        [(#INCLURE{fond=mod_share}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_share>
                <BOUCLE_art_cfg_right_license(ARTICLES){id_article}{titre_mot="_has_license"}{0,1}>

                        [(#INCLURE{fond=mod_license}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_license>
                <BOUCLE_art_cfg_right_samesect(ARTICLES){id_article}{titre_mot="_has_samesect"}{0,1}>

                        [(#INCLURE{fond=mod_artssec}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_samesect>	
                <BOUCLE_art_cfg_right_sameauth(ARTICLES){id_article}{titre_mot="_has_sameauth"}{0,1}>

                        [(#INCLURE{fond=mod_artsaut}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_sameauth>
                <BOUCLE_art_cfg_right_keywords(ARTICLES){id_article}{titre_mot="_has_keywords"}{0,1}>

                        [(#INCLURE{fond=mod_keyword}{id_article=#GET{articulo}}{lang=#GET{lang}})]
                </BOUCLE_art_cfg_right_keywords>
        </BOUCLE_art_cfg_right_elem>
</BOUCLE_art_cfg_right>

        [(#INCLURE{fond=mod_traduc}{id_article=#GET{articulo}}{lang=#GET{lang}})]
        [(#INCLURE{fond=mod_salida}{id_article=#GET{articulo}}{lang=#GET{lang}})]
        [(#INCLURE{fond=mod_share}{id_article=#GET{articulo}}{lang=#GET{lang}})]

        [(#INCLURE{fond=mod_license}{id_article=#GET{articulo}}{lang=#GET{lang}})]
        [(#INCLURE{fond=mod_artssec}{id_article=#GET{articulo}}{lang=#GET{lang}})]
        [(#INCLURE{fond=mod_artsaut}{id_article=#GET{articulo}}{lang=#GET{lang}})]

        [(#INCLURE{fond=mod_keyword}{id_article=#GET{articulo}}{lang=#GET{lang}})]
<//B_art_cfg_right>

Este bucle busca por orden, que haya un archivo afectando a article, que sea de configuración y luego busca los elementos que hemos definido, y en caso de no encontrarlos, muestra los que hasta ahora eran los estándar.

El uso de #GET y #SET no es casual, al introducir la línea que muestra el código dentro de un bucle, el id_articulo que aparece por defecto, es el del artículo que contiene la configuración, no el que queremos visualizar, por ello, antes de realizar ningún bucle extra, grabamos los valores, y luego, los recuperamos para la inclusión del módulo.

Bueno, espero que os sea útil, para los que querais, los esqueletos, como siempre, se pueden obtener:

El manual de instalación, utilización está en el artículo original: http://alufis35.uv.es/Esqueleto-basado-en-Mollio-org.html

Si fuera posible, nos gustaría dar más independencia a los menús que la actual, pudiendo crear los módulos en la parte derecha o izquierda de la pantalla (que sería relativamente fácil) y lo más complicado sería poder cambiar el orden en el que se presentan, pero nos gustaría avanzar en esa dirección también :-).

Entre otras mejoras, los cambios relativos a nuestros datos de google analytics, etc deben incluirse en un fichero llamado custom_head.html y definirlo en « _is_site » « _is_config » « _has_customhead » de esta forma podremos actualizar los esqueletos sin perder ningún fichero…

Se ha incluido también un módulo de banners a la derecha, además del actual en la parte superior derecha, dichos banners (« Banners ») muestran hasta 5 artículos, utilizando para ello los mismos campos que muestra el banner_cabecera, es decir, el logo del artículo como imagen, el titulo como tooltip y la URL como enlace al que apuntan, y soportan la caducidad de los mismos indicando la fecha de redacción anterior como fecha de caducidad.

Espero que os sea útil

Saludos
Pablo


Pablo Iranzo Gómez
(http://Alufis35.uv.es/~iranzo/)
(PGPKey Available on http://www.uv.es/~iranzop/PGPKey.pgp)

Postulado de Boling sobre la Ley de Murphy:

Si se encuentra bien, no se preocupe. Se le pasará