Existe-t-il un moyen de supprimer la sortie des nœuds sur les pages de taxonomie, sans avoir à installer un module (c'est-à-dire juste dans template.php)?
Les nœuds étiquetés avec un terme de taxonomie apparaissent sur la "page Index de taxonomie" (par exemple, yoursite.com/taxonomy/term/[id]).
Nouveau dans Drupal 7, les pages d'index de taxonomie peuvent avoir des champs qui leur sont attachés. Cependant, si vous essayez de surfer sur la page de taxonomie avec une vue (par exemple, pour contrôler la façon dont les nœuds sont affichés), les champs des pages d'index de taxonomie n'apparaîtront pas.
J'ai donc placé ma vue taxonomique en tant que bloc sur la page Index de taxonomie. De cette façon, je peux contrôler la façon dont les nœuds apparaissent et avoir toujours les champs de la page Index de taxonomie.
Pour cette raison, la page de taxonomie génère toujours ses nœuds. Je peux les masquer en définissant l'accroche des nœuds sur caché, mais cela charge toujours les nœuds (et donc tout CSS / Jquery attaché aux nœuds même si les nœuds ne sont pas affichés). Comment puis-je empêcher les nœuds d'apparaître, idéalement de l'intérieur de template.php?
la source
Réponses:
Je sais, qui voulait une solution sans module, mais dans Drupal 7, il y a un module qui fait exactement ce dont vous avez besoin: Désactiver les listes de nœuds à terme
Il vous permet de choisir par vocabulaire, si vous souhaitez désactiver la sortie de la liste des termes.
la source
La solution de http://www.wardontheweb.com/remove-node-lists-from-taxonomy-pages-in-drupal-7/ fonctionne bien pour moi:
Remarque: vous devez réinitialiser le cache de votre site.
la source
Vous devez supprimer les nœuds de la variable $ page.
Dans template.php, vous pouvez le faire comme ceci:
Dans votre page.tpl.php utilisez ce code:
Cela supprime les nœuds de tous les vocabulaires et termes . Si vous souhaitez les supprimer uniquement sur certains termes ou sur tous les termes d'un vocabulaire, utilisez
arg(2)
letid
pour charger le terme, puis mettez à jour l'instruction if.la source
Vous pouvez faire pratiquement n'importe quoi dans template.php, mais ce n'est pas recommandé. Le but de l'utilisation d'un CMS, c'est que vous séparez les données, le comportement et l'apparence. Le fichier template.php fait partie de la couche thématique, et vous devez l'utiliser pour ajuster le style visuel de votre site.
Si vous souhaitez ajuster le comportement d'un site (dans ce cas: contrôler quels éléments sont affichés dans une certaine liste), vous devez changer le comportement, donc vous installez et configurez des modules. Si vous souhaitez créer des listes de contenu personnalisées, le module Vues est exactement ce dont vous avez besoin.
Dans votre cas (si je comprends bien), vous souhaitez que les champs du terme de taxonomie soient affichés au-dessus de la liste des nœuds marqués avec ce terme. Vous pouvez recréer cela dans votre vue en créant un bloc de vues qui prend le terme ID de l'URL et affiche les informations dont vous avez besoin.
la source
J'utilisais CSS pour masquer les éléments de taxonomie, mais en définissant leur affichage sur personnalisé et en supprimant cela semble être une meilleure option.
la source