Je crée un site dans Drupal et je souhaite uniquement afficher les liens secondaires sur les pages qui utilisent les vues que j'ai créées. J'ai essayé d'utiliser la variable $ secondary_links dans views-view.tpl.php mais la variable est null. Comment puis-je atteindre cet objectif?Afficher les liens secondaires dans les vues uniquement
Répondre
Avez-vous activé les liens secondaires à partir des paramètres du thème? Ce serait:
http://example.com/admin/build/themes/settings/name_of_your_theme
Je crois une fois que vous avez activé l'option, la variable sera peuplée.
EDIT: En pensant une seconde de plus, je voudrais également commenter que je ne suis pas sûr si les liens primaires et secondaires sont passés aux modèles de vues. Je crois que ceux-ci sont passés au fichier page.tpl.php
à la place. Si j'ai raison, et pour une raison quelconque, vous voulez ajouter cette variable à celles qui sont passées au modèle de vues, vous devrez utiliser une fonction de pré-traitement, comme expliqué here. En effet, si vous avez seulement besoin du menu secondaire utilisé dans un modèle de vues spécifique, une autre approche consisterait simplement à appeler menu_secondary_links()
à partir du modèle. Ce n'est pas la solution la plus élégante de tous les temps, car elle met dans un élément thématique quelque chose qui devrait appartenir ailleurs, mais c'est à vous de décider si ce menu dans les vues est une fonctionnalité de base ou un élément de style.
HTH!
Les liens secondaires sont comme mac correctement écrit uniquement disponible dans page.tpl.php, mais si je vous comprends bien, la meilleure solution n'est pas d'obtenir les liens secondaires dans votre vue.
Avec votre thème, les liens secondaires, seront probablement imprimés là où ils devraient, indépendamment de ce qui est affiché, que ce soit vos vues, noeuds, la première page, etc. Les vues sont affichées et tout le reste, est enveloppé dans le modèle de page, qui contrôle où les menus sont situés, les régions et autres choses amusantes. Maintenant, si vous ne voulez pas modifier cela, l'emplacement des menus, leur style et ce genre de choses, vous ne devriez pas imprimer le menu secondaire dans votre modèle de vues, vous ne devriez pas faire quoi que ce soit avec du tout.
La solution est simple
Il utilise quelque chose qui mac mentionné, mais d'une manière différente: la fonction pré-traitement. Ces fonctions sont utilisées dans votre fichier template.php pour ajouter de la logique à vos variables. Vous pouvez modifier les variables ou les supprimer complètement. Ce que je ferais, serait simplement de supprimer les liens primaires, en définissant la valeur de $primary_links
à une chaîne de texte vide.
Cela supprimerait effectivement les liens primaires, de sorte que seuls les liens secondaires sont affichés. Vous pouvez également afficher les liens secondaires en tant que liens principaux, mais cela peut entraîner de la confusion chez vos utilisateurs. Vous avez juste besoin d'ajouter une logique pour contrôler quand cela devrait arriver et vous êtes prêt.
Salut googletorp, je voulais afficher la navigation secondaire uniquement dans mes pages Vues, mais la suggestion de Mac pour utiliser menu_secondary_links() dans le views.tpl.php a fonctionné parfaitement et pour le moment c'est plus facile que d'utiliser les fonctions de pré-traitement car je viens juste de commencer en utilisant Drupal. Merci beaucoup pour votre aide. – screenm0nkey
Vous pouvez utiliser le code suivant pour afficher le menu secondaire en tout état
function YourTheme_preprocess_views_view(&$vars)
{
$menu_sec = menu_navigation_links('menu-secondary');
$vars['custom_menu'] = theme('links__menu-secondary', array('links' => $menu_sec));
}
ou vous pouvez même utiliser d'autres fonctions de pré-traitement en fonction de vos besoins.
En outre, vous pouvez l'appeler .tpl.fichier php en utilisant:
<?php
$menu_sec = menu_navigation_links('menu-secondary');
print theme('links__menu-secondary',
array(
'links' => $menu_sec,
'attributes'=>array(
'class' => array('nav', 'nav-pills', 'p-f-subfilter'),
)
)
);
?>
- 1. Liens secondaires dans les blocs dans Drupal 6
- 2. Pour afficher les vues secondaires sous le menu Eclipse Fenêtre -> Afficher le VIew
- 3. Drupal: vues secondaires?
- 4. afficher les liens dans php
- 5. Comment afficher uniquement les termes de taxonomie avec les nœuds associés dans les vues 2?
- 6. Drupal: comment afficher les liens secondaires vers des utilisateurs non authentifiés
- 7. Afficher l'annotation dans les vues personnalisées
- 8. comment afficher les liens hypertexte dans jqGrid
- 9. Afficher uniquement les icônes ToolStripMenuItem
- 10. Afficher le contenu de l'URL et afficher les liens
- 11. Comment afficher les icônes uniquement dans les fenêtres Visual Studio
- 12. Drupal: affiche uniquement le champ NodeReferrer spécifique dans les vues
- 13. JQuery et fonctions secondaires dans les plugins
- 14. Ajouter des vues secondaires dans le contrôleur de navigation
- 15. Comment afficher les liens de connexion/déconnexion sur les rails?
- 16. mysql une requête pour afficher la tendance dans les vues
- 17. Comment afficher les liens externes dans l'interface d'administration Django?
- 18. afficher les liens dans le JTextPane de java sans html
- 19. Afficher uniquement les numéros dans une zone de texte
- 20. Comment afficher les messages auth Django uniquement dans l'interface d'administration?
- 21. CAML pour afficher uniquement les sites dans Sharepoint 2007
- 22. Comment afficher les bases de données utilisateur uniquement dans sqlserver?
- 23. comment afficher les informations uniquement dans une fenêtre enfant?
- 24. Conditions dans les vues
- 25. grammaire dans les vues
- 26. évaluation court-circuit et les effets secondaires
- 27. Comment MongoDB gère les balayages d'index secondaires?
- 28. (Wordpress) Afficher uniquement les publications suivantes dans les archives et les résultats de recherche
- 29. Lien conditionnel au noeud dans les vues?
- 30. Les vues effectuent-elles uniquement les jointures dont elles ont besoin ou toutes les jointures toujours?
Salut à tous. Oui, vous avez raison de dire que je ne peux utiliser la variable $ secondary_links que dans le fichier page.tpl.php lorsque je ne souhaite l'utiliser que dans mes vues. Je pensais que je devrais utiliser la fonction de pré-traitement, mais comme je suis nouveau à cela, je pensais que je ferais en sorte qu'il n'y a pas une option plus facile. – screenm0nkey
J'ai mis à jour ma réponse en suggérant un moyen plus simple d'obtenir le menu dans le modèle. – mac
Bonjour Mac, votre deuxième réponse a bien fonctionné. Au début, je ne savais pas comment faire imprimer le menu_secondary_links() et j'ai réalisé que je pouvais utiliser la fonction 'print theme()' pour le faire fonctionner. Et ça se voit très bien. Merci beaucoup. – screenm0nkey