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
, 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>
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |