¿Cómo ocultar un tipo de contenido en la página de agregar nodo?

11

Necesito una forma de ocultar un tipo de contenido en la página de agregar nodo, o mejor aún, hacer dos páginas de agregar nodo separadas que separen mis tipos de contenido. Estoy en Drupal 7 y tengo cuatro tipos de contenido diferentes. Me gustaría que tres de ellos estén en la página de agregar nodo por defecto y que el cuarto esté separado. ¿Cómo haría esto? Gracias

oobie11
fuente

Respuestas:

11

Dos posibilidades:

  • admin/structure/menu/manage/navigation mover / eliminar el elemento del menú que no desea.
  • Forma más limpia: use roles y permisos. Si el usuario no puede crear un tipo de contenido, el enlace no aparecerá en ningún menú.
nutrir
fuente
Gracias por tu respuesta. Su primera forma posible es la que usaría porque todavía necesito que los usuarios puedan crear nodos de mi cuarto tipo de contenido. Solo lo necesito separado de los otros tres.
oobie11
Ok, simplemente mueva el elemento de menú en otro menú u ocultelo y cree otro este mismo enlace de menú (nodo / add / <your_content_type>)
nourcy
Esta es la mejor respuesta.
Christia
4

Pon esto en un módulo personalizado:

function yourcustommodule_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    $items['node/add/your-content-type']['type'] = MENU_DEFAULT_LOCAL_TASK;
  }
}
Jancis
fuente
2
MENU_DEFAULT_LOCAL_TASK convierte los enlaces en pestañas. He usado MENU_CALLBACK en su lugar.
Freeman
3

ACTUALIZAR

MENU_CALLBACK, como se sugiere en otras respuestas, no funcionó para mí aquí. Todavía aparecen en la node/addpágina.

Este código funcionó:

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

Por supuesto, supone que desea deshabilitar (no ocultar) el node/addenlace para ese tipo.


RESPUESTA ORIGINAL

La node/addpágina es proporcionada por el módulo Node. Es posible que pueda hacer lo que quiera deshabilitando el elemento del menú en el menú de navegación, de acuerdo con esta publicación: http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath- add-content-navigation-menu-also-remove

Es un pequeño error, por lo que podría no ser una forma confiable de hacerlo. Personalmente, crearía una versión personalizada de la node/addpágina en un módulo copiando la existente y haciendo mis modificaciones específicas. Entonces solía hook_menu_alterhacer node/addir a mi versión.

Es posible que pueda reemplazarlo con una vista o panel en su lugar (con el Administrador de páginas), pero no lo he intentado, y probablemente perderá la automatización.

wizonesolutions
fuente
¡Gracias! ¿Dónde está node/addubicada la página para que copie? ¿Y cómo sugeriría imprimir los diferentes tipos de contenido?
oobie11
Debería estar adentro node.pages.inc. Si necesita que aparezcan los otros tipos a medida que los crea y no tiene una lista estática, hágalo en código.
wizonesolutions
Seguimiento personal: no me gusta mi propia respuesta de hace 4,5 años. Utilice uno de los anteriores :)
wizonesolutions