Cómo ocultar las pestañas "Administrar campos" y "Administrar visualización"

18

Estoy haciendo un sitio web con Drupal 7, y estaba revisando los permisos para Taxonomías. Quería darles a los encargados del mantenimiento del sitio web un lugar central para administrar los vocabularios y agregar términos, ordenar los términos, etc. Así que les otorgué el permiso "Administrar vocabularios y términos" en Taxonomía. Sin embargo, esto resultó en una complicación no deseada, principalmente les dio acceso para crear nuevos campos y administrar su visualización (pestañas "Administrar campos" y "Administrar visualización").

¿Hay alguna manera de darles acceso a la pantalla de edición de vocabulario y términos a la que se puede acceder a través de "Estructura> Taxonomía" pero sin embargo deshabilitar las pestañas "Administrar campos" y "Administrar visualización" en la pantalla de edición de vocabulario?

Estoy bastante familiarizado con la noción de anulación y ganchos en Drupal 6, pero soy bastante nuevo en Drupal 7 (de hecho, este es mi primer sitio web D7, compuesto por 5 o 6 sitios web D6), así que no me importa soluciones de codificación para esto si las hay. Simplemente buscando una respuesta o un empujón en la dirección correcta.

Como nadie ha respondido todavía, quería agregar que estoy dispuesto a buscar alternativas al área central para administrar las taxonomías (admin / estructura / taxonomía). Tal vez podría considerar crear una página con Vistas para simular la página de administración de taxonomías.

¿Es factible y alguien ha hecho algo así antes?

Abeja
fuente

Respuestas:

8

Sé que esto fue respondido hace un tiempo, pero hay una solución que no requiere ningún módulo personalizado o especial.

Si deshabilita el módulo ui de los campos principales , no se mostrarán las pestañas Administrar campos y Administrar pantalla.

Si este es un sitio de producción, debería estar bien ya que ya habrá configurado los campos como los desea. Si alguna vez necesita hacer un cambio, simplemente habilite el módulo nuevamente brevemente.

salsa de mármol
fuente
1
+1 Esta parece ser la forma más limpia, menos voluminosa y rápida de lograr el resultado.
Beebee
Esta no es una solución alternativa, es una solución que "no requiere ningún módulo personalizado o especial" y funciona bien en todos los sitios de Drupal que se hayan creado.
marblegravy
7

Utilice el módulo field_ui_permissions que controla si las pestañas "Administrar campos" y "Administrar visualización" deben mostrarse o no según los permisos de roles.

Raghavendra
fuente
3

El permiso administer taxonomyes lo que se usa para otorgar permisos de campo, si necesita otorgarles este permiso para darles acceso a la administración de la taxonomía, puede crear un nuevo permiso para la interfaz de usuario del campo.

La forma más fácil de configurar esto es con hook_entity_info_alterhook, ya que aquí es donde se agrega la ruta de administración para el campo ui y el permiso de acceso para ellos. También puede usar hook_menu_alterpara cambiar el permiso, pero esto es un poco más de trabajo.

googletorp
fuente
2

Puede intentar usar hook_menu_alter () para editar la 'devolución de llamada de acceso' que está configurada en la función field_ui_menu () del archivo field_ui.module. Aquí es donde se configuran los elementos de menú "Administrar campos" y "Administrar pantallas".

En su hook_menu_alter () puede buscar estas dos entradas de elementos de menú para rutas de taxonomía (ya que desea mantener las versiones de Tipo de contenido de estas) y cambiar la 'devolución de llamada de acceso' a un método personalizado que verifique un nuevo permiso que cree en hook_permission ().

He hecho algo similar en el pasado y me encantaría enviar el código si es necesario.

Adán
fuente