Как скрыть вкладки «Управление полями» и «Управление отображением»

18

Я делаю сайт с Drupal 7, и я просматривал разрешения для таксономий. Я хотел предоставить владельцам веб-сайтов центральное место для управления словарями и добавления терминов, сортировки терминов и т. Д. Поэтому я дал им разрешение «Управление словарями и терминами» в рамках таксономии. Однако это привело к нежелательному усложнению, в основном это дало им доступ к созданию новых полей и управлению их отображением (вкладки «Управление полями» и «Управление отображением»).

Есть ли способ предоставить им доступ к экрану редактирования словаря и термина, к которому можно получить доступ через «Структура> Таксономия», но при этом отключить вкладки «Управление полями» и «Управление отображением» на экране редактирования словаря?

Я довольно знаком с понятием переопределения и перехватов в Drupal 6, но я довольно новичок в Drupal 7 (на самом деле это мой первый сайт D7, созданный с 5 или 6 сайтами D6), поэтому я не возражаю против некоторых решения для этого, если таковые имеются. Просто ищу ответ или толчок в правильном направлении.

Поскольку никто еще не ответил, я хотел бы добавить, что я готов рассмотреть альтернативы центральной области для управления таксономиями (администратор / структура / таксономия). Может быть, я мог бы посмотреть на создание страницы с представлениями для имитации страницы администратора таксономии.

Возможно ли это, и кто-нибудь делал что-то подобное раньше?

BEEBEE
источник

Ответы:

8

Я знаю, что это было дано некоторое время назад, но есть решение, которое не требует каких-либо пользовательских или специальных модулей.

Если вы отключите модуль пользовательского интерфейса основных полей , вкладки «Управление полями» и «Управление отображением» не будут отображаться.

Если это рабочий сайт, это будет хорошо, так как вы уже настроили поля так, как хотите. Если вам когда-либо потребуется внести изменения, просто кратко включите модуль.

marblegravy
источник
1
+1 Это кажется самым чистым, наименее громоздким и быстрым способом достижения результата.
Биби
Это не обходной путь, это решение, которое «не требует каких-либо пользовательских или специальных модулей» и прекрасно работает на всех когда-либо созданных сайтах Drupal.
мраморная подливка
7

Используйте модуль field_ui_permissions, который контролирует, должны ли отображаться вкладки «Управление полями» и «Управление отображением» или нет, основываясь на разрешениях ролей.

Raghavendra
источник
3

Это разрешение administer taxonomyиспользуется для предоставления полевых разрешений. Если вам нужно дать им это разрешение, чтобы предоставить им доступ к администрированию таксономии, вы можете создать новое разрешение для пользовательского интерфейса поля.

Самый простой способ установить это с помощью hook_entity_info_alterловушки, поскольку именно здесь добавляется путь администратора для поля пользовательского интерфейса и права доступа для них. Вы также можете использовать, hook_menu_alterчтобы изменить разрешение, но это немного больше работы.

googletorp
источник
2

Вы можете попробовать использовать hook_menu_alter () для редактирования 'обратного вызова доступа', который настроен в функции field_ui_menu () из файла field_ui.module. Именно здесь настраиваются пункты меню «Управление полями» и «Управление дисплеями».

В вашем hook_menu_alter () вы можете найти эти две записи пункта меню для путей таксономии (поскольку вы хотите сохранить их версии контента) и изменить «обратный вызов доступа» на пользовательский метод, который проверяет новое разрешение, которое вы создаете. в hook_permission ().

Я делал нечто подобное в прошлом и был бы рад выслать код, если это необходимо.

Адам
источник