web-dev-qa-db-fra.com

Comment masquer un type de contenu sur la page d'ajout de nœud?

J'ai besoin d'un moyen de masquer un type de contenu sur la page d'ajout de nœud, ou mieux encore, de créer deux pages d'ajout de nœud séparées qui séparent mes types de contenu. Je suis sur Drupal 7 et j'ai quatre types de contenu différents. Je voudrais que trois d'entre eux soient sur la page d'ajout de noeud par défaut et le quatrième soit séparé. Comment pourrais-je faire cela? Merci

11
oobie11

Deux possibilités:

  • admin/structure/menu/manage/navigation déplacer/supprimer un élément de menu dont vous ne voulez pas.
  • Manière la plus propre: utilisez des rôles et des autorisations. Si l'utilisateur ne peut pas créer de type de contenu, le lien n'apparaîtra dans aucun menu.
11
nourcy

Mettez cela dans un module personnalisé:

function yourcustommodule_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    $items['node/add/your-content-type']['type'] = MENU_DEFAULT_LOCAL_TASK;
  }
}
4
Jancis

[~ # ~] mise à jour [~ # ~]

MENU_CALLBACK, comme suggéré dans d'autres réponses, n'a pas fonctionné pour moi ici. Ils apparaissent toujours sur le node/add page.

Ce code a fonctionné:

function MYMODULE_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    unset($items['node/add/your-content-type']);
  }
}

Bien sûr, cela suppose que vous souhaitez désactiver (pas masquer) le node/add lien pour ce type.


RÉPONSE ORIGINALE

Le node/add la page est fournie par le module Node. Vous pourriez être en mesure de faire ce que vous voulez en désactivant l'élément de menu dans le menu Navigation, selon cet article: http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath-add-content-navigation-menu-also-removes

C'est un peu un bug, donc ce n'est peut-être pas un moyen fiable de le faire. Personnellement, je créerais une version personnalisée du node/add page dans un module en copiant celui existant et en faisant mes modifications spécifiques. Ensuite, j'utiliserais hook_menu_alter pour faire node/add allez dans ma version.

Vous pourrez peut-être le remplacer par une vue ou un panneau à la place (avec Page Manager), mais je n'ai pas essayé cela, et vous perdriez probablement l'automatisation.

3
wizonesolutions