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 - 11: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 - 07: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 - 07: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 - 08: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 - 08: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 - 08: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 - 08: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 - 08: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 - 08: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 - 08: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 - 15: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 - 14: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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 6 Tagen
  • Hey danke
    vor 2 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 3 Wochen 17 Stunden
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 2 Tagen
  • In der entsprechenden View
    vor 4 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 2 Tagen
  • gelöst
    vor 6 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20464

Neue User:

  • Znogsnernoimb
  • ByteScrapers
  • Mroppoofpaync

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 36 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