support Besoin d'aide

Overlay Citation

PrécédentSuivantIndex

Avancement0%
WorkflowBesoin d'aide
StatutLe problème a été enregistré

Bonjour,

Je voudrais faire un overlay "citation" assez simple qui ne comprendrait que 4 champs, la citation, l'auteur, le livre dont est issue la citation et evntuellement une note donnée à la citation.

J'ai bien essayé de m'inspirer de l'overlay "book", mais j'ai du mal avec le php et sur l'architecture et l'utilisation de l'overlay.

Aprés création et utilisation de cet overlay, sera t'il possible d'afficher assez simplement la liste des citations et/ou une citation prise au hasard.

Si quelqu'un pouvait m'aider, merci d'avance.

Gérard

Gérard
le 23 juin 2013 à 10:25 GMT

Bonjour,


Merci pour ces réponses rapides.


De fait, j'ai déjà essayé d'utiliser un script php pour afficher de façon aléatoire une citation sur la page Acceuil du site (en insérant un script php dans le template du skin. Mais j'ai toujours du mal avec le php (je ne sais pas coder) et n'arrive pas à avoir exactement ce que je souhaite.


D'ailleurs si J.Juraver tu pouvais me dire ce que tu as utilisé comme script et comment, cela m'aiderait et me ferait gagner du temps.


Maintenant, pour permettre aux visiteurs d'ajouter leur contribution, effectivement un overlay me paraissait la bonne solution. Je vais tenter de comprendre et adapter les conseils d'Alexis (un grand Merci au pasage).


Merci à tous et A+


Gérard


Alexis Raimbault
le 22 juin 2013 à 16:40 GMT

l'overlay me semble particulièrement indiqué pour ce que tu cherches à faire.

Effectivement l'overlay recipe est une bonne illustration de ce qu'il faut faire.

Je vais expliquer brièvement comment procéder, ça pourra faire la base d'une documentation Jérémie, n'hésitez pas à me demander des précisions à mesure.

- créer le fichier du nouvel overlay dans le dossier /overlays, par exemple ici "quote.php"
- dans le fichier, très important changer la déclarations de classe, pour correspondre exactement au nom du fichier :
class Quote extends Overlay { ...
- pouvez en profiter pour changer les commentaires de l'entête, meme si vous êtes le seul à le lire ce sera plus propre.
- il faut ensuite indiquer à l'overlay les nouveaux champs de saisie, pour cela il faut une fonction get_fields()
- procédez comme dans recipe.php, déclarer chaque champ, avec un $label, $input, $hint, et à chaque fois on pousse ça dans un tableau $field qui est retourné par la fonction.
- il faut ensuite apprendre à l'overlay à "parser" le formulaire, c'est à dire lui dire ou il range telle valeur de tel champ.
- généralement, comme dans recipe, c'est une opération très simple et répétive qui consiste à enregistrer chaque champ du formulaire dans le tableau "attributes" de l'overlay. Le contenu de ce tableau sera ensuite automatiquement sérialisé pour être stocké dans la base.
- donc supposons que dans get_field tu as créé un input du style : input type="text" name="author"


- et donc tu fais $this->attributes['author']= $fields['author'] pour stocker la valeur. Et comme tu es logique tu gardes author comme nom de clé.
- le code de parsefields dans recipe et légérement plus complexe car il prévoit le cas ou $fields['author'] n'existe pas, et donc l'attribution d'un valeur par défaut.
- donc on affiche le champ dans le formulaire, on l'enregistre dans l'overlay, il faut maintenant l'afficher sur la page.
- il y a plusieurs moyens, le plus courant est get_view_text(), qui affiche ce qu'on veut au dessus de la description standard de l'article.
- mais tu peux aussi prendre get_live_title, get_live_intro, get_extra_text... etc. le principe est le même : ces fonctions renvoient le html à afficher
- si tu travaille avec get_live_intro, tu pourras alors afficher facilement la liste de citation d'une section. Tous layout qui affichent habituellement les intros va afficher l'intro surchargé, avec la citation proprement dite (pareil avec live_title)
- enfin pour terminer, afficher des articles au hasard est très facile avec le code yacs random

Voilà ça fait un gros pavé à ingurgiter, n'hésite pas à revenir sur un point précis. Ce qui ne manquera pas car il y a des petits détails ici est là.



----- Alexis Raimbault webmaster free-lance
J.Juraver
le 22 juin 2013 à 00:39 GMT

Salut Gérard,


simple curiosité : tu veux passer par un overlay dans quel but ? Car les overlays sont en général usités pour personnaliser l'édition (d'un article, d'une section...). Si tu souhaites afficher aléatoirement du contenus court, personnellement je l'ai fait depuis longtemps et je me suis passé des overlays pour lesquels la carence en documentation est handicapante.


Si tu cherches à afficher des citations quand on charge une page, le plus simple est de prendre ton code javascript préféré en la matière et de l'insérer dans ton template PHP.


Si tu souhaites en revanche que tes membres puissent enregistrer des citations de leur choix (avec d'autres données telles que la date ou la source), tu peux passer par la création d'un formulaire (fonctionnalité /form/) dont tu pré-remplis les champs requis, puis de leur donner le lien vers ce formulaire à partir de la rubrique d'accueil.

Christian - le 22 juin 2013 à 04:08 GMT
Attention Les formulaires vont être supprimés dans une future version.

Gérard : As-tu regarder l'overlay recipe (recette)
Ensuite reste à savoir ou tu veux afficher ta citation au hasard.

----- Actupro
quelques sites yacs : création site internet annuaire pro
J.Juraver - le 22 juin 2013 à 22:19 GMT

" Attention Les formulaires vont être supprimés dans une future version. "

Gnééé ?! horror wall

Christian - le 25 juin 2013 à 07:51 GMT
Oui. Le répertoire forms ne sera plus maintenu. Trop peu de retour sur son utilisation. Ils pourront être remplacés par des overlays.

----- Actupro
quelques sites yacs : création site internet annuaire pro
J.Juraver - le 26 juin 2013 à 10:22 GMT
Si personne ne parle des formulaires c'est peut-être parce que ça marche bien chez beaucoup... (moi je les utilise sur au moins 3 sites, et il y avait des suggestions d'améliorations dans les sections collaboratives).
Bon enfin si yacs intègre un overlay à la place, c'est déjà ça.
Alexis Raimbault - le 26 juin 2013 à 11:58 GMT

Plusieurs composants sont actuellement supprimés du code source (sur github). Cela concerne la prochaine version majeure et non pas yacs Lasares en cours de stabilisation. Ces suppressions étaient évoquées ici : RC4 Lasares disponible.
Néanmoins nous pouvons toujours en parler, rien n'est irrémédiable, meme si nous avons nos raisons.
j'ai donc ouvert cette section : Yacs Netgrabber



----- Alexis Raimbault webmaster free-lance
Gérard
le 22 juin 2013 à 00:25 GMT
La page a été créée

PrécédentSuivantIndex