Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] PHP-Frage -> Linkanpassung Guestbook-Modul

Eingetragen von Ionit (1802)
am 12.07.2010 - 20:33 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,

wenn ein User bei einem anderen User einen Gästbucheintrag vornimmt, wird ein Link zum Userprofil des Schreibers gesetzt.

"domain.com/user/6/"

Im module.file findet man
$user_link = "user/$account->uid/";

Ich möchte gerne, dass der Name des Users verwendet wird anstatt der uid.

Nun habe ich schon $user_link = "users/$account->name/"; probiert - dort wird leider der erste Buchstabe des Namens groß geschrieben.
"domain.com/user/Benny/"

$user_link = "users/$account->user-raw/"; funktioniert leider nicht.

Was müsste man dort angeben damit der Name - kleingeschrieben - verwendet wird? "domain.com/user/benny/"

Danke und Gruß
Matthias

‹ Englische Drupal Installation NACHTRÄGLICH ergänzbar um deutsche Menüs/Sprache? Menü soll aufgeklappt beliben ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Es gibt in PHP ne Funktion

Eingetragen von Thoor (3678)
am 12.07.2010 - 22:47 Uhr

Es gibt in PHP ne Funktion strtolower .... vielleicht hilft Dir die dabei? http://php.net/manual/de/function.strtolower.php

Ich bin zwar selbst ne PHP Null aber vielleicht bist Du besser? Wenns damit klappt und Du weisst wie, dann verrate mal die Lösung! Interessiert mich auch ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Thoor, danke für den

Eingetragen von Ionit (1802)
am 12.07.2010 - 23:43 Uhr

Hallo Thoor,

danke für den Hinweis auf strtolower - ich glaube aber, dass ich noch weniger von PHP verstehe als Du. Vor Jahren habe ich mal das "Hello World" PHP-Einstiegstutorial gemacht - mehr leider nicht ;-)

Ich dachte eigentlich, dass Drupal den Namen in "klein" schon irgendwo intern gespeichert hat denn path/URL-Alias verwendet zum Umscheiben von user/1 zu users/name als Muster für die Pfade "users/[user-raw]" und gibt den Usernamen kleingeschrieben aus.

Hinter [user-raw] müsste also irgendwo der Name stecken - ich dachte den kann man über einen Token/Variable/Konstante aufrufen. Kann aber auch sein, dass das nicht stimmt - ich habe keinen blassen Schimmer ...

Grübel.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Geht auch mit CSS

Eingetragen von md (3717)
am 12.07.2010 - 23:47 Uhr

Das kannst du auch mit CSS erreichen.
Beispiel:

.submitted {text-transform:lowercase}

Damit sollte es gehen, wenn das Guestbook Modul für User-Namen die Klasse 'submitted' nutzt. Ansonsten musst du mit Firebug den richtigen Selektor rausfinden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo md, danke für den

Eingetragen von Ionit (1802)
am 12.07.2010 - 23:54 Uhr

Hallo md,

danke für den Hinweis aber ich meinte eigentlich den Namen in der URL (welche man oben im Browser sieht wenn man auf den Link klickt).

Ich habe nun mal einen Blick in das Pathauto-Modul geworfen.

Die Verarbeitung des Usernamens wird dort wie folgt gemacht.

User related functions.

