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

Une fonction générique pour obtenir les valeurs d'un block en fonction de ses saisies

parent 2ceb81cf
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -83,19 +83,10 @@ function _block_charger_block($id_block) {
'spip_blocktypes bt join spip_blocks b using(id_blocktype)',
$where
)) {
$contexte = [
'id_block' => $id_block,
];
// transmettre les valeurs saisies dans le block au squelette
$saisies_blocktype = blocks_deserialize($infos['saisies']);
if ($valeurs_saisies = blocks_deserialize($infos['valeurs'])) {
include_spip('inc/saisies_lister');
$saisies_par_nom = saisies_lister_par_nom($saisies_blocktype);
foreach ($saisies_par_nom as $nom => $saisie) {
$contexte[$nom] = $valeurs_saisies[$nom] ?? null;
}
}
$contexte = array_merge(
['id_block' => $id_block],
block_get_valeurs($infos['saisies'], $infos['valeurs'])
);
$retour = recuperer_fond('inclure/block', $contexte);
}
......@@ -193,6 +184,27 @@ function generer_TITRE_BLOCK($id_block): string {
return $titre;
}
/**
* Retourner un tableau des valeurs saisies
*
* @param string $saisies (sérialisées)
* @param string $valeurs (sérialisées)
*
* @return array
*/
function block_get_valeurs(string $saisies, string $valeurs): array {
$retour = [];
$saisies_blocktype = blocks_deserialize($saisies);
if ($valeurs_saisies = blocks_deserialize($valeurs)) {
include_spip('inc/saisies_lister');
$saisies_par_nom = saisies_lister_par_nom($saisies_blocktype);
foreach ($saisies_par_nom as $nom => $saisie) {
$retour[$nom] = $valeurs_saisies[$nom] ?? null;
}
}
return $retour;
}
/**
* Chercher le squelette correspondant à un block par son identifiant
*
......
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