Submitted by drupal974 on
Bonjour,
Je souhaiterai créer un filtre d'entrée qui me fabriquera des tabs jquery dans ce style : http://stilbuero.de/jquery/tabs/#fragment-29.
J'aimerai pouvoir écrire mon texte de contenu de la façon suivante :
[tab]
[titre1]montitreh2[/titre]
[texte1]blablabla[/texte]
....
[/tab]
Ou quelque chose dans le genre (d'ailleurs si vous avez des idées). Pouvez-vous me conseiller un module de filtre très simple qui fait ce genre de code pour que je fouille dans le code ? Tous les modules que j'ai regardé sont trop compliqués et déprimants (ex: brillant_gallery, bcp trop complexe).
Merci de votre aide.
Tu n'as qu'un hook à
Permalien Soumis par Yoran le 23 Mars, 2010 - 21:30
Tu n'as qu'un hook à implémenter pour qu'un module produise un filtre :
Sachant que ton module peux produire plusieurs filtre, auquel cas il faudra tester la valeur de $delta pour choisir l'action en fonction du filtre.
Hello Yoran, Merci de
Permalien Soumis par drupal974 le 24 Mars, 2010 - 05:45
Hello Yoran,
Merci de m'avoir répondu, j'ai netvibé ton site dés que je l'ai vu. J'ai une question qui découle de ta réponse, notamment au sujet du "Delta" :
- déjà qu'est-ce que tu appelles avoir plusieurs filtres ?
- Qui va appeler la fonction _filter() et à quel moment les paramètres d'entrées (dont le delta) vont être définis ?
J'attends avec impatience ta réponse.
Très cordialement.
PS: j'ai passé deux jours à comprendre la fonction theme(), si seulement j'avais vu ton site plutôt...
Un même module peut fournit
Permalien Soumis par Yoran le 24 Mars, 2010 - 06:15
Un même module peut fournit un nombre infini de filtres. Chaque filtre issu d'un même module est distingué par son delta.
Ces delta proviennent du case 'list', c'est simplement la clef de chacun des éléments du tableau renvoyé. Dans l'exemple, le seul delta, et donc le seul filtre produit par le module, est '0'.
Le hook_filter est appelé quant lui par Drupal à divers endroit :
- lors tu construis un format (logique ;-)
- lorsque tu paramètres un filtre
- lorsque drupal construit visuellement un contenu en appliquant le format qui contient ton filtre.
Je t'embête encore car je
Permalien Soumis par drupal974 le 24 Mars, 2010 - 06:28
Je t'embête encore car je n'ai pas bien compris un point : ok, pour le delta qui est défini dans liste. Mais quand est défini la variable d'entrée $delta qui va dire par exemple "$delta=3" ?
Et dans l'hypothèse qu'on doit appliquer plusieurs filtre pour le module en question, $delta peut-être un tableau ?
En ce moment même je suis sur ton site à lire tes tutos (super design en tout cas, c'est vraiment agréable à lire). Le problème que je rencontre est que je n'ai pas le niveau suffisant pour tout comprendre.
Merci de me répondre, tu es très matinal (moi je n'ai pas de mérite, il est déjà 9h26 à la Réunion).
Attention, il ne faut pas
Permalien Soumis par Yoran le 24 Mars, 2010 - 07:52
Attention, il ne faut pas confondre et être précis dans le vocabulaire. On applique pas un ou plusieurs filtres pour un module, un module fournit des filtres à Drupal que Drupal applique sur des contenus (blocs, nodes, etc.).
Donc non, le delta ne peut être un tableau, il identifie de manière précise un et un seul filtre. Ensuite lorsque tu vas dans admin/settings/filters, Drupal va te permettre de définir une liste de filtres, chacun fournis par un module et chacun donc son delta, pour créer un ensemble appelé "format d'entrée".
En d'autres termes, le hook_filter doit être vu comme un service fournit à Drupal décomposé en chacune des étapes de ce service. J'espère que c'est plus clair ainsi.
Ok, il reste des points noirs
Permalien Soumis par drupal974 le 24 Mars, 2010 - 10:27
Ok, il reste des points noirs à comprendre mais je vais coder mon filtre et le module "devel" et firebug pour drupal m'aidera à bien comprendre de quoi il s'agit. Je te remercie pour le moment, je ferais signe plus tard si j'ai des pbs. Je vais partir sur ton exemple et ton blog pour m'inspirer.