Principe
Depuis SPIP 3.0.0, l’ajout de champs supplémentaires (Champs Extra) aux objet SPIP est séparée en quatre composants :
- Un plugin pour déclarer les champs en PHP, objet du présent article.
- Un plugin, s’appuyant sur le précédent, pour créer et gérer ces champs dans une interface graphique.
- Deux plugins sur lesquels l’on s’appuie :
- L’un permettant de gérer les saisies de formulaires liées aux champs extra : “Entries for forms”.
- L’un permettant de vérifier les données saisies par le rédacteur ou la rédactrice : “Vérifier”
Déclarer ses champs
Deux possibilités s’offrent à vous :
- utiliser le plugin d’interface graphique
- déclarer en PHP, vous pouvez lire pour ce faire :
- Un tutoriel : “Tutoriel : créer des champs extras depuis un plugin”
- La référence complète du plugin : “Champs Extras — API et créations”.
Utiliser ses champs dans les squelettes
Créer de nouveaux types de saisies
Lire “Créer ses propres saisies”.
Xdebug et Nesting Level
Si vous rencontrez cette erreur : Fatal error : Maximum function nesting level of ’100’ reached c’est que xdebug est actif. Il faut augmenter sa profondeur d’exécution. Par exemple en mettant dans votre config/mes_options.php l’instruction suivante (pensez à ouvrir <?php
sur la première ligne et caractère du fichier si ce n’est pas fait, et pas la peine de le fermer)
<?php
ini_set('xdebug.max_nesting_level', 200);
Discussions by date of activity
5 discussions
Bonjour,
dans l’espace privé, il y a le groupe “Contenu éditorial” avec le champ “Article”. Je l’ai ajouté à un objet “événement”. Comment afficher dans un squelette le résultat de ce champ ? Quand je l’appelle directement pour tester, j’ai bien “article|xxxx” qui s’affiche. Ce que je cherche à faire, c’est récupérer l’ID de cet article pour afficher une partie de son contenu dans mon squelette événement. Ce n’est p-e pas possible ?
Actuellement, j’utilise des mots-clés pour ça. Mais j’aimerais simplifier les liaisons entre ces objets.
Le site est ici : https://www.jeunes-talents.org (les événements à venir sont en page d’accueil)
Merci pour votre aide,
Rémy
Reply to this message
Bonjour,
J’avais un site avec 2 champs extra sur les auteurs.
Après mise à jour de spip et des plugins champs extra, les 2 champs sont présents mais ne s’affiche plus dans les fiche auteurs.
De plus lors de la création d’un nouvel auteur, les champs extras ne sont plus présents.
Des idées pour retrouver tout ?
Etes vous sûr que le plugin champ extra n’aurait pas été desactivé pendant la mise à jour?
De quelle version de SPIP à quelle version etes vous passé ?
Mise à jour de 3.2 vers 4.1 de spip
Le plugin était présent avant la mise à jour.
Puis obsolète
J’ai mis à jour le plugin mais rien
J’ai même essayé un import du fichier des champs extra.
Ça m’annonce qu’il a récupéré les champs manquants mais toujours rien
Mais là le plugin il est activé ou pas ? As tu vider les caches ?
Actuellement il est activé.
J’ai vidé les caches du site, je tente de vider les caches du plugins
Caches vidés et rien de plus.
Hum, il doit surement y avoir quelque part une erreur PHP... est-ce que vous avez accès aux logs PHP ?
Si non, il faudra que je puisse debug en direct, je le crains.
Reply to this message
Bonjour,
grâce aux champs extra, on peut proposer des cases à cocher pour un groupe de mots-clés via la saisie “mots”, c’est magique.
Si on utilise les crayons, on peut facilement modifier ces mots-clés dans la partie publique, la magie opère encore.
Mais le résultat est stocké sous forme de liste dans un champs texte.
Comment faire en sorte que cela permette d’affecter effectivement les mots-clés à l’objet ?
Est-ce possible simplement ?
Et sinon... est-ce possible de façon complexe ? ;)
Une piste ?
Bah les champs extras ne sont pas des mot clés, donc non ce n’est pas possible via champ extra :)
les crayons en eux même ne permettent pas de gérer les liaisons entre objet (bien qu’on puisse imaginer de les étendres... mais il faudrait ouvrir un ticket)
sans devellopement du côté des crayons, la seule chose que je vois c’est de faire une inclusion du squelette
prive/objets/liste/mots_lies.html
en passant les bon paramètres, sans garantir d’y arriver efficacement, mais à tester.Reply to this message
Bonjour,
On a le plugin installé sur SPIP3.2. Puis, on l’avait désactivé puis on a supprimé certains champs directement depuis la base de donnée. On l’a réactivé, puis fait une importation du fichier yaml. Et les champs n’ont pas été créé en base. Peut-être que c’est à cause de l’opération manuelle? Que faudrait-il faire?
Merci
Je pense qu’il aurait fallu faire non pas desactiver mais bel et bien desinstaller. Il doit y avoir des metas qui traine.
Si c’est possible
1. Sauvegarder la base
2. Desinstaller le plugin (et pas desactiver). Attention le contenu de TOUT les champs extras seront perdus.
3. Reactiver/installer le plugin
Reply to this message
Avec SPIP 4.1.5 et tous les plugins à jour, le champ extra sélecteur d’article ne marche plus (alors que sélecteur article ou rubrique marche bien) (on peut bien sélectionner des articles, mais ils ne sont pas visibles dans la fiche article après enregistrement de l’article) : spip enregistre dans la base articles|25 et non article|25.
Si, via phpmyadmin on supprime le S, alors tout marche bien.
Je ne sais pas trop qui gère ce libellé : saisie ? Bonux ? Iextra ?
Une idée de l’origine de ce s intempestif ?
Merci de votre aide.
Julien
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments: |