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?
fuente
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.
fuente
El permiso
administer taxonomy
es 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_alter
hook, 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 usarhook_menu_alter
para cambiar el permiso, pero esto es un poco más de trabajo.fuente
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.
fuente