Browse Source

Corriger l'affichage du champ extra type_article dans tous les cas de figure et suppression d'une notice.

master
Eric Lupinacci 3 years ago
parent
commit
28af9d5312
  1. 35
      inc/contrib_rubrique.php
  2. 26
      saisies/article_type.html

35
inc/contrib_rubrique.php

@ -5,36 +5,41 @@ if (!defined('_ECRIRE_INC_VERSION')) {
/**
* Retourne la description complète ou une liste de champs précisés dans l'appel
* d'un objet plugin identifié par son préfixe.
* d'un objet rubrique identifié par son id.
*
* @param int $id_rubrique Id de la rubrique.
* @param array|string $informations Identifiant d'un champ ou de plusieurs champs de la description d'une rubrique.
* Si l'argument est vide, la fonction renvoie la description complète.
*
* @return mixed La description brute complète ou partielle de la rubrique :
* - sous la forme d'une valeur simple si l'information demandée est unique (chaine)
* - sous la forme d'un tabelau associatif indexé par le nom du champ sinon.
* - sous la forme d'une valeur simple si l'information demandée est unique (chaine ou tableau à un élément)
* - sous la forme d'un tabelau associatif sinon.
* - sous la forme d'un tableau vide si une erreur s'est produite.
*/
function rubrique_lire($id_rubrique, $informations = array()) {
// Initialisation du tableau statique des descriptions
static $descriptions_rubrique = array();
if (($id_rubrique = intval($id_rubrique))
and !isset($descriptions_rubrique[$id_rubrique])) {
// Initialisation des attributs de la requête.
$from = array('spip_rubriques');
$where[] = 'id_rubrique=' . $id_rubrique;
// Initialisation de la description (sortie en cas d'erreur).
$description = array();
// Acquisition de tous les champs du plugin et sauvegarde de celle-ci à l'index du préfixe.
$descriptions_rubrique[$id_rubrique] = array();
if ($description = sql_fetsel('*', $from, $where)) {
$descriptions_rubrique[$id_rubrique] = $description;
if ($id_rubrique = intval($id_rubrique)) {
if (!isset($descriptions_rubrique[$id_rubrique])) {
// Initialisation des attributs de la requête.
$from = array('spip_rubriques');
$where[] = 'id_rubrique=' . $id_rubrique;
// Acquisition de tous les champs du plugin et sauvegarde de celle-ci à l'index du préfixe.
$descriptions_rubrique[$id_rubrique] = array();
if ($description = sql_fetsel('*', $from, $where)) {
$descriptions_rubrique[$id_rubrique] = $description;
}
}
}
// On extrait la description complète maintenant que l'on sait qu'elle existe.
$description = $descriptions_rubrique[$id_rubrique];
// On extrait la description complète maintenant que l'on sait qu'elle existe.
$description = $descriptions_rubrique[$id_rubrique];
}
// On ne retourne que les champs demandés
if ($description and $informations) {

26
saisies/article_type.html

@ -10,18 +10,16 @@
- l'environnement de la rubrique
]
<BOUCLE_article(ARTICLES) {id_article}>
[(#REM) Déterminer le type de rubrique ]
#SET{type_rubrique, #ID_RUBRIQUE|rubrique_determiner_type}
[(#REM) Déterminer le type de rubrique ]
#SET{type_rubrique, #ID_RUBRIQUE|rubrique_determiner_type}
<BOUCLE_types_article(DATA) {source table, #ENV{data}}>
[(#GET{type_rubrique}|in_array{#ENV{exclusions/#CLE}}|non)
<div class="choix[ (#ENV{class})]">
<input type="radio" name="#ENV{nom}" class="radio" id="champ_#ENV{nom}[_(#CLE)]_#COMPTEUR_BOUCLE" value="#CLE"[ (#ENV{valeur}|=={#CLE}|oui)checked="checked"]>
<label for="champ_#ENV{nom}[_(#CLE)]_#COMPTEUR_BOUCLE">
[(#VALEUR|ucfirst)]
</label>
</div>
]
</BOUCLE_types_article>
</BOUCLE_article>
<BOUCLE_types_article(DATA) {source table, #ENV{data}}>
[(#GET{type_rubrique}|in_array{#ENV{exclusions/#CLE}}|non)
<div class="choix[ (#ENV{class})]">
<input type="radio" name="#ENV{nom}" class="radio" id="champ_#ENV{nom}[_(#CLE)]_#COMPTEUR_BOUCLE" value="#CLE"[ (#ENV{valeur}|=={#CLE}|oui)checked="checked"]>
<label for="champ_#ENV{nom}[_(#CLE)]_#COMPTEUR_BOUCLE">
[(#VALEUR|ucfirst)]
</label>
</div>
]
</BOUCLE_types_article>

Loading…
Cancel
Save