Encontrar las «traducciones» de una sección

He aquí un método simple — sin palabras claves — para relacionar las secciones con el mismo contenido en diferentes idiomas.
Simula los enlaces entre las traducciones de los artículos encontrados por el criterio {traduction}

Los enlaces de traducción entre secciones no existen dentro de SPIP. Cuando uno piensa en un sitio como spip-contrib, los sectores de los distintos idiomas no tienen la misma estructura y los enlaces de traducción entre las secciones no tendrían mucho sentido.

Sin embargo, mucho sitios adoptan el multilingüismo duplicando la estructura del sector del idioma principal en los de otros idiomas. Entonces es útil y necesario darle al usuario una lista de enlaces hacia las otros idiomas de cada sección.

Si uno piensa adoptar en un sitio la estructura estricta descrita antes, las «traducciones» de una sección son en realidad secciones que contienen las traducciones de artículos de la sección original.

Hay una solución ingeniosa: hacer un bucle que encuentre estas secciones desde la lista de traducciones de los artículos que la sección actual contiene.

<BOUCLE_rub_pr(RUBRIQUES) {id_rubrique}>

Aqui el contenido habitual de la seccion

    <B_art_traduits>    

       aquí el texto precedente si hay una o más traducciones
    
    <BOUCLE_art_traduits(ARTICLES) {id_trad > 0} {id_rubrique} {par lang}>
        <BOUCLE_trad(ARTICLES) {traduction} {exclus}>
            <BOUCLE_rub(RUBRIQUES) {id_rubrique} {doublons}>
                <a href="#URL_RUBRIQUE">[(#LANG|traduire_nom_langue)]</a>
            </BOUCLE_rub>
        </BOUCLE_trad>
    </BOUCLE_art_traduits>
    
 Aquí el texto posterior si se encontraron traducciones-. 

    </B_art_traduits>

Aquí si no se encontraron secciones que contengan traducciones de artículos de esta sección. 

    <//B_art_traduits>


Aquí más contenido habitual de la sección

</BOUCLE_rub_pr>

El bucle rub_pr es el principal que determina cual es la sección que se está viendo acutalmente. Si editas tu esqueleto rubrique.html, ya tendras este bucle, probablemente con otro nombre

El bucle art_traduits lista los artículos de la sección. El criterio {id_trad > 0} nos permite obtener los artículos que tienen al menos una traducción. Este es el bucle que determina si habrá o no resultados de traducción de la sección. Si encuentra resultados, también mostrará los bloques opcionales (anterior y posterior al bucle).

El bucle trad busca las traducciones de los artículos, que, por el bucle anterior, se sabe que tienen alguna traduccion.

El bucle rub devuelve un enlace a la sección que contiene la traducción hallada. La utilización del criterio {doublons} asegura que no se mostrará más de una vez la misma sección.

Nota: Sin «ayuda externa» no hay forma de clasificar esta lista según algún criterio deseado. Directamente se muestra según el orden devuelto por el criterio {par lang} del bucle art_traduits.

La ayuda externa

Para resolver el problema del orden, se puede, desde la version [SPIP 1.8],
utilizar una nueva versión del criterio {traduction}
que cumplirá la misma función, con mas flexibilidad. Esto está basado en lo sugerido en el archivo

Le critère {traduction} étendu aux rubriques

, que se debe insertar en el
mes_fonctions.php3.

Entonces se podrá hacer directamente un bucle como el que sigue:

<BOUCLE_rub(RUBRIQUES)>
<hr>
#TITRE #ID_RUBRIQUE
<BOUCLE_trad(RUBRIQUES){traduction}>
<br />#PUCE #TITRE #ID_RUBRIQUE
</BOUCLE_trad>
</BOUCLE_rub>

Discussion

Aucune discussion

Comentar este artículo

¿Quién es usted?
  • [Conectarse]

Para mostrar su avatar con su mensaje, guárdelo en gravatar.com (gratuit et indolore) y no olvide indicar su dirección de correo electrónico aquí.

Añada aquí su comentario

Este formulario acepta los atajos de SPIP, [->url] {{negrita}} {cursiva} <quote> <code> y el código HTML. Para crear párrafos, deje simplemente una línea vacía entre ellos.

Añadir un documento

Seguir los comentarios: RSS 2.0 | Atom

Dernière modification de cette page le 9 de septiembre de 2014