Ich ersetze eine Drupal 6-Website durch eine Drupal 7-Website mit dem gleichen Inhalt. Auf dieser Drupal 6-Website ist ein Block sichtbar, wenn Sie angemeldet sind. Als Überschrift wird in diesem Block die Meldung "Willkommen {Benutzername}" angezeigt.
Ich suche nach einer Möglichkeit, dies in Drupal 7 zu tun. Ich habe versucht, dies mit dem Modul 'Token' zu tun, aber ich arbeite nicht. Wie geht das am besten?
Antworten:
Fügen Sie entweder in einem Block oder in einem benutzerdefinierten Modul, das einen Block hinzufügt, den folgenden Code hinzu:
Dies ist nützlicher, wenn Sie CURRENT-Benutzerinformationen wünschen. Möglicherweise dies auch für die
user_is_logged_in
Funktion.quelle
Wenn Sie dies in einem Modul tun möchten (im Gegensatz zum Hinzufügen von PHP-Code zu einem Block, der sich dann nicht in der Versionskontrolle befindet), können Sie dies tun:
(In diesem Fall würde der gesamte Code in einem benutzerdefinierten Modul namens userwelcome gespeichert.)
Wenn Sie dann das Themeing dieses Blocks in einem Theme überschreiben möchten, würden Sie dies tun (in Ihrer template.php-Datei Ihres Theme):
Beachten Sie, dass Sie, da dies ein benutzerdefiniertes Modul ist, die Themenfunktion auch direkt im Modul aktualisieren können.
Wenn Sie kein benutzerdefiniertes Modul verwenden möchten, können Sie einen benutzerdefinierten Block mit PHP-Code erstellen und Folgendes hinzufügen:
quelle
theme_userwelcome
, sollte die Funktiontheme_userwelcome_welcome_block
im Thema und nicht imuserwelcome
Modul platziert werden. Vermutlich sollte dieuserwelcome_theme
Funktion tatsächlich aufgerufenuserwelcome_theme_theme
(ja, 2 Themenwörter als Name des Themas ersetzenhook
) und im Thema platziert werdentheme_userwelcome
. Funktionenuserwelcome_block_view
unduserwelcome_block_info
bleiben inuserwelcome
.Verwenden Sie das Ansichtsmodul. Neue Ansicht erstellen> Benutzer anzeigen> Blockanzeige. Kontextfilter hinzufügen> Standardargument angeben> Benutzer-ID des angemeldeten Benutzers. Konfigurieren Sie die Felder (Sie können die Ergebnisse umschreiben) so, dass sie die gewünschten Text- / Token- oder Benutzerprofilfelder enthalten. Speichern und Block zur Region hinzufügen.
Fertig mit einem Modul und ohne Code.
-lunk_rat
quelle