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

[gelöst]PHP-Frage: nid aus Alias

Eingetragen von Ionit (1802)
am 08.11.2010 - 18:26 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo Freunde,

ich habe einen Node - der Alias-Pfad lautet status/1

Nun möchte ich aus diesem Pfad die Nid extrahieren.

Dazu nutze ich folgenden Code.

<?php
$path
= 'status/1';
$nid = drupal_get_normal_path($path, $path_language = '');
print
$nid;
?>

Das ergibt als Ausgabe bei mir node/368.

Wie bekomme ich jetzt node/ aus dieser Ausgabe heraus sodass ich nur die nid 368 alleine habe.

Meine PHP-Kentnisse reichen leider nicht aus - ich habe split versucht - da kam aber nur Blödsinn bei raus.

Danke schonmal und schöne Grüße
Matthias

‹ Formulardaten werden nicht gespeichert Rechensystem ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habs selbst heraus

Eingetragen von Ionit (1802)
am 08.11.2010 - 18:39 Uhr

Ich habs selbst heraus gefunden.

Das geht mit explode

<?php
$path
= 'status/1';
$nid = drupal_get_normal_path($path, $path_language = '');
$nid = explode("/",$nid);
print
$nid[1];
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wann bzw. wo genau wird

Eingetragen von Exterior (2903)
am 09.11.2010 - 00:46 Uhr

Wann bzw. wo genau wird dieser Code denn ausgeführt? Denn wenn der Code bei der Seitendarstellung eines Nodes ausgeführt wird (wenn er z. B. in der node.tpl.php steht - nur als Beispiel), dann kannst du dir den explode sparen, dann steht die Node-ID in arg(1):

<?php
if ((arg(0) == 'node') && (is_numeric(arg(1))))
  {
   
$nid = arg(1);
  }
print
$nid;
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nabend Toni, wenn sich bei

Eingetragen von Ionit (1802)
am 09.11.2010 - 01:17 Uhr

Nabend Toni,

wenn sich bei mir ein User registriert - wird gleichzeitg - über Rules - ein Node des Inhaltstypen "Status" erstellt - der automatische Alias-Pfad des Nodes erfolgt nach folgendem Muster.

status/uid

Für den Admin ergibt das z.B. status/1 - für "User Benny" status/2 usw.

Jetzt soll das Edit-Form dieses Nodes über einen View im Kopfbereich des Profiles eingebunden werden (Anzeige/Einblendung erfolgt über jQuery-Toogle) - denn dort soll der User seine Statusmitteilung verfassen/ändern können. Um aber an node_load automatisch die richtige NID übergeben zu können (die ich ja nicht kenne) muss vorher aus dem jeweiligen Status-Node-Alias diese NID extrahiert werden damit die richtige Edit-Form aufgerufen werden kann.

global $user;
if ($user->uid == arg(1) && arg(0) == 'user') {
module_load_include('inc', 'node', 'node.pages');
.......
......
......
$path = ('status/' . $user->uid);
$nid = drupal_get_normal_path($path, $path_language = '');
$nid = explode("/",$nid);
$nid = $nid[1];
$node = node_load($nid);
$output = drupal_get_form($form_id, $node);
usw. usw.

Anschließend leite ich über ein eigenes kleines Modul - nach dem Speichern der Statusmitteilung - sofort wieder aufs Profil zurück und fertig ist die User-Statusmitteilung. ;-)

Schöne Grüße
Matthias

Nachtrag: Es kann sein, dass es noch einen anderen Weg gibt aber das obige ist mir heute Nachmittag eingefallen und dann habe ich es einfach mal umgsetzt.

  • 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 2 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 5 Tagen
  • Ich habe ja keine Angst vor
    vor 4 Wochen 18 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 4 Wochen 3 Tagen
  • Vielen Dank erst einmal, aber
    vor 4 Wochen 4 Tagen
  • Du hast die "Trusted host
    vor 4 Wochen 5 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 6 Wochen 3 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 7 Wochen 13 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 11 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20509

Neue User:

  • Marvinkep
  • RandallFloop
  • Inga GuAph

» 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 24 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