Skip to content
Extraits de code Groupes Projets
Valider 2679a46b rédigé par nicod's avatar nicod
Parcourir les fichiers

Fonctions génériques pour retrouver les blocktypes enfants/parents

parent a42e3e9c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -218,3 +218,22 @@ function blocks_trouver_squelette($identifiant, $force_public = false, $chemin_c ...@@ -218,3 +218,22 @@ function blocks_trouver_squelette($identifiant, $force_public = false, $chemin_c
return $squelette; return $squelette;
} }
function bloctypes_trouver_enfants($id_blocktype) {
return bloctypes_trouver_role($id_blocktype, 'enfant');
}
function bloctypes_trouver_parents($id_blocktype) {
return bloctypes_trouver_role($id_blocktype, 'parent');
}
function bloctypes_trouver_role($id_blocktype, $role) {
if (
$id_blocktype
&& $role
&& ($blocktypes_parents = objet_trouver_liens(['blocktype' => $id_blocktype], ['blocktype' => '*'], ['role' => $role]))
) {
return array_column($blocktypes_parents, 'id_objet');
}
return [];
}
...@@ -164,13 +164,11 @@ function formulaires_editer_blocktype_charger_dist($id_blocktype = 'new', $retou ...@@ -164,13 +164,11 @@ function formulaires_editer_blocktype_charger_dist($id_blocktype = 'new', $retou
$valeurs = formulaires_editer_objet_charger('blocktype', $id_blocktype, '', $lier_trad, $retour, $config_fonc, $row, $hidden); $valeurs = formulaires_editer_objet_charger('blocktype', $id_blocktype, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
$valeurs['objets'] = blocks_deserialize($valeurs['objets']); $valeurs['objets'] = blocks_deserialize($valeurs['objets']);
if ($blocktypes_enfants = objet_trouver_liens(['blocktype' => $id_blocktype], ['blocktype' => '*'], ['role' => 'enfant'])) { if ($valeurs['blocktypes_enfants'] = bloctypes_trouver_enfants($id_blocktype)) {
$valeurs['blocktypes_enfants'] = array_column($blocktypes_enfants, 'id_objet');
$valeurs['conteneur_enfants'] = 'on'; $valeurs['conteneur_enfants'] = 'on';
} }
if ($blocktypes_parents = objet_trouver_liens(['blocktype' => $id_blocktype], ['blocktype' => '*'], ['role' => 'parent'])) { if ($valeurs['blocktypes_parents'] = bloctypes_trouver_parents($id_blocktype)) {
$valeurs['blocktypes_parents'] = array_column($blocktypes_parents, 'id_objet');
$valeurs['conteneur_parents'] = 'on'; $valeurs['conteneur_parents'] = 'on';
} }
......
...@@ -11,8 +11,8 @@ ...@@ -11,8 +11,8 @@
<B> <B>
<p><strong class="label"><:blocktype:champ_conteneur_enfants_label:/> : </strong></p> <p><strong class="label"><:blocktype:champ_conteneur_enfants_label:/> : </strong></p>
<ul class="spip"> <ul class="spip">
<BOUCLE(spip_blocktypes_liens){id_blocktype}{role=enfant}> <BOUCLE(DATA) {source tableau, #ID_BLOCKTYPE|bloctypes_trouver_enfants}>
<li>#INFO_TITRE{blocktype,#ID_OBJET}</li> <li>#INFO_TITRE{blocktype,#VALEUR}</li>
</BOUCLE> </BOUCLE>
</ul> </ul>
</B> </B>
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
<B> <B>
<p><strong class="label"><:blocktype:champ_conteneur_parents_label:/> : </strong></p> <p><strong class="label"><:blocktype:champ_conteneur_parents_label:/> : </strong></p>
<ul class="spip"> <ul class="spip">
<BOUCLE(spip_blocktypes_liens){id_blocktype}{role=parent}> <BOUCLE(DATA) {source tableau, #ID_BLOCKTYPE|bloctypes_trouver_parents}>
<li>#INFO_TITRE{blocktype,#ID_OBJET}</li> <li>#INFO_TITRE{blocktype,#VALEUR}</li>
</BOUCLE> </BOUCLE>
</ul> </ul>
</B> </B>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter