Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Views mit Argument / Argument in Text wieder geben: z.B. wie "BENUTZERNAMEs Blog"

Eingetragen von tobi-berlin (857)
am 09.07.2009 - 12:56 Uhr in
  • Views
  • Drupal 6.x

Hallo,

aus bestimmten Gründen möchte ich das Blog-Modul hierfür nicht nutzen, daher muss Views ran: Mitglieder meiner Community führen Tagebuch. Ich habe nun bereits mit Views eine Blockansicht erstellt - der Block erscheint immer, wenn ein Tagebuch-Eintrag angesehen wird und listet weitere Tagebuch-Einträge des Autors auf. Darunter erscheint ein Link "Zum Diät-Tagebuch" zu der Seitenansicht. Funktioniert alles prima, als Argument dient die User-ID des Autors.

Ich möchte nun aber, dass in dem Block und auf der Seitenansicht der jeweilige Username (resp. Autorenname) erscheint; so etwas wie "Hans' Tagebuch in unserer Community" oder im Block "Weitere Tagebuch-Einträge von Hans":

Kann mir jemand verraten, wie ich das hinbekomme? Kann ich irgendwie das Argument dazu nutzen?

Viele Grüße,
Tobias

‹ Ausgeklapptes Menü & Detailansicht der Nodes innerhalb einer View [gelöst]HTML-Tags werden nicht umgewandelt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Will dieses Thema noch mal

Eingetragen von tobi-berlin (857)
am 10.07.2009 - 08:10 Uhr

Will dieses Thema noch mal hoch-hiefen - jemand einen Vorschlag?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Titel mit Argumenten

Eingetragen von stBorchert (6003)
am 10.07.2009 - 08:49 Uhr

Moin.
Wenn Du bereits die UserId als Argument verwendest, kannst Du bei den Einstellungen des Arguments auch den Titel des Views festlegen. Gib einfach in das Feld "Title" (beim Argument!) "Weitere Tagebuch-Einträge von %1" ein, und schon wird der Nutzername da in den Titel eingefügt.
Musst Du einfach mal ausprobieren.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Stefan... das wusste ich

Eingetragen von tobi-berlin (857)
am 10.07.2009 - 09:04 Uhr

Hi Stefan...

das wusste ich bereits, aber wie ist das mit dem Text auf der Seite oder im Block, also etwa bei "Kopfbereich" oder "Fußzeile"? Da müsste es doch auch eine Möglichkeit geben, oder?

Vg,
Tobias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Argument im Header

Eingetragen von stBorchert (6003)
am 10.07.2009 - 09:15 Uhr

<?php
// Aktuelles View-Objekt holen.
$view = views_get_current_view();
// [0] ist das erste Argument; [1] das 2.; usw.
$first_arg = $view->args[0];
print
$first_arg;
?>

Das in den Header rein (und PHP als Eingabeformat) und schon kannst Du die Argumente ausgeben.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

stBorchert schrieb <?php//

Eingetragen von Thoor (3678)
am 10.07.2009 - 09:41 Uhr
stBorchert schrieb

<?php
// Aktuelles View-Objekt holen.
$view = views_get_current_view();
// [0] ist das erste Argument; [1] das 2.; usw.
$first_arg = $view->args[0];
print
$first_arg;
?>

Das in den Header rein (und PHP als Eingabeformat) und schon kannst Du die Argumente ausgeben.

Finde ich auch interessant ...

Von welchem Header sprichst du hier? Kopfbereich im VIEW, in der ja auch das Argument ausgegeben werden soll, oder eine template-Datei?

Und wie wird das Argument dann aufgerufen? einfach mit "%1" im Text, oder brauchts da dann auch nen PHP Befehl?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Argument im Header

Eingetragen von stBorchert (6003)
am 10.07.2009 - 09:44 Uhr
Thoor schrieb

Von welchem Header sprichst du hier? Kopfbereich im VIEW

Ja, genau. Da hinein soll dieses Snippet eingefügt werden.

Thoor schrieb

Und wie wird das Argument dann aufgerufen? einfach mit "%1" im Text, oder brauchts da dann auch nen PHP Befehl?

Wie im Snippet. Also über $view->args[0].

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super, danke Dir!

Eingetragen von tobi-berlin (857)
am 10.07.2009 - 09:49 Uhr

Das hat's gebracht...

Für alle anderen, die ein ähnliches Problem haben und in einem View mit Benutzer-ID als Argument einen Usernamen ausgeben wollen: Die obige Funktion

<?php
// Aktuelles View-Objekt holen.
$view = views_get_current_view();
// [0] ist das erste Argument; [1] das 2.; usw.
$first_arg = $view->args[0];
print
$first_arg;
?>

gibt die User-ID zurück. Um aus der User-ID einen Usernamen zu ermitteln, habe ich hier folgende Vorgehensweise entdeckt:

In der Template-Datei folgende Funktion definieren:

function getUserName($id) {
  $sql = "SELECT name FROM {users} WHERE uid = '$id'";
  $result = db_query(db_rewrite_sql($sql));
  $username = db_fetch_object($result);
  return $username->name;
}

und im Views dann die Funktion zusammen mit der oben von Stefan vorgegebenen Weise verbinden (z.B. im Kopfbereich, Eingabeformat auf PHP stellen!):

<?php
// Aktuelles View-Objekt holen.
$view = views_get_current_view();
// [0] ist das erste Argument; [1] das 2.; usw.
 
$user_name = getUserName($view->args[0]);
  print
'Das Tagebuch von  ' . $user_name ;
?>

Das ergibt dann als Ausgabe auf der Webseite, wo der Block oder die Seite angezeigt wird, "Das Tagebuch von BENUTZERNAME".

Viele Grüße,
Tobias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Funktioniert klasse! Das

Eingetragen von Thoor (3678)
am 10.07.2009 - 09:56 Uhr

Funktioniert klasse! Das nenne ich nen super Tip am frühen Morgen! Vielen Dank dafür!

  • Anmelden oder Registrieren um Kommentare zu schreiben

user_load

Eingetragen von stBorchert (6003)
am 10.07.2009 - 09:56 Uhr

Du möchtest user_load verwenden, um an den Nutzernamen heranzukommen.

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Stefan, kannst Du mir

Eingetragen von tobi-berlin (857)
am 13.07.2009 - 16:13 Uhr

Hallo Stefan,

kannst Du mir sagen, wie das mit user_load genau funktioniert? Anscheinend gibt die Funktion einen Fehler. Wenn User ein Node erstellen, kommt folgende Fehlermeldung:

user warning: Unknown column 'n.nid' in 'on clause' query: SELECT name FROM users INNER JOIN node_access na ON na.nid = n.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 34 AND na.realm = 'content_access_author') OR (na.gid = 2 AND na.realm = 'content_access_rid') OR (na.gid = 8 AND na.realm = 'content_access_rid') OR (na.gid = 12 AND na.realm = 'content_access_rid'))) AND ( uid = '34') in /srv/www/vhosts/meineseite.de/httpdocs/sites/all/themes/meintemplate/template.php on line 129.

Und in line 129 befindet sich Funktion

127 function getUserName($id) {
128   $sql = "SELECT name FROM {users} WHERE uid = '$id'";
129   $result = db_query(db_rewrite_sql($sql));
130   $username = db_fetch_object($result);
131   return $username->name;
132 }

Hast Du eine Ahnung, was mir diese Monster-Fehlermeldung sagen soll?

NOCH WAS: wenn ich diese Funktion einfach aus der Template-Datei entferne, werden die Nodes gar nicht mehr dargestellt... was bitte habe ich mir denn da eingefangen???

  • Anmelden oder Registrieren um Kommentare zu schreiben

Noch etwas

Eingetragen von tobi-berlin (857)
am 13.07.2009 - 15:51 Uhr

Das spannende ist, dass diese Fehlermeldung anscheinend nur bei einem Inhaltstypen kommt... und ich absolut nicht raffe, wieso :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 1 Tag
  • Wenn die Subdomain auf
    vor 1 Woche 3 Tagen
  • ordnerstruktur
    vor 1 Woche 3 Tagen
  • Die Subdomain muß auf den
    vor 1 Woche 6 Tagen
  • Verwende doch das Tag dafür,
    vor 5 Wochen 1 Tag
  • Guckst du hier: step by step
    vor 5 Wochen 18 Stunden
  • Guckst du hier: step by step
    vor 5 Wochen 18 Stunden
  • Ich habe ja keine Angst vor
    vor 6 Wochen 3 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 6 Wochen 5 Tagen
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 3 Stunden

Statistik

Beiträge im Forum: 250289
Registrierte User: 20518

Neue User:

  • Wolf Dab
  • Scottteday
  • MichaelPeeno

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association