Re: Développer une balise spécifique

JLuc <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Le 04/02/2021 à 08:42, Axel a écrit :
> Mais du coup, si je veux mettre du code php pour faire un appel à un webservice extérieur (ou faire une requête à une 
> base de données), je dois créer un plugin que mon modèle va appeler, c'est ça ?

J'ai fait ça assez très exactement avec un filtre php et plusieurs modèles spécialisés

Ici je présente le code pour la revue mais c'est pareil pour les livres :

- Un modele api_revue sert pour toutes les interrogations du "webservice extérieur"
en ce qui concerne les revues.
Ce modèle contient seulement ça :

[(#NUMERO|api_interrogation_info_revue{#CODE})]

#CODE c'est ce qu'on veut savoir.
L'api interroge, reçoit les infos et les met en cache et renvoie ce qu'on veut.
La fonction api_interrogation_info_revue utilise recuperer_url_cache pour interroger le webservice.

- un modele pour les boutons : b_si_dispo dont voici la partie centrale :

#SET{dispo,#MODELE{api_revue,numero=#NUMERO,code=disponible}}
[(#GET{dispo}|!={non}|oui)
	[<b>(#TITRE)</b><br>]
	Prix port&nbsp;compris&nbsp;: #GET{prix}€<br>
	#MODELE{b_commande,what=#GET{what},prix=#GET{prix}}
]
[(#GET{dispo}|!={non}|non)
	<span class="ouvrage_pas_dispo"><b>INDISPONIBLE</b><br>
		Ce numéro est épuisé.
	</span>
]

b_commande c'est un autre bouton qui se pose pas la question de la disponibilité lui.

JL


 >
 > Merci d'avance,
 >
 > Axel
 >
 > Le jeu. 4 févr. 2021 à 08:23, Jean-Christophe Villeneuve <[email protected] <mailto:[email protected]>> a
 > écrit :
 >
 >     Bonjour
 >
 >     Je pense qu'il faut plutôt te tourner du côté des modèles
 >
 >     https://www.spip.net/fr_article3454.html <https://www.spip.net/fr_article3454.html>
 >
 >
 >     JC
 >
 >
 >     Le 04/02/2021 à 08:15, Axel a écrit :
 >>
 >>     Bonjour,
 >>     J’ai un site sur lequel certains de mes articles sont des présentations de livres. Pour ces livres, nous avons une
 >>     référence de livre (un identifiant interne), et j’aimerai pouvoir ajouter une balise spécifique, par exemple
 >>     <livre12345> et un bout de code irait vérifier sur un webservice de notre boutique si le livre est disponible et
 >>     afficherait une phrase si c’est le cas et une autre si ce n’est pas le cas (par exemple "Voyage au centre de la
 >>     terre de Jules Verne est disponible dans notre boutique" / "Voyage au centre de la terre a été écrit par Jules
 >>     Verne").
 >>     Il me semble me souvenir d’avoir fait un truc similaire il y a une dizaine (quinzaine) d’années, il s’agissait
 >>     peut être d’une ancienne version de spip. Mais je ne retrouve pas de documentation pour faire ça. Est-ce qu’il
 >>     faut que je recherche des infos sur le développement de "balise", de "plugin", ou de "fonction" ?
 >>     Avez vous des liens à me donner pour savoir comment faire ça ?
 >>     Je ne suis pas un spécialiste de spip, mais je suis développeur de métier.... C’est donc plutôt le jargon et la
 >>     documentation qui me manque. Pour le reste, je suis plutôt rédacteur sur notre spip.
 >>
 >>     Merci beaucoup,
 >>     Axel
 >>
 >>
 >>     _______________________________________________
 >>     liste:https://listes.rezo.net/mailman/listinfo/spip-dev  <https://listes.rezo.net/mailman/listinfo/spip-dev>
 >>     doc:https://www.spip.net/  <https://www.spip.net/>
 >>     dev:https://core.spip.net/  <https://core.spip.net/>
 >>     irc://irc.freenode.net/spip
 >
 >     _______________________________________________
 >     liste: https://listes.rezo.net/mailman/listinfo/spip-dev <https://listes.rezo.net/mailman/listinfo/spip-dev>
 >     doc: https://www.spip.net/ <https://www.spip.net/>
 >     dev: https://core.spip.net/ <https://core.spip.net/>
 >     irc://irc.freenode.net/spip <http://irc.freenode.net/spip>
 >
 >

_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: https://www.spip.net/
dev: https://core.spip.net/
irc://irc.freenode.net/spip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.