Jak ukryć karty „Zarządzaj polami” i „Zarządzaj wyświetlaniem”

18

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?

Pszczół
źródło

Odpowiedzi:

8

Wiem, że odpowiedziano na to jakiś czas temu, ale istnieje rozwiązanie, które nie wymaga żadnych niestandardowych ani specjalnych modułów.

Jeśli wyłączysz moduł interfejsu użytkownika podstawowych pól , karty Zarządzaj polami i Zarządzaj wyświetlaniem nie będą wyświetlane.

Jeśli jest to strona produkcyjna, powinno to być w porządku, ponieważ pola zostały już skonfigurowane tak, jak chcesz. Jeśli kiedykolwiek będziesz musiał dokonać zmiany, po prostu ponownie włącz moduł.

marmurkowaty
źródło
1
+1 To wydaje się być najczystszym, najmniej nieporęcznym i szybkim sposobem na osiągnięcie wyniku.
Beebee
To nie jest obejście, jest to rozwiązanie, które „nie wymaga żadnych niestandardowych ani specjalnych modułów” i działa dobrze na każdej stronie Drupal, jaką kiedykolwiek stworzono.
marblegravy,
7

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.

Raghavendra
źródło
3

Zezwolenie administer taxonomysł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_alterhooka, 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_alterdo zmiany uprawnień, ale to trochę więcej pracy.

googletorp
źródło
2

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.

Adam
źródło