Comment faire en sorte que la page ne se recharge pas entièrement ?
Bonjour.
Je crée un thème pour Drupal 7, tout semble bien se passer jusqu'à présent. J'ai quelques questions.
Un peu sur mon thème.
Il y a un menu principal dans la région primari_link (où le type de contenu est sélectionné) (et dans la région header)
il y a un menu de navigation pour des articles d'un certain type, qui change en fonction du menu principal. (dans la région left_column) et (dans la région main-wrapper)
et il y a une colonne de contenu où est affiché un certain type de contenu en fonction du menu principal. (dans la région right_column) et (dans la région main-wrapper)
Première question.
Comment faire en sorte que lors de la sélection dans primari_link, seule la région qui est en dessous dans la structure soit rechargée. Par conséquent, la région main-wrapper
ensuite, lors de la sélection dans la région left_column, seule la région right_column soit rechargée.
Je comprends qu'il faut utiliser Ajax ici, mais je n'ai rien trouvé de vraiment clair à ce sujet.
Deuxième question
Comment faire en sorte que dans la colonne de gauche s'affiche un certain type de contenu. (un type spécial - formulaire) la liste varie pour chaque élément du menu principal et donc dans la colonne de droite en fonction de l'élément sélectionné dans la colonne de gauche.
Troisième question
J'ai fait 3 colonnes et elles ont des hauteurs différentes. Je veux qu'elles aient toutes la même hauteur. J'utilise des divs pour le formatage.
Dans page.tpl.php j'utilise Drupal 7
le morceau de code suivant
<script language="JavaScript" type="text/javascript"> function setEqualHeight(columns){ var tallestcolumn = 0; columns.each(function(){ currentHeight = $(this).height(); if(currentHeight > tallestcolumn){ tallestcolumn = currentHeight; } } ); columns.height(tallestcolumn); } $(document).ready(function() { setEqualHeight($(".container > div")); }); </script>
Avec ce problème, j'ai enfin compris après le dîner :) Il s'avère qu'en Drupal 7, il n'aime pas quand on écrit $
il faut le remplacer par jQuery et tout a fonctionné du premier coup.
Comme j'ai lu, la raison est que jQuery fonctionne en mode noConflict
cela doit être à peu près comme ça
jQuery(document).ready(function() { setEqualHeight(jQuery(".container > div")); });
Et donc partout $ devient jQuery et vous serez heureux.
J'espère que cela sera utile à quelqu'un.
Les deux premières questions restent ouvertes.
- Se connecter ou s'inscrire pour publier un commentaire