2013-03-02 2 views
0

Je construis un site Drupal qui nécessitera une structure de menu spécifique.2 menus montrant les mêmes noeuds

2 liens de menu, « Travaux récents » et « Archives »

En cliquant sur les travaux récents, une liste des « Articles récents » apparaît avec des vues comme un menu dans la barre latérale de la page. Cependant, lorsque vous cliquez sur le titre lié dans cette barre latérale, je veux que le chemin soit .com/recent-work/node-1 et la liste des travaux récents de la barre latérale reste.

En cliquant sur Archiver, une liste de tous les nœuds s'affiche dans la barre latérale, en cliquant sur le nœud complet affiche le nœud complet avec le chemin .com/archives/node-1 et la liste des archives latérales reste.

Le but de ceci est de faire en sorte que les listes de travail restent à l'écran lorsque l'utilisateur regarde à travers ce type de nœud spécifique.

Répondre

0

En supposant que la vue dans la barre latérale est un bloc placé dans une région de la barre latérale, je pense que vous pouvez le faire comme ceci:

  1. Utilisez le module Path (dans le noyau) pour créer deux alias d'URL pour chaque noeud . Donc alias pour le noeud/1 seraient:
    • récente travail/1
    • archives/1
  2. Utilisez les Context module, pour créer deux contextes, un pour le travail récent, l'un pour les archives. Ceux-ci affecteront la disposition de la page en fonction de ce qui se trouve dans le chemin de l'URL (en utilisant des caractères génériques). Par exemple:
    • Contexte de travail récent: si path = recent-work/*, affichez la vue "travaux récents" dans la barre latérale.
    • Archives Contexte: si path = archives/*, affiche la vue "archives" dans la barre latérale.
  3. Assurez-vous que les liens dans chaque vue pointent vers les alias correspondants. Cela signifie que si un lien est dans la vue work-recent, le lien devrait aller à recent-work/1 (et de même pour la vue archives). Pour ce faire:
    • Ajouter un champ à chaque vue pour « Contenu: Nid », mais l'exclure de l'écran (il est nécessaire comme jeton)
    • Modifier le champ que vous affichez comme un lien, et aller à Réécrire les résultats> Affiche ce champ sous la forme d'un lien. Ensuite, à l'endroit où vous entrez le chemin du lien, utilisez une URL avec le jeton d'identifiant du nœud. Je pense que ce serait quelque chose comme: archives/[nid] (ou recent-work/[nid], pour l'autre vue).

Cela devrait couvrir tout ce que vous recherchez. Ce serait vraiment génial si, lors de la création d'un contenu futur, vous étiez capable de construire automatiquement les alias de l'étape 1. Vous pouvez obtenir quelques idées de this post, si cela vous intéresse.

+0

En travaillant à travers cette réponse aujourd'hui, merci de me revenir dessus! J'ai demandé partout et vous êtes le seul à proposer une solution. –

+0

Je pense que je n'étais pas clair à propos de quelque chose .... à la fois le travail récent et les archives seraient un lien vers le même nœud, mais ils doivent hériter de la barre latérale de la page parent. Essentiellement son 1 type de contenu. –

+0

Cela m'a déplacé à pas de géant, merci beaucoup. Juste pour que ce soit clair. Le nœud 1 aurait: - chemin absolu travail-récent/1 - chemin alias archives/1 Puis-je utiliser vos pas au-dessus de la barre latérale? C'est super, merci. Au fur et à mesure que le nouveau contenu est ajouté bien que les alias soient définis manuellement (votre dernier point), je vais lire le message suggéré et essayer de le faire fonctionner. Je pensais que ce serait une tâche simple dans Drupal, je vais à ce sujet dans le mauvais sens? –

Questions connexes