Zastępuję witrynę drupal 6 witryną drupal 7 o tej samej treści. Na tej stronie Drupal 6 znajduje się blok, który pojawia się, gdy jesteś zalogowany. Jako nagłówek pokazuje komunikat „Witamy {nazwa użytkownika}” w tym bloku.
Szukam sposobu, aby to zrobić w Drupal 7, próbowałem to zrobić z modułem „Token”, ale nie działa. Jak najlepiej to zrobić?
Odpowiedzi:
W bloku lub w niestandardowym module, który dodaje blok, dodaj następujący kod:
Jest to bardziej przydatne, jeśli chcesz AKTUALNE informacje o użytkowniku. Być może dotyczy to również
user_is_logged_in
funkcji.źródło
Jeśli chcesz to zrobić w module (zalecane zamiast dodawania kodu php do bloku, który wtedy nie byłby w kontroli wersji), możesz to zrobić:
(w tym przypadku cały ten kod trafiłby do niestandardowego modułu o nazwie userwelcome).
Jeśli chcesz zastąpić motywowanie tego bloku motywem, zrób to (w pliku template.php motywu):
Pamiętaj, że ponieważ jest to moduł niestandardowy, możesz także bezpośrednio zaktualizować funkcję motywu w module.
Jeśli nie chcesz używać niestandardowego modułu, możesz utworzyć niestandardowy blok z kodem php i dodać go:
źródło
theme_userwelcome
, funkcja powinnatheme_userwelcome_welcome_block
być umieszczona w motywie, a nie wuserwelcome
module. Przypuszczalnieuserwelcome_theme
funkcja powinna być faktycznie wywołanauserwelcome_theme_theme
(tak 2 słowa motywu, ponieważ nazwa motywu zastępujehook
) i umieszczona w motywietheme_userwelcome
. funkcjeuserwelcome_block_view
iuserwelcome_block_info
pozostać wuserwelcome
.Użyj modułu widoków. Utwórz nowy widok> pokaż użytkowników> zablokuj wyświetlanie. Dodaj filtr kontekstowy> podaj domyślny argument> ID użytkownika od zalogowanego użytkownika. Skonfiguruj pola (możesz przepisać wyniki), aby uwzględnić dowolne pola tekstowe / tokeny lub profilu użytkownika. Zapisz i dodaj blok do regionu.
Wykonano z jednym modułem i bez kodu.
-lunk_rat
źródło