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 compris : #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