Tworzę stronę internetową z Drupalem 7 i przeglądałem uprawnienia do taksonomii. Chciałem dać prowadzącym witrynę centralne miejsce do zarządzania słownikami i dodawania terminów, sortowania terminów itp. W związku z tym nadałem ich rolom uprawnienia „Administruj słownikami i terminami” w ramach taksonomii. Spowodowało to jednak niechciane komplikacje, głównie dało im dostęp do tworzenia nowych pól i zarządzania ich wyświetlaniem (karty „Zarządzaj polami” i „Zarządzaj wyświetlaniem”).
Czy istnieje sposób, aby zapewnić im dostęp do ekranu edycji Słownictwa i terminów, do którego można uzyskać dostęp za pośrednictwem „Struktury> Taksonomia”, ale jednak wyłączyć zakładki „Zarządzaj polami” i „Zarządzaj wyświetlaniem” na ekranie edycji słownictwa?
Jestem całkiem zaznajomiony z koncepcją zastępowania i przechwytywania w Drupal 6, ale jestem całkiem nowy w Drupal 7 (w rzeczywistości jest to moja pierwsza strona D7, utworzona około 5 lub 6 stron D6), więc nie mam nic przeciwko kodowanie rozwiązań tego problemu, jeśli takie istnieją. Po prostu szukam odpowiedzi lub pchnięcia we właściwym kierunku.
Ponieważ nikt jeszcze nie odpowiedział, chciałem dodać, że jestem gotów spojrzeć na alternatywy dla obszaru centralnego w celu zarządzania taksonomiami (admin / struktura / taksonomia). Może mógłbym stworzyć stronę z widokami, aby zasymulować stronę administratora systematyki.
Czy jest to wykonalne i czy ktoś zrobił coś takiego wcześniej?
źródło
Użyj modułu field_ui_permissions, który kontroluje, czy karty „Zarządzaj polami” i „Zarządzaj wyświetlaniem” powinny być wyświetlane, czy nie, w zależności od uprawnień roli.
źródło
Zezwolenie
administer taxonomy
służy do nadawania uprawnień do pola, jeśli musisz dać im to uprawnienie, aby dać im dostęp do administracji systematyki, możesz utworzyć nowe pozwolenie dla interfejsu użytkownika pola.Najłatwiej to ustawić za pomocą
hook_entity_info_alter
hooka, ponieważ tutaj dodaje się ścieżkę administratora dla interfejsu użytkownika pola i uprawnienia dostępu dla nich. Możesz także użyćhook_menu_alter
do zmiany uprawnień, ale to trochę więcej pracy.źródło
Możesz spróbować użyć hook_menu_alter () do edycji „wywołania zwrotnego dostępu” ustawionego w funkcji field_ui_menu () z pliku field_ui.module. W tym miejscu konfigurowane są elementy menu „Zarządzaj polami” i „Zarządzaj wyświetlaczami”.
W swojej hook_menu_alter () możesz poszukać tych dwóch pozycji pozycji menu dla ścieżek taksonomii (ponieważ chcesz zachować ich wersje typu zawartości) i zmienić „wywołanie zwrotne dostępu” na niestandardową metodę, która sprawdza nowe utworzone uprawnienia w hook_permission ().
W przeszłości zrobiłem coś podobnego i chętnie wyślę kod, jeśli zajdzie taka potrzeba.
źródło