Korzystam z modułu Content Access z Drupal 7. Kiedy ograniczam dostęp do węzła z określonej roli, ukrywa on również łącze w menu.
czy jest jakiś sposób, aby wyświetlić ograniczone linki w menu głównym?
Korzystam z modułu Content Access z Drupal 7. Kiedy ograniczam dostęp do węzła z określonej roli, ukrywa on również łącze w menu.
czy jest jakiś sposób, aby wyświetlić ograniczone linki w menu głównym?
admin/structure/menu/manage/main-menu/add
?Odpowiedzi:
Głównym celem systemu treści dostępowych jest kontrolowanie tego, co każdy użytkownik może zobaczyć, i unikanie wszelkich możliwych problemów z bezpieczeństwem. Jest to pożądane zachowanie i korzysta z niego prawie każdy moduł lub ogólny interfejs użytkownika, więc nie znajdziesz dla niego domyślnych rozwiązań.
Byłem w tej samej sytuacji i jedynym rozwiązaniem, jakie znalazłem, było utworzenie niestandardowych modułów i, w moim przypadku, zapytanie bezpośrednio do tabeli menu, aby uzyskać wszystkie potrzebne elementy, i sam sprawdzić uprawnienia do wyświetlania linku lub po prostu tytuł treści, gdy użytkownik nie ma uprawnień do jej wyświetlania.
źródło
Zrobiłem to za pomocą niestandardowego modułu:
źródło
Jestem pewien, że będziesz musiał napisać niestandardowy moduł, aby sobie z tym poradzić. Oto mój pomysł: złagodź ograniczenia dostępu do treści, tzn. Pozwól użytkownikom przeglądać twoje treści. Następnie moduł niestandardowy musi zaimplementować hook_node_load () i wygenerować odpowiedź 403 HTTP podczas ładowania węzłów, których użytkownicy nie powinni widzieć. Należy również zaimplementować hook_permission (), abyś mógł łatwo skonfigurować dostęp na stronie uprawnień.
Oto szybki przykład ukrywania całego węzła i filtrowania według typu zawartości i uprawnień:
Możesz też ukryć niektóre pola węzłów zamiast zwracać wartość 403. Nie zaleca się tego jednak zgodnie z dokumentacją API dla hook_node_load ()
źródło
Możesz użyć modułu „Zawsze widoczny”.
Bardziej szczegółowa odpowiedź na twoje pytanie znajduje się tutaj https://drupal.stackexchange.com/a/52149/7313
źródło