On calcule le token de l’URL pour l’auteur en cours. Ce token est valable pour l’URL en cours uniquement.
Il peut permettre de montrer un article en cours de rédaction.
par ailleurs on l'implemente en tant que filtre (filtre_slugify_dist) qui ne risque pas la collision
+ un shorthand slugify() tout court qui en general marchera mais que l'on protege de la collision vu le nom courant de la fonction
On revoit le modus : l'inclusion n'est faite que lors de l'appel de la fonction array_column, ca evitera de charger la lib pour rien
(au passage on pourrait reproduire ce pattern pour les autres fonctions de ce type proposees dans bonux)
-* avec un nom sans coherence avec l'autre constante existante
-* qui genere une erreur d'appel du pipeline qui n'est plus declare lorsque la constante est mise a false
On remet ca au propre, en renommant la constante _RELECTURE en _PREVISU_TEMPORAIRE_ACTIVE (qui complete donc _PREVISU_TEMPORAIRE_VALIDITE), et en deplacant le test au bon endroit pour que la desactivation ne provoque pas d'erreur sur fonction manquante
Tout comme `table_valeur()`, il est possible de préciser un chemin de clés associatives à l'intérieur du tableau et des sous-tableaux.
Un dernier argument optionnel, permet de fournir une valeur booléenne pour dire si l'ajout va se faire ou pas. Cela permet d'alléger l'écriture, notamment si un ajout ne doit se faire que si la valeur à ajouter existe.
[(#TABLEAU|push_table_valeur{a/b/c, valeur, #CONDITION})]
On peut imaginer pour celleux qui en aurait besoin, un filtre du même genre mais qui serait `set_table_valeur()` et qui ferait directement un "set", c'est-à-dire une assignation directe et non pas un "push" de liste. Autrement dit, dans le chemin "a/b/c", ce filtre assignerait toujours la valeur à "c" directement, ce qui est différent de faire de "c" une liste à laquelle on ajoute un élément.
Pour info : ce filtre (au moins ce "push"), est très utile pour permettre de créer des tableaux complexes en squelettes, ayant de nombreux niveaux, pour insérer des valeurs loin dans l'arborescence directement. Par exemple pour générer des JSON complexes en squelettes.
Pour tronquer le HTML il faut utiliser l’option « html », et pour faire plus intelligent comme SPIP (par défaut c’est bête), il faut annuler aussi l’option « exact » :
En PHP :
$texte = text_truncate($texte, 500, array('html' => true, 'exact' => false, 'ending' => '…');
En squelette :
[(#TEXTE|text_truncate{500, #ARRAY{html,' ', exact, '', ending, '…'}})]
Ce serait mieux de l'avoir maintenant dans le noyau. Mais Cédric a proposé de la mettre déjà là pour l'instant, pour la tester.
Je l'utilise en vrai, avec de la coupure HTML sur des articles avec images et vidéos, et cela marche bien.