Trouver les traductions des rubriques (récursif)
Par Patenteux
Conçu pour SPIP 1.8
J’ai conçu cette variante afin d’accomoder le cas où, dans un site SPIP, on veut trouver la traduction de certaines rubriques qui ne contiennent elles-mêmes que des sous-rubriques, celles-ci contenant des articles (ou possiblement d’autres sous-rubriques, celles-ci contenant des articles (ou possiblement d’autres sous-rubriques, celles-ci contenant des articles ([...]))).
Vous aurez compris que l’approche est récursive. Elle n’est appropriée que lorsque chaque langue est repésentée par une rubrique racine et que chaque rubrique racine de langue possède la même arborescence.
[Erreur...7][Erreur...8]
<?php
[Erreur...10] // cas normal (articles) : la table possede un champ id_trad
if ($param == 'traduction') {
$boucle->where[] = "((".$boucle->id_table.".id_trad > 0 AND "
. $boucle->id_table.".id_trad ='"."
. calculer_argument_precedent($idb, 'id_trad',
$boucles)
. "."')
OR
(" . $boucle->id_table.".".$boucle->primary." ='"."
. calculer_argument_precedent($idb, $boucle->primary,
$boucles)
. "."'))";
} else
erreur_squelette(_T('zbug_info_erreur_squelette'), $param);
}
[Erreur...12]function _recur_descendre_arbo($id_rubrique, &$profondeur)
{
if($profondeur == 0) {
return $id_rubrique;
} else {
$select[] = "id_parent";
$from[] = "spip_rubriques";
$where[] = "id_rubrique = $id_rubrique";
$result = spip_abstract_select($select, $from, $where);
if($rangee = mysql_fetch_assoc($result)) {
return _recur_descendre_arbo($rangee['id_parent'], --$profondeur);
}
}
}
?>
Une fois que c’est fait, dans le squelette de rubrique, on dit :
[Erreur...16]Et hop !
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 : |