support Besoin d'aide Overlay Citation

Overlay Citation

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à.

par Alexis Raimbault le 22 juin 2013 à 16:40 GMT