/**
* Implementation of hook_user() for users, trackers, and blogs.
*/
function pathauto_user($op, &$edit, &$user, $category = FALSE) {
  switch ($op) {
    case 'insert':
    case 'update':
      _pathauto_include();
      // Use the username to automatically create an alias
      $pathauto_user = (object) array_merge((array) $user, $edit);
      if ($user->name) {
        $placeholders = pathauto_get_placeholders('user', $pathauto_user);
        $src = 'user/'. $user->uid;
        $alias = pathauto_create_alias('user', $op, $placeholders, $src, $user->uid);

Leider sehe ich da überhaupt nichts - Grübel!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst aber doch trotzdem

Eingetragen von Exterior (2903)
am 12.07.2010 - 23:54 Uhr

Du kannst aber doch trotzdem einfach strtolower verwenden, oder?

Nimmst du eben statt

<?php
$user_link
= "users/$account->name/";
?>

<?php
$name
= strtolower($account->name);
$user_link = "users/$name/";

//Oder auch so hier, spart eine Variable ein:
$user_link = "users/" . strtolower($account->name) . "/";
?>

Dürfte doch kein Problem sein, oder?

Zitat:

denn path/URL-Alias verwendet zum Umscheiben von user/1 zu users/name als Muster für die Pfade "users/[user-raw]"

Der nimmt da den Namen so, wie er in der Datenbank steht. Und wenn da "Benny" steht, nimmt er "Benny" und wenn da drin "bEnNy" steht, dann nimmt er eben das.

Vermutlich schickt die Funktion für Drupals Pfad-Aliase den Namen auch nochmal durch einen strtolower, bevor sie den Pfad einträgt, aber schon in lowercase gespeichert sind die wahrscheinlich nirgendwo, wozu auch? Mann muss ja die Daten nicht unnötig mehrfach speichern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Noob-Anfänger schrieb Hallo

Eingetragen von md (3717)
am 13.07.2010 - 00:00 Uhr
Noob-Anfänger schrieb

Hallo md,

danke für den Hinweis aber ich meinte eigentlich den Namen in der URL (welche man oben im Browser sieht wenn man auf den Link klickt).

...

Sorry, hatte ich falsch verstanden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Toni, besten Dank - das

Eingetragen von Ionit (1802)
am 13.07.2010 - 00:15 Uhr

Hallo Toni,

vielen Dank - das funktioniert Bestens. ;-)

<?php
$name
= strtolower($account->name);
$user_link = "users/$name/";

//Oder auch so hier, spart eine Variable ein:
$user_link = "users/" . strtolower($account->name) . "/";
?>

Genau so wollte ich das haben. Dieser Code-Schnipsel kommt in meine Sammlung damit ich imme rmal nachsehen kann wenn diese Frage nochmal aufkommt.

Drupal ist schon ein geiles CMS aber mit PHP-Kenntnissen könnte man viel mehr selbst machen und alles aus Drupal rausholen..

Ich drücke mich ja schon eine ganze Weile vor diesem Thema aber ich denke langsam müsste ich anfangen PHP zu lernen.

Bloß wo fängt man an? Ja - ich weiß - ganz Vorne ;-) Wenn ich schon an "Arrays" denke usw. .... ujuijui ... da sehe ich schon die böhmischen Wälder am Horizont aufziehen ;-)

Dank Dir.

Schönen Abend noch.

Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also PHP lernen lohnt sich

Eingetragen von Exterior (2903)
am 13.07.2010 - 00:17 Uhr

Also PHP lernen lohnt sich auf jeden Fall ;-)

Manchmal gibt es einfach Dinge, für die man PHP einsetzen muss (oder zumindest sollte) und dann kommt man nicht weiter, das frustriert ganz schön.

Vielleicht hilft da sowas:
http://www.php-einfach.de/php-tutorial/php-tutorial.php

Man muss ja nicht gleich ein totaler Crack in PHP werden (bin ich lange nicht), es reichen häufig schon die Basics (Fallunterscheidungen (also if und switch), Schleifen und ein paar Funktionen wie strtolower, explode usw,). Damit kommt man häufig schon sehr weit (ich bewege mich z.B. auch noch im Basic-Raum, aber mehr ist häufig auch nicht nötig). Die Sprache ist nicht sonderlich schwer zu verstehen und wenn man sich dann noch ein wenig in das ganze System "Programmieren" rein denkt, ist das eigentlich kein großes Problem und auch kein besonders großer Zeitaufwand, hilft einem aber häufig weiter.

Und das schöne: Wenn man ein wenig die Basics beherrscht, traut man sich auch mal ran, etwas mit diesem Wissen zu verändern oder zu erweitern. Und durch Anwendung lernt man auch sehr gut ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für den Link - ich habe

Eingetragen von Ionit (1802)
am 13.07.2010 - 00:36 Uhr

Danke für den Link - ich habe die Seite gerade mal überflogen und gesehen, dass das wirklich gut und einfach erklärt wird.

Ich habe nun beschlossen - morgen mit dem PHP-Lernen anzufangen.

Letzte Woche hatte ich ein Problem mit einem Modul - das hat mich einen ganzen Tag Zeit gekostst um das Teil zum Laufen zu bringen da ich unzählige Posting auf drupal.org durchgehen musste.

Es lag an einer einzigen Zeile Code die leicht abgeändert werden musste.

Hätte ich selbst PHP gekonnt, wäre die Sache nach 30 Sekunden erledigt gewesen. Da kann man sich dann immer selbst in den Hintern beißen ;-)

Naja - ab morgen gehts los ...

Sooo - bin erstmal off - ab ins Bett.

Nächtle!

Gruß Matthias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 1 Woche 15 Stunden
  • Guckst du hier: step by step
    vor 1 Woche 4 Stunden
  • Guckst du hier: step by step
    vor 1 Woche 4 Stunden
  • Ich habe ja keine Angst vor
    vor 2 Wochen 2 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 2 Wochen 4 Tagen
  • Vielen Dank erst einmal, aber
    vor 2 Wochen 6 Tagen
  • Du hast die "Trusted host
    vor 2 Wochen 6 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 4 Wochen 5 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 5 Wochen 2 Tagen
  • Arrrrg. Nix Tabelle :-D /*
    vor 9 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20500

Neue User:

  • RandallFloop
  • Inga GuAph
  • Robertolix

» Alle User anzeigen

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