Raccourcis spip dans objet Fabrique

Bonjour,

On n’arrive pas à utiliser les raccourcis Spip (que ce soit des trucs genre « gras » ou « lien » depuis la barre d’outils typographiques ou même des modèles spécifiques) dans des champs d’objets créés par La Fabrique. Pourtant en base cela semble 100% identique à ce qui apparait dans un champ « texte » d’un article, donc on a l’impression que le souci serait à l’affichage, faut-il faire quelque chose pour que les traitements s’appliquent à ces champs ?
Merci d’avance,
Pierre

Oui, de mémoire, spécifier que tu souhaites appliquer « propre » à ces champs lors de la « conception » du plugin dans la fabrique.

Bonjour,
Oui on avait déjà l’idée que ça devait exister mais on ne trouve pas, on a regardé tous les paramètres rien qui ressemble à « propre », sauf si c’est vraiment un terme complètement différent, mais on nne voit rien qui correspondrait à ça.
Les forums et tous les commentaires dans Contrib ne retournent aucune info sur ce sujet pourtant ça semble une demande qui pourrait être courante en tous cas pour tous ceux qui ont utilisé la Fabrique !
Pierre

Cherche un truc à propos « des traitements typographiques ».

Bon on doit vraiment avoir les yeux plein de m… je viens de relire tous les champs et libellés pour ce plugin, rien qui ressemble ni à « propres » ni à « typographique », mon collègue a fait de même de son côté, lui non plus ne trouve pas… on a cherché pour chaque objet (il y en a 2 dans le plugin) et au niveau plugin, rien.

Est-ce que le « Mode des saisies » (PHP ou HTML) peut avoir une influence sur ça (on est en HTML) ?

Pierre

non le mode de saisie ne change rien

Ok merci.

Je viens encore de passer une bonne heure sur le sujet. J’ai d’abord pensé que potentiellement j’avais un problème dû à Spip 4 car La Fabrique n’est pas encore compatible (en fait on crée le plugin sur un Spip3 pour contourner le souci), mais non, j’ai le même souci sur le Spip3.

J’ai finalement trouvé une solution, je ne sais pas si je dois considérer ça comme pérenne, en fait il suffit d’ajouter le filtre |propre à chaque fois que je veux afficher ces champs et ça marche, donc on a rajouté ça à nos saisies et squelettes divers.

La méthode est logique, ce qui me semble bizarre c’est que La Fabrique ne propose pas ça comme une option pour les champs car si je veux que ça soit aussi affiché correctement dans le back-office cela implique de modifier des fichiers générés par La fabrique (par ex plugins/auto/nomduplugin/prive/objets/contenu/nomobjet.html) donc c’est pas terrible, La Fabrique ayant souvent vocation a re-générer le plugin au fur et à mesure des dev, on risque d’écraser ce genre de modif (surcharger semble aussi inadéquat, encore une fois La Fabrique a vocation à re-générer et donc la surcharge n’aurait pas les dernières modifs …), mais bon ça n’est que le back-office, on peut vivre avec.

Merci à ceux qui ont pris la peine de me lire.
Pierre

Le 10/03/2022 à 11:20, Pierr0t via Discuter de SPIP a écrit :

Merci à ceux qui ont pris la peine de me lire.

non non, ya pas à toucher à chaque utilisation dans les squelettes

c’est pour le champ, faut déclarer les filtres automatiques qui sont appliqués dessus (dans table_interfaces)

le plugin champs_extras le permet bien, c’est bizarre que la Fabrique le permettrait pas… (mais sinon faut le faire à la main après coup dans table_interfaces)


RastaPopoulos

Et donc, deux liens à ce sujet Traitements automatiques des balises - Programmer avec SPIP 4.0 & declarer_tables_interfaces - Programmer avec SPIP 4.0

et je viens de vérifier : effectivement la fabrique ne propose pas d’options pour permettre les traitements automatiques…

il faudrait ajouter, mais aussi trouver le temps pour se passer de jquery UI…

Le 10/03/2022 à 11:42, RastaPopoulos via Discuter de SPIP a écrit :

le plugin champs_extras le permet bien, c’est bizarre que la Fabrique le permettrait pas… (mais sinon faut le faire à la main après coup dans table_interfaces)

Mais effectivement l’interface de la Fabrique ne le propose pas.
Dans Champs Extras interface, c’est dans Technique => Traitements automatiques (aucun ou typo ou propre)

Mais sinon en PHP en SPIP, c’est bien documenté là :

dans « table_des_traitements » :

$interface['table_des_traitements']['BALISE'][]= _TRAITEMENT_RACCOURCIS;


RastaPopoulos

Bonjour,

Merci @b_b pour les 2 liens que j’étais déjà en train de lire suite au post de @rastapopoulos et à @maieul qui confirme que je ne suis pas tout à fait aveugle.

Bon mais je ne suis pas tout à fait au bout de mes peines j’ai essayé

  • dans mon plugin dans le fichier plugins/auto/monplugin/base/monplugin.php d’ajouter dans la fonction function monplugin_declarer_tables_interfaces($interfaces)
	$interface['table_des_traitements']['INFOS']['producteurs']= _TRAITEMENT_RACCOURCIS;
	$interface['table_des_traitements']['DESCRIPTION']['produits']= _TRAITEMENT_RACCOURCIS;

  • dans mes_options.php
$GLOBALS['table_des_traitements']['INFOS']['producteurs']= _TRAITEMENT_RACCOURCIS;
$GLOBALS['table_des_traitements']['DESCRIPTION']['produits']= _TRAITEMENT_RACCOURCIS;

Le premier marche pas, le second casse tout … J’ai aussi essayé avec _TRAITEMENT_TYPO, pas mieux … « INFO » et « DESCRIPTION » sont bien les noms des balises et « producteurs » et « produits » des boucles si je fait comme l’exemple avec « INFOS » et « chats » … ou alors je suis au mauvais endroit ?

Pierre

P… je suis c… … Il manque un « s » à « $interface » que j’ai copié de la réponse de @rastapopoulos … la bonne syntaxe est:

	$interfaces['table_des_traitements']['INFOS']['producteurs']= _TRAITEMENT_RACCOURCIS;
	$interfaces['table_des_traitements']['DESCRIPTION']['produits']= _TRAITEMENT_RACCOURCIS;

Et là ça marche sans « |propre ».
Grand merci à ceux qui ont pris la peine de répondre !