Besoin de votre aide pour un petit plugin
Bonjour à toutes et à tous,
Je souhaite ajouter, via un petit plugin, un champ de type "Date" intitulé "Événement" dans la barre latérale de gestion des articles. Ce champ permettrait d'identifier les articles associés à une date d'événement spécifique.
Si un article contient une date d'évènement, il serait alors identifiable et pourrait être affiché séparément sur une page statique dédiée par exemple.Cette dernière, regrouperait tous les événements par date, offrant ainsi une vue organisée et pratique.
J'ai tenté d'utiliser kzChamPlus, mais l'outil ne permet pas d'ajouter simplement une date.
J'ai également essayé le Chaudron à Plugins, mais je n'y arrive pas.
En espérant que ma demande vous intéresse
Belle journée à vous tous.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bonjour @kamea,
Je peux regarder pour ajouter un <input type="date"> dans les options possibles de kzChamPlus.
Mais tu ne dis pas comment tu vas utiliser ce champ.
Je suppose que tu vas vouloir filtrer les articles selon ce champ, soit côté administration, soit côté site.
Et là c'est un peu plus complexe.
Mais il y a peut-être une alternative qui peut te convenir. Tu peux utiliser les catégories par exemple.
Pa exemple, tu peux inclure dans la catégorie"event-240922" tous les articles en lien avec la journée du 22/09/2024.
Côté site, tu peux exclure certaines catégories de l'affichage de la liste des catégories ( cf. plxShow::catList() ou côté admininstration )
On peux aussi utiliser les tags. Mais cela me semble moins souple.
Ecrire un petit plugin pour cela est toujours possible. Mais il y a plusieurs hooks à gérer.
Tu as un lien pour le chaudron à plugins ?
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Pour le chaudron à plugins, il s'agit surement : https://pluxopolis.net/developpement-dun-plugin.html
avec le formulaire pour aider à se construire le squelette dans un zip : https://pluxopolis.net/thecrock
Effectivement, il est important de bien comprendre comment tu veut ensuite utiliser ce champ , dans quels scenarios et pour quels résultats.
L'ajout d'un champ seul n'est pas le plus complexe
Cdt
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Merci pour vos premières réponses
Prenons l'exemple d'une petite association qui organise environ une trentaine d'événements annuels.
Chaque événement possède :
L'objectif est d'utiliser les articles, car leur structure est déjà parfaitement adaptée.
Si un article contient un champ "date d'événement" rempli, alors il doit :
J'essaye d'être le plus clair possible
okay, et ce plugin : https://ressources.pluxopolis.net/banque-plugins/plugins/plnCalendrier-fork.zip ne conviendrait pas ? l'as tu essayer voir ce qu'il faisait et ce qu'il manquait ?
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
@gcyrillus-nomade , merci pour les pistes de plugins déjà existant. Je viens de tester, et il y a des petites erreurs inquiétantes
Pour info j'utilise PHP 8.3.2 (la 8.4 arrive prochainement), et pluXml 5.9.0-rc6 et j'ai testé sur la stable 5.8 même soucis.
plnCalendrier est positionné avant plnStaticPages comme recommandé dans les explications.
Voici les erreurs
Je pense que juste un champ en plus dans la gestion de l'article me suffirait, plutôt que d'installer 2 plugins de 2020 et 2023
j'ai ceci :
et pas d'erreur chez moi, le plugin est fonctionnel
pas tester avec les RC (qui ne sont publié qu'a des fins de tests ) , il y a 378 plugins dispos
sinon: admin ligne 147 , c'est
<li><a href="#style"><?php $plxPlugin->lang('L_STYLES')?></a></li>
et pour $aTemplates c'est le template à prendre pour la page statique dans config, ces deux là sont surement lié à la version en RC qui gére ces trucs différemment.Je crois que je n'ai pas mis le nez dans les RC depuis mars ou avril. Il y a un gros chamboulement à venir et si un site fonctionne bien avec ses plugins, il faudra bien réfléchir à la réelle nécessiter de faire une MAJ de PluXml quand une RC passera en stable officielle ou que la version en ligne et la version officielle ont de grosse difference de version
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
J'ai réinstallé la version 5.8.16, et cela semble fonctionner. Il est possible qu'un autre plugin cause des interférences ou qu'il y ait peut être un un problème avec le thème.
Cela dit, plnCalendrier semble intéressant pour d'autres choses, mais il ne correspond pas à mes simples attentes.
Ce que je souhaite, c'est simplement un champ supplémentaire pour ajouter une date dans l'article, ainsi qu'un moyen d'afficher uniquement la liste des articles ayant une date d'événement, sur une page statique.
Merci de prendre du temps pour m'aider en tout cas c'est super gentil
.
Tu pourrais presque utiliser les tags avec par exemple un tag "event-240922".
Mais pour un utilisateur lambda cela peut paraître pénible.
Il faut reprendre l'idée du fichier tags.xml dans le dossier data/configuration/tags.xml où pour le numéro de l'article on associe une date.
Il y a au moins 3 hooks à gérer :
Et pour afficher la liste de tous les évènements, il faudrait parcourir ce nouveau fichier et afficher les articles comme dans le template tags.php du thème.
Il y a juste une petite subtilité pour le tri de ce fichier :
Il y a peut-être besoin d'afficher dans la page d'accueil le.s prochain.s évènement.s à venir dans un nombre à définir ( un ou quelques uns.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07 oui c'est une piste mais complexe je trouve non ?
Dites moi juste si ça serait possible de faire ce petit ajout d'un champ dans la gestion des articles, via un tout petit plugin. Une fois qu'on sauvegarde aprés avoir renseigné la date, on obtiendrai ce résultat à la fin du fichier de données XML de l'article concerné.
[...]
< thumbnail_title><![CDATA[PluXml]]></ thumbnail_title>
< date_creation><![CDATA[202409191837]]></ date_creation>
< date_update><![CDATA[202409192156]]></ date_update>
< date_event><![CDATA[202409192156]]></ date_event>
Ensuite utiliser une méthode d'affichage simple comme par exemple :
<?php $plxShow->artEventDate('#num_day #month #num_year(4) #time') ?> (Attention je ne m'y connais pas comme vous en dev, alors j'ai inventé cet exemple en utilisant un code existant ^^)
Sur une page statique apparaitrait alors la liste des articles triés par dates chronologiques, disposant d'un champ date_event renseigné.
Titre de l'article 1 / Date de l'évènement
Le contenu
Titre de l'article 2 / Date de l'évènement
Le contenu
ect ....
Le souci est qu'il va falloir analyser tous les articles pour savoir si le champ date_event est valide.
Si ton site a plusieurs milliers d'articles, cela va prendre du temps.
On peut contourner le problème de façon biaisée en assignant ces articles à une catégorie particulière. Mais un oubli est vite arrivé.
Et niveau complexité, c'est presque du même niveau qu'une solution inspirée des tags.
Patiente un peu. Je regarde cela. Cela me semble pas très compliqué. Faut juste surfer avec les hooks.
Pour afficher la date de l'évènement dans une boucle d'articles, ce sera plutôt :
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07 Merci merci merci, je patiente
Pour éviter de devoir parcourir tous les articles, on pourrait simplement ajouter une catégorie "évènement". Ainsi, le tri par date d'évènement (date_event) ne s'appliquerait qu'aux articles classés dans cette catégorie.
Cela impliquerait 2 actions cocher la catégorie "évènement" et saisir la date de l'évènement.
L'utilisation d'une catégorie "évènement" me semble une bonne solution, couplée avec un champs pour la date de l'évènement. Ce serait même éventuellement possible d'utiliser le champs "date de création" comme date d'événement ?
1ère mouture du plugin kzEvent qui doit faire le taf
Dans l'édition d'une page statique, copier-coller le contenu du fichier sample.php du plugin.
Télécharger le plugin kzEvent
Il y a encore quelques trucs à finaliser :
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Première mouture très prometteuse
J'ai effectué un test en créant 5 articles et en ajoutant une date d'événement à 4 d'entre eux. En affichant la page statique, tous les articles apparaissent, alors que l'article "0002" ne devrait pas être visible, puisqu'il n'a pas de date de renseigné.
La version 0.1.1 du plugin corrige ce problème, plus quelques autres.
le fichier sample.php a été modifié (Problème de tri). Mets à jour le contenu de ta page statique.
Je vais regarder pour que le fichier sample.php soit plus simple en créant un hook kzEvent. Mais c'est un peu plus compliqué.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Bonsoir,
J'ai eu un week-end chargé, je regarde tout ça demain matin, merci
Bonsoir,
Avec la version 1.0.0, le plugin a beaucoup progressé.
Je te laisse "jouer" avec ce plugin. N'hésite pas à faire un retour si un trouves un bug.
Télécharger le plugin kzEvent
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Bonjour @bazooka07 , intéressant ton plugin !
j'ai voulu tester (avec Pluxml 5.8.16) mais après installation et essai sur un article, je tombe sur une erreur fatale, et bien sur le plugin se voit renommé en "kzEvents-orig"... c'est d'ailleurs fréquent avec certains plugins depuis la dernière version de pluxml, je ne comprends pas...
An error is occured with the "KZEVENTS" plugin :
type : 2
message : Invalid argument supplied for foreach()
file : kzEvents/kzEvents.php
line : 154
Oups, tu n'as encore saisi aucune date d'évènement !
Modifie la ligne n°342 comme suit :
Il y a beaucoup de plugins qui ont besoin d'être mis à jour avec PHP 8. Il y avait déjà des erreurs mais elles passaient en dessous des radars.
Il faut lister ces plugins pour les corriger au fur et à mesure.
C'est juste ennuyeux en phase de développement d'un plugin. Je vais y remédier en fonction de PLX_DEBUG.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07 Le plugin fonctionne parfaitement avec une version PHP 7.4 mais avec une version 8.3.0 j'ai ce message d'erreur qui apparait n'importe où sur le site lorsque le plugin est activé.
Deprecated: Creation of dynamic property plxMotor::$aEvents is deprecated in [... ]PluXml-5.8.16\www\core\lib\class.plx.motor.php(115) : eval()'d code on line 24
L'idée d'ajouter la date à côté de l'article lorsqu'il est marqué comme un événement est très intéressante.
Merci beaucoup.
@bazooka07 , après modification de la ligne 342, j'obtient cette erreur :
Fatal error :
type : 2
message : array_key_exists() expects parameter 2 to be array, null given
file : /core/lib/class.plx.motor.php(751) : eval()'d code
line : 19
@NonoM
Tu as quelle version de PHP ?
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@bazooka07 "7.4.33" c'est indiqué 5 posts plus haut !
@kamea
Pour que le plugin soit compatible avec PHP 8.3, j'ai repris son code car on ne peut rajouter à la volée une propriété à plxMotor. Les données sont donc maintenant stockées dans l'objet kzEvents. Mais cela doit être transparent pour l'utilisateur.
Il y a également un exemple de code à insérer dans le template article.php du thème
version 1.1.0 du plugin
Télécharger la dernière version du plugin
@NonoM
Je n'ai pas réussi à reproduire ton erreur.
Voir si l'erreur persiste avec la dernière version du plugin.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
@kamea, j'arrive après la bataille, mais je t'ai fait un exemple à partir d'un squelette du chaudron avec une approche moins experte et quelques explications qui vont avec sur les choix des hook et codes : https://forum.pluxml.org/discussion/7725/plugin-addevents-made-in-thecrock
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
@bazooka07 , Merci c'est Cool... avec ta dernière version, pas de soucis !
KzEvents est assez sympa pour l'utilisation que je pourrais en faire, ça reste simple à mettre en oeuvre, faut juste que je continue à faire mumuse avec le codage exemple du "sample.php", afin de modifier les infos affichées (trop pour moi) et la mise en forme de ma page statique (le css affiche mes TITRES en blanc sur fond blanc pour l'instant)
@bazooka07 plus d'erreur tout à l'air de bien ronronner Bravo et merci beaucoup.
@gcyrillus-nomade coucou et merci, je t'ai répondu sur ton poste directement
@NonoM Ravi de voir que cela aide d'autres utilisateurs de PluXml dans le domaine de l'événementiel. Il faut dire que, pour des associations ou même d'autres types d'activités, ce plugin risque d'être largement utilisé.
Tout à fait @kamea ! ... il y a quelques années j'avais testé le plugin "plnCalendrier", et mis à par afficher un agenda, c'était pas le top pour tout le reste !!!... de toute façon il n'est plus compatible avec Pluxml depuis bien longtemps.
@nonoM pour plncalendrier une petite maj à été faites il y a plusieurs mois et il est compatible php8× et plx 5.8.16 l'auteur l'avait probablement fait pour un besoin précis et pour afficher un lien dans un calendrier. L'usage est effectivement limité.
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
@gcyrillus-nomade Ah, ok pour plncalendrier... il faudra que je regarde ça à l'occasion mais bon, le widget de google agenda fait l'affaire pour l'instant. En tous cas, Merci... car "addevents" promet et pourrait changer la donne suivant ce que l'on veut obtenir !
ça serait cool d'avoir en visuel un mini calendrier du mois (dans la sidebar), avec les jours "colorés" pour chaque date événement...
et au clic sur une date ou sur le mois en cours, on serait redirigé vers la page gérée par "addevents" qui affiche la liste des événements. (ce n'est qu'une suggestion)
Enfin, c'est l'idée que je m'en fais car j'ai des "restants"... d'utilisation pendant de longues années sur un composant + module lorsque j'étais encore accro à Joomla !
ah,ah,ah, mais ça, c'était avant , lol !