SPIP

Artículos de esta sección

  • [07] Boucles - Sintaxis completa

    En el capítulo anterior analizábamos un bucle en su expresión simple.
    Veamos ahora la sintaxis completa de un bucle que prevee la posibilidad de que la lista a mostrar no contenga elementos.

    <Bnombre>
       Código HTML opcional anterior. Aparece antes de la lista.
       No se muestra si la lista no contiene elementos

            <BOUCLEnombre(TIPO){criterios|filtros}{mascriterios}>
                Código HTML + balizas SPIP
            </BOUCLEnombre>

       Código HTML opcional posterior. Aparece después de la lista.
       No se muestra si la lista no contiene elementos
    </Bnombre>
       Código HTML alternativo. Es lo único que se muestra cuando
       la lista no tiene elementos
    <//Bnombre>

    Veamos un ejemplo:

    <B_ultimas_breves>
      <h2> Últimas Breves </h2>
      <ul>
            <BOUCLE_ultimas_breves(BREVES) {par date}{inverse} {0,5}>
              <li>
                [(#DATE|affdate_court) ; ]<a href="#URL_BREVE">#TITRE</a>
              </li>  
            </BOUCLE_ultimas_breves>
      </ul>
    </B_ultimas_breves>
    <br>Aún no hay noticias breves
    <//B_ultimas_breves>

    El código anterior mostraría las últimas 5 breves en la forma:

    <h2> Últimas Breves </h2>
    <ul>
            <li>fechacorta ; <a href="url_de_breve">Título de breve</a></li>
            <li>fechacorta ; <a href="url_de_breve">Título de breve</a></li>
            <li>fechacorta ; <a href="url_de_breve">Título de breve</a></li>
            <li>fechacorta ; <a href="url_de_breve">Título de breve</a></li>
            <li>fechacorta ; <a href="url_de_breve">Título de breve</a></li>
    </ul>

    Si no hubiese ninguna breve el código que mostraría sería:

    <br>Aún no hay noticias breves
  • [06] Primer contacto con BOUCLES y #BALIZAS

    Para seguir este capítulo se suponen unos mínimos conocimientos de HTML

    Si miramos el contenido de cualquiera de los ficheros que componen el esqueleto, (ver capítulo anterior), por ejemplo el sommaire.html:

    Nos fijamos en el cuerpo del documento:

    <body>
    <INCLURE{fond=inc-entete}{lang}>

    ...

    <INCLURE{fond=inc-pied}{lang}>
    </body>

    Los INCLURE significan que sean incluidos (en el lugar donde aparecen) los ficheros de cabecera (inc-entete.html) y pié de página (inc-pied.html). Estos dos html también estan en el esqueleto y por tanto se pueden modificar.
    Entre ambos (entre cabecera y pié) tenemos algunas balizas y algunos bucles:

    Las balizas como por ejemplo: #NOM_SITE_SPIP son unas variables de spip que serán susutituidas por su valor.
    Las balizas se escriben así:
    #BALIZA
    o bien mediante la expresión:
    [texto anterior (#BALIZA) texto posterior]
    Mediante esta segunda expresión, sólo se muestra en caso de existir (se hace para evitar errores que comprenderás más adelante)

    Los bucles son consultas a la base de datos que serán sustituidos por el resultado de la consulta. Mediante un bucle podemos decirle a spip que muestre los últimos 5 artículos ordenados por fecha. El lenguaje propio de spip (a base de bucles y balizas hace que no necesitemos conocer php ni mysql). Los bucles siguen esta estructura (en su expresión simple):

    <BOUCLEnombre(TIPO){criterio}>
       Código HTML + balizas SPIP
    </BOUCLEnombre>

    Un ejmplo sería:

    <BOUCLE_articulos_recientes(ARTICLES) {par date}{inverse}{0,10}>
            <h3><a href="#URL_ARTICLE">#TITRE</a></h3>
            [(#DATE|affdate)][, <:par_auteur:> (#LESAUTEURS)]
            <br>
    </BOUCLE_articulos_recientes>

    Analizamos:
    tenemos las etiquetas de inicio y fin de boucle. En la de inicio van las características del boucle que son las siguientes:

    - el nombre del bucle es _articulos_recientes (se puede elegir cualquier nombre, siempre que no lo dupliquemos, es decir, no se puede elegir el mismo nombre para dos bucles).
    - el TIPO es (ARTICLES) (artículos). Debe ser un tipo existente: (ARTICLES), (RUBRIQUES), (BREVES), etc. Es lo que queremos que liste (de la base de datos). En este caso le pedimos un listado de artículos.
    - hemos puesto tres criterios (entre los muchos que existen para elegir): {par date} (ordénalos por fecha), {inverse} (al revés, el más nuevo primero) y {0,10} (sólo desde el 0 hasta el 10, es decir, los 11 primeros)

    Entre ambas etiquetas (de inicio y fín) va el código html y las balizas SPIP que queramos poner. Con ello le decimos lo que queremos mostrar de cada elemento del boucle (en este caso lo que queremos mostrar de cada artículo). Por tanto tenemos:

    - las balizas en forma normal #TITRE (título) y #URL_ARTICLE (url del artículo)
    - una baliza deltipo #BALIZA, concretamente #DATE|affdate que significa la fecha de publicación del artículo formateada con affdate (sale la fecha en texto: 11 de agosto de 2006, en lugar de 11/8/2006 si no llevase el filtro affdate), y además al estar entre [corchetes] sólo la pondrá en caso de existir.
    - una última [texto anterior (#BALIZA) texto posterior] que es #LESAUTEURS (autor/a del artículo) con un texto anterior , <:par_auteur:> en el que además de los espacios en blanco y la coma (,) vemos la expresión <:par_auteur:>. Este tipo de expresiones <:cadena_de_texto:> son para internacionalizar los esqueletos y será traducida por by (inglés), par (francés), por (castellano), etc.

    Por tanto el resultado de ese bucle sería algo así:

    Título del artículo 1
    fecha, por autor

    Título del artículo 2
    fecha, por autor

    ...

    Título del artículo 11
    fecha, por autor
  • [05] Analizando un esqueleto

    Antes de aprender a modificar un esqueleto necesitamos conocerlo, saber que ficheros lo componen y para qué sirve cada uno. Nos centraremos en este artículo, en el contenido a mostrar.

    Distinguiremos dos partes en el diseño de la web:

    - Aspecto gráfico. Los colores y tipos de letra podemos cambiarlos modificando el código html y los estilos css. Sobre ello existe mucha información en la red y no es algo específico de spip, por lo que nos centraremos en la segunda parte
    - Contenido a mostrar. Aprendimos en un capítulo anterior a introducir contenido en nuestra base de datos. Se trata ahora de qué contenido mostrar y dónde mostrarlo. Por ejemplo nos puede interesar mostrar en portada los últimos 5 artículos o los últimos 20. Nos puede interesar mostrar sólo los títulos de los artículos, o bien una introdución, o incluso los artículos completos. Eso y muchas cosas más es lo que hace un esqueleto.

    Vamos a modificar a nuestro gusto el esqueleto por defecto de spip. Para ello:
    - necesitamos una copia de la carpeta /dist con otro nombre (por ejemplo /mi_esqueleto)
    - subimos esa copia (/mi_esqueleto) al servidor
    - le decimos a spip que use el nuevo esqueleto mediante $dossier_squelettes = "mi_esqueleto"; (ver capítulo anterior para más información).

    De momento no ha cambiado nada, pues el nuevo esqueleto es un copia del esqueleto por defecto.

    Analicemos los ficheros que contiene /mi_esqueleto :
    Algunas imágenes (*.png), algunos estilos (*.css) y un montón de *.html con nombres como:
    sommaire.html, rubrique.html, article.html, etc.

    Nuestro primer análisis será sobre el fichero sommaire.html, que es el que controla la portada del sitio.

    Pero antes de ello veamos qué controlan algunos de los ficheros.html

    Fichero.html   Descripción
    sommaire.html Portada del sitio
    rubrique.html Páginas de secciones
    article.html Páginas de artículos (aparece al hacer clic sobre un artículo)
    inc-entete.html Cabecera (aparece en la mayoría de páginas)
    inc-pied.html Pié de Página (aparece en la mayoría de páginas)
    plan.html Mapa del sitio

    Iremos analizando cada uno de estos ficheros, pero hay muchos más (de momento tenemos para empezar a modificar).

  • [04] Personalizando el diseño en SPIP

    En el capítulo anterior creábamos contenido para nuestra web con SPIP.
    En el presente artículo empezamos a personalizar el diseño.

    No cabe duda de que el aspecto gráfico de nuestra web es de suma importancia y la flexibilidad en la personalización del mismo es una de las muchas ventajas de spip respecto a otros cms.
    El diseño de las distintas páginas que componen nuesta web se conoce en spip como esqueleto
    Disponemos de varias opciones:

    - No tocar nada y dejar el esqueleto por defecto de spip. No necesitaríamos aprender nada, pero ese diseño es muy simple y estaríamos renunciando a una de las principales ventajas de spip.

    - Usar un esqueleto hecho por terceros. Tan sólo necesitamos aprender a instalarlo. Existen muchos esqueletos para descargar en la red (con licencia libre al igual que spip). Por ejemplo en ColeWebs. Puedes econtrar más esqueletos en spip-contrib.net.

    - Modificar un esqueleto existente. Se necesita aprendizaje. La web que estás viendo tiene uno de los esqueletos de ColeWebs que he modificado a mi gusto.

    - Modificar el esqueleto por defecto de spip. Es la opción que recomiendo y la que seguiremos en este manual. Eso es lo que he hecho en la web lubrin.org. Se necesita aprendizaje.

    - Crear un esqueleto desde cero. Sería bastante conplicado y se requieren bastantes conocimientos. No lo recomiendo.

    No es aconsejable modifcar directamente un esqueleto. Se deben realizar las modificaciones sobre una copia del esqueleto

    ¿Dónde está el esqueleto?

    En el capítulo 1 subimos (por ftp) spip al servidor. Si miramos la estructura de directorios

    Vemos una carpeta llamada /dist. Esa carpeta contiene el esqueleto por defecto de spip y no debemos modificar ninguno de sus ficheros.

    ¿Dónde pongo un esqueleto descargado de la red?

    - Cuando descargamos un esqueleto suele venir en un fichero que al descomprimir genera una carpeta parecida a /dist que debemos subir al servidor y colocar en la raíz del sitio (al igual que está /dist).

    - Además debemos decirle a spip que use el nuevo esqueleto. Supongamos que la carpeta del esqueleto descargado se llama /mi_esqueleto. Debemos buscar en la carpeta /ecrire un fichero llamado mes_options.php.
    Si no existe debemos crearlo con el siguiente contenido:

    <?php
    $dossier_squelettes = "mi_esqueleto";
    ?>

    Si ya existiese el fichero (porque anteriormente instalaste otro esqueleto), buscas la línea
    $dossier_squelettes = "esqueleto_anterior";
    y la sustituyes por:
    $dossier_squelettes = "mi_esqueleto";

  • [03] Creando nuestro primer contenido en SPIP

    Creando un artículo

    Previo al diseño de nuestra web con spip, vamos a darle contenido.
    Creamos dos o tres secciones (y alguna subsección).
    No aparecerán dichas secciones en el espacio público hasta que contengan algún artículo

    Las secciones vacías no aparecen en el espacio público

    Trás pulsar en Nuevo artículo, completamos todos los datos
    (Antetítulo, Título, Subtítulo, Texto, etc.), que en principio parecen
    muchos (después veremos como hacer para que no aparezcan tantos datos) y pulsamos Guardar.

    Publicando el artículo

    El articulo aún no está publicado (aún no es visible en el espacio público).
    Podemos pulsar sobre Modificar este artículo si queremos cambiar algo.
    Cuando esté a nuestro gusto, tendremos que publicarlo:

    <img
    src="http://lubrin.org/mat/images/spip/admin_spip07.jpg">

    Elegimos ’Este artículo está ... Publicado’ y pulsamos Validar

    Nos vamos a la parte pública y pulsamos Actualizar página

    Puedes ir completando más artículos si quieres

    Si consideras excesivo el número de apartados que aparecen (en el
    espacio privado) en cada artículo podemos reducirlo. Para ello entra en
    Configuración del sitio, apartado Los artículos. Debemos tener en cuenta que si desactivamos por ejemplo el subtítulo, ya no podrás poner subtítulo en ningún artículo que redactes (tú o otra persona con derechos a publicar artículos)

    Logos en secciones y artículos

    En nuestro primer contacto con el espacio privado de spip, pusimos un logo para nuestra web. También es posible (de forma análoga) poner logos para las secciones y para los artículos. Evidentemente encontrar un logo para cada artículo no siempre resulta fácil. Lo más adecuado es crear un logo para cada sección, entonces los artículos que no tengan logo, tomarán el de la sección (así no se queda ningún artículo sin logo)

    Primera breve

    Puedes practicar creando una breve, que al igual que los artículos debe
    pertenecer a alguna sección

    Primer sitio referenciado

    Cuando referencies un sitio puedes elegir (con o sin) sindicación:
    - Sin sindicación: aparecerá sólo un enlace al sitio referenciado
    - Con sindicación: aparecerá además del enlace al sitio, las últimas
    noticias publicadas por ese sitio