Como ocultar as guias "Gerenciar campos" e "Gerenciar exibição"

18

Estou criando um site com o Drupal 7 e estava pesquisando as permissões de Taxonomias. Eu queria dar aos mantenedores do site um lugar central para gerenciar os vocabulários e adicionar termos, classificar os termos etc. Por isso, dei à função deles a permissão "Administrar vocabulários e termos" em Taxonomia. No entanto, isso resultou em uma complicação indesejada, principalmente, que lhes deu acesso para criar novos campos e gerenciar sua exibição (guias "Gerenciar campos" e "Gerenciar exibição").

Existe uma maneira de dar a eles acesso à tela de edição de vocabulário e termos, que pode ser acessada através de "Estrutura> Taxonomia", mas desabilitar as guias "Gerenciar campos" e "Gerenciar exibição" na tela de edição de vocabulário?

Estou bastante familiarizado com a noção de substituição e ganchos no Drupal 6, mas sou bastante novo no Drupal 7 (na verdade, este é o meu primeiro site D7, feito com 5 ou 6 sites D6), por isso não me importo com alguns soluções de codificação para isso, se houver. Apenas procurando uma resposta ou um empurrão na direção certa.

Como ninguém respondeu ainda, gostaria de acrescentar que estou disposto a procurar alternativas para a área central para gerenciar taxonomias (admin / estrutura / taxonomia). Talvez eu pudesse criar uma página com Views para simular a página de administração de taxonomias.

É viável e alguém já fez algo assim antes?

Beebee
fonte

Respostas:

8

Sei que isso foi respondido há um tempo, mas há uma solução que não requer nenhum módulo personalizado ou especial.

Se você desativar o módulo da interface do usuário dos campos principais , as guias Gerenciar campos e Gerenciar exibição não serão exibidas.

Se este for um site de produção, tudo bem, pois você já configurou os campos como deseja. Se você precisar fazer uma alteração, basta ativar o módulo novamente brevemente.

marblegravy
fonte
11
+1 Essa parece ser a maneira mais limpa, menos volumosa e rápida de obter o resultado.
Beebee
Esta não é uma solução alternativa, é uma solução que "não requer módulos personalizados ou especiais" e funciona bem em todos os sites Drupal já criados.
marblegravy
7

Use o módulo field_ui_permissions que controla se as guias "Gerenciar campos" e "Gerenciar exibição" devem ser exibidas ou não com base nas permissões de função.

Raghavendra
fonte
3

A permissão administer taxonomyé o que é usado para conceder permissões de campo. Se você precisar conceder essa permissão para obter acesso à administração da taxonomia, é possível criar uma nova permissão para a interface do usuário do campo.

A maneira mais fácil de definir isso é com o hook_entity_info_altergancho, pois é aí que o caminho do administrador da interface do usuário do campo é adicionado e a permissão de acesso para eles. Você também pode usar hook_menu_alterpara alterar a permissão, mas isso é um pouco mais trabalhoso.

googletorp
fonte
2

Você pode tentar usar o hook_menu_alter () para editar o 'access callback' configurado na função field_ui_menu () do arquivo field_ui.module. É aqui que os itens de menu "Gerenciar campos" e "Gerenciar telas" são configurados.

Em seu hook_menu_alter (), você pode procurar essas duas entradas de itens de menu para caminhos de taxonomia (já que você deseja manter as versões do tipo de conteúdo) e alterar o 'callback de acesso' para um método personalizado que verifica uma nova permissão criada por você. em hook_permission ().

Eu fiz algo semelhante no passado e ficaria feliz em enviar código, se necessário.

Adão
fonte