Submitted by Fabito on
Bonjour,
Je cherche en vain le template (s’il existe) pour modifier
les fieldset « collapsable ».
Voici le bout de code que je souhaiterais modifier :
<fieldset id="webform-template-fieldset" class="collapsible form-wrapper collapse-processed">
<legend>
<span class="fieldset-legend">
<a class="fieldset-title" href="#">
<span class="fieldset-legend-prefix element-invisible">Masquer</span>
Modèle d'email
</a>
<span class="summary"></span>
</span>
</legend>
<div class="fieldset-wrapper">
</fieldset>
Je souhaiterais simplement inverser "Masquer" (donc la balise span) et "Modèle d'email".
Tout cela dans le but de remplacer "Masquer" par une image "+".
Ce "+" serait remplacé par "-" lorsque le fieldset est ouvert.
Mais. Où se trouve ce template ??
Merci d'avance,
Fabien
J’ajoute également que ce
Permalien Soumis par Fabito le 20 Mai, 2012 - 15:55
J'ajoute également que ce changement devrait être global.
Tous mes fieldset devront être sur le même modèle...
http://api.drupal.org/api/dru
Permalien Soumis par hles le 20 Mai, 2012 - 16:16
http://api.drupal.org/api/drupal/includes%21form.inc/function/theme_fiel...
Merci pour la voie à
Permalien Soumis par Fabito le 20 Mai, 2012 - 20:48
Merci pour la voie à suivre.
Très utile la page : "Default theme implementations".
Ceci étant, je ne suis pas encore très à l'aise avec les hook et compagnie.
J'ai utilisé le template.php pour "modifier" la fonction mon-theme_fieldset(). ça ok.
Mais je ne peux pas modifier : $element['#title'] dans
if (!empty($element['#title'])) {
// Always wrap fieldset legends in a SPAN for CSS positioning.
$output .= '<legend><span class="fieldset-legend">' . $element['#title'] . '</span></legend>';
}
J'ai regardé les fonctions connexes, mais je n'en vois aucune
qui permette de modifier le titre.
Je vais continuer à chercher.
Merci,
Fabien
«Mais je ne peux pas
Permalien Soumis par hles le 20 Mai, 2012 - 21:07
"Mais je ne peux pas modifier : $element[‘#title’]"
Que voulez vous faire exactement? Votre titre se trouve $variables et il n'y a pas de raison pour que vous ne puissiez pas le modifier.
En fait derrière :
Permalien Soumis par Fabito le 20 Mai, 2012 - 21:23
En fait derrière : $element[‘#title’]
il y a :
<a class="fieldset-title" href="#">
<span class="fieldset-legend-prefix element-invisible">Masquer</span>
Modèle d'email
</a>
Et c'est justement ce que je veux inverser.
Je veux juste réécrire ça de la manière suivante :
<a class="fieldset-title" href="#">
Modèle d'email
<span class="fieldset-legend-prefix element-invisible"><img src="../images/ouvrir.png" width="8" height="8" alt="ouvrir" /></span>
</a>
Ensuite, je pense réadapter collapse.js.
Mais là encore, je bloque sur comment remplacer ma version de ce .js par celle présente dans le répertoire misc/ (la version originale.)
Suis-je assez précis ?
Pour le titre, je ne suis pas
Permalien Soumis par hles le 20 Mai, 2012 - 21:40
Pour le titre, je ne suis pas sur, comme je n'ai pas le contenu de $variables sous la main. Mais effectivement, vous aurez potentiellement un problème si le titre genre "Modèle d'email" n'est pas accessible ailleurs en "raw".
Pour le fichier javascript, vous pouvez assez facilement le remplacer par le votre en prenant exemple sur le code du module jquery_update qui fait exactement la même chose. Cherchez les fonctions genre _replace ou _replacement dans le .module, de mémoire.
Ok, merci je regarde tout
Permalien Soumis par Fabito le 20 Mai, 2012 - 21:50
Ok, merci je regarde tout ça !
J’ai finalement abandonné
Permalien Soumis par Fabito le 21 Mai, 2012 - 23:19
J'ai finalement abandonné l'idée
pour me conformer au modèle proposé par défaut. Trop de bidouille pour pas grand chose ;)
J'utilise la class « collapsed » pour afficher ou non le + et le -.
Du coup, je n'ai pas modifier le fichier .js
Merci pour tout.
Drupal permet de presque tout
Permalien Soumis par hles le 22 Mai, 2012 - 10:23
Drupal permet de presque tout faire mais pas toujours a n'importe quel prix. Cela fait partie des contraintes d'utilisation d'un CMS. Effectivement, dans votre cas, c'est beaucoup de travail pour un résultat qui ne change pas du tout l’expérience de l'utilisateur final, donc pas forcement utile.
C’est effectivement ma
Permalien Soumis par Fabito le 22 Mai, 2012 - 10:51
C'est effectivement ma conclusion ;)
Merci pour l'aide !