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

[gelöst, irgendwie] Inhalt einer Node auslesen

Eingetragen von florianj (10)
am 17.11.2009 - 01:46 Uhr in
  • Modul-Entwicklung

Hallo Forum,

nach stundenlangem Suchen wende ich mich nun an euch mit folgender Frage:

Ich möchte den Inhalt einer Node auslesen und benötige für mein selbsterstelltes Modul eine solche Funktion, die mir einfach nur den Titel und den Inhalt einer Node zurück gibt.

Wie man das alles setzt, habe ich gefunden, aber das auslesen der aktuell aufgerufenen Node scheint schwierig zu sein..?

Gibt es ein gutes Tutorial, das solche grundlegenden Funktionen (speziell diese) erklärt?

<?php


  $node
= new StdClass;
 
$node->type = 'story';
 
$node->body = 'Textfeld bla bla';
 
$node->title = 'Titel';
 
$node->uid = 1;
 
$node->status = 1;
 
$node->active = 1;
 
$node->promote = 1;
 
node_save($node);


?>

Danke für eure Hilfe,
Flo

edit: Habe gerade die Funktion "node_load()" gefunden, kann aber damit nichts anfangen... bin ich damit auf dem Holzweg?

‹ user-register-notification anpassen Jquery rebind funktioniert nicht ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

node_load ist genau

Eingetragen von rapsli (1500)
am 17.11.2009 - 07:56 Uhr

node_load ist genau richtig:

<?php
$nid
= 23;
$node = node_load($nid);

print
$node->title;
//usw.
?>

Devel Modul kann sehr nützlich sein, dann kannst du nämlich folgendes machen dsm($node) und es sieht hübsch aus.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

Node-ID auslesen

Eingetragen von florianj (10)
am 17.11.2009 - 11:40 Uhr

Danke für die schnelle Hilfe - und wie finde ich heraus, auf welcher Node ich gerade bin? Würde das immer gerne für die Seite, auf der man sich befindet, ausgeben?

Tausend Dank,
Florian

  • Anmelden oder Registrieren um Kommentare zu schreiben

arg()

Eingetragen von stBorchert (6003)
am 17.11.2009 - 11:49 Uhr
florianj schrieb

und wie finde ich heraus, auf welcher Node ich gerade bin? Würde das immer gerne für die Seite, auf der man sich befindet, ausgeben?

Dazu kannst Du einerseits im Template (node.tpl.php) einfach <?php print $node->nid; ?> schreiben oder an einer beliebigen anderen Stelle (zum Beispiel in der page.tpl.php oder in einem Block) die Funktion arg() verwenden.
Dabei überprüfst Du, ob arg(0) mit 'node' übereinstimmt und arg(1) ein numerischer Wert ist.

<?php
if (arg(0) == 'node' && is_numeric(arg(1))) {
  print
t('You are viewing node #!nid', array('!nid' => arg(1)));
}
?>

hth,

 Stefan

--
sei nett zu Deinem Themer

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

kommt drauf an, von wo aus

Eingetragen von rapsli (1500)
am 17.11.2009 - 11:54 Uhr

kommt drauf an, von wo aus du den code ausführst...

preprocess_node() -> dann hättest du auch gerade den aktuellen node
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

Genial - gelöst!

Eingetragen von florianj (10)
am 17.11.2009 - 12:58 Uhr

Suuuuper, danke! Arg(1) werde ich nehmen :)

Hier für alle nochmal zum Mitschreiben:

<?php
$nid
= arg(1);
$node = node_load($nid);

$node_content = $node->title;
$node_content .= $node->body;

?>

Liefert den Titel und den Inhalt der Node, in der man sich gerade befindet!

Danke,
Flo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nachfrage: Meta-Daten auslese?

Eingetragen von florianj (10)
am 17.11.2009 - 16:48 Uhr

Kann ich dazu auch die Meta-Daten auslesen? Habe das entsprechend Modul installiert... Gibt es eine Lösung dafür?

Danke,
Flo

  • Anmelden oder Registrieren um Kommentare zu schreiben

florianj schrieb <?php$nid

Eingetragen von stBorchert (6003)
am 17.11.2009 - 16:53 Uhr
florianj schrieb

<?php
$nid
= arg(1); // <!--- tsts
$node = node_load($nid);
...
?>

Du kannst Dir nicht sicher sein, dass arg(1) eine Zahl (und überhaupt gesetzt) ist. Daher ist es besser, die von mir beschrieben Abfrage zu verwenden.

florianj schrieb

Kann ich dazu auch die Meta-Daten auslesen?

Meta-Daten? Welche Meta-Daten?

 Stefan

--
sei nett zu Deinem Themer

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Er meint sicher Keywords und

Eingetragen von Alexander Langer (3416)
am 17.11.2009 - 18:10 Uhr

Er meint sicher Keywords und dergleichen aus dem Metatags Modul.

Mach doch einfach mal ein

<?php print_r($node); ?>

sobald du den $node geladen hast, dann siehst du wo da überall die Daten drinstehen. Oder, deutlich komfortabler, beschäftige dich etwas mit dem Devel-Modul und dem im Paket enthaltenen Theme Untermodul. Das Modul stellt auch deutlich komfortablere "Arschabwischerfunktionen" bereit, die PHPs print_r() ablösen, z.B. dprint_r() und dsm().

Siehe auch http://drupal.org/node/174575

--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!

webseiter.de

Suchmaschinenoptimierung (SEO) & Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

war mal wieder ein wenig

Eingetragen von rapsli (1500)
am 17.11.2009 - 22:57 Uhr

war mal wieder ein wenig Inspiration für einen Blogeintrag: http://www.rapsli.ch/drupal/drupal/node-mit-drupal-laden-und-aendern
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke!

Eingetragen von florianj (10)
am 18.11.2009 - 19:06 Uhr

Super, danke für eure Hilfe!!

Flo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Node properties

Eingetragen von md (3717)
am 18.11.2009 - 19:52 Uhr
florianj schrieb

Suuuuper, danke! Arg(1) werde ich nehmen :)

Hier für alle nochmal zum Mitschreiben:

<?php
$nid
= arg(1);
$node = node_load($nid);

$node_content = $node->title;
$node_content .= $node->body;

?>

Liefert den Titel und den Inhalt der Node, in der man sich gerade befindet!

Danke,
Flo

In der node.tpl.php stehen die Node Variablen ($node mit allen properties) immer zur Verfügung.
Ein node_load ist vollkommen überflüssiger Overhead.

$node->title oder $node->body usw. stehen auch ohne node_load zur Verfügung.

vg
--
md - DrupalCenter.de

mdwp*

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe ich gerade versucht.

Eingetragen von florianj (10)
am 19.11.2009 - 10:36 Uhr

Habe ich gerade versucht. Führt leider zu Fehlern... arbeite nicht im tpl, sondern im .module! Stehen die da auch zur Verfügung?

Flo

  • Anmelden oder Registrieren um Kommentare zu schreiben

kann man nicht so sagen ;)

Eingetragen von rapsli (1500)
am 19.11.2009 - 10:52 Uhr

kann man nicht so sagen ;) ... je nach dem in welchem hook du dich befindest.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

florianj schrieb Habe ich

Eingetragen von md (3717)
am 19.11.2009 - 12:19 Uhr
florianj schrieb

Habe ich gerade versucht. Führt leider zu Fehlern... arbeite nicht im tpl, sondern im .module! Stehen die da auch zur Verfügung?

Flo

Ich weiß ja nicht was für ein Modul du schreibst, aber wenn du in arg(1) eine node id erwartest, dein Modul also die Ausgabe für einen Node generiert, spricht doch nichts dagegen, wenn du alles weitere in der node.tpl.php machst.

Das ist ja die grundsätzliche Architektur von Drupal: Module stellen Daten zur Verfügung und in den Templates geschieht die Ausgabe. Mal sehr vereinfacht gesprochen.

vg
--
md - DrupalCenter.de

mdwp*

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?php // set up the

Eingetragen von florianj (10)
am 19.11.2009 - 14:20 Uhr

<?php
// set up the block
   
$block_content = "Dies ist mein Inhalt";
   
$block['content'] = $block_content;
    return
$block;
?>

Ich mach das so ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Node?

Eingetragen von md (3717)
am 19.11.2009 - 16:12 Uhr

Aha, also ein Block Modul. Und was hat das jetzt mit einem node zu tun? So ganz versteh ich deine ursprüngliche Fragestellung nicht mehr.

vg
--
md - DrupalCenter.de

mdwp*

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nicht so schlimm...

Eingetragen von florianj (10)
am 19.11.2009 - 16:19 Uhr

... hab alles so hinbekommen, wie ich es wollte! Nehme mir den Inhalt und verarbeite ihn weiter, so dass aus dem Content automatisch eine Tagcloud erstellt wird. Die fertigen Module von Drupal liefern nur schlechte, manuelle Tagclouds und das ist mir zu viel Arbeit ;)

Flo

  • Anmelden oder Registrieren um Kommentare zu schreiben

Solche Antworten sind für

Eingetragen von md (3717)
am 19.11.2009 - 16:48 Uhr

Solche Antworten sind für unsere Benutzer sehr hilfreich :-(

vg
--
md - DrupalCenter.de

mdwp*

vg
md - DrupalCenter.de

mdwp* Drupal Consulting & Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
  • Update V. 9.3.12 auf V. 9.4 mit Fehler: Modul mySQL fehlt. Bitte Hilfe.
  • Sprachpfad, in Drupal Korrekt einstellen, auch bei den Meta-Tags
  • Update von Drupal 9.3 auf 9.4 oder bei 9.3 bleiben
  • Terminverwaltung
  • Views in Seite einbetten
  • Hilfe! Nach Update auf 7.90 zeigt User reference (Kontrollkästchen/Auswahlknöpfe) nicht mehr vollständig an
  • ("Gelöst,...") Das Deinstallieren eines Content typen, der keinen Content hat, ist nicht möglich.
  • Drupal Website gestalten
  • DrupalCamping 2022 in Wolfsburg, 25. - 28. August
  • Entity Reference - Title Felder werden als Link angezeigt
Weiter

Neue Kommentare

  • ursache gefunden
    vor 4 Stunden 25 Minuten
  • nun wirds erst richtig lustig...
    vor 4 Stunden 45 Minuten
  • ursache weiter eingegrenzt
    vor 10 Stunden 14 Minuten
  • Nein, das war es nicht. S. o.
    vor 3 Tagen 9 Stunden
  • Eventuell hier ein Hinweis?
    vor 3 Tagen 10 Stunden
  • Lösung gefunden
    vor 1 Tag 20 Stunden
  • Kalender und webform
    vor 5 Tagen 15 Stunden
  • Alle Funktionen sind in views schon enthalten
    vor 5 Tagen 15 Stunden
  • Danke, Werner. Composer läuft
    vor 1 Woche 1 Stunde
  • Wenn eine neue Drupal
    vor 1 Woche 2 Stunden

Statistik

Beiträge im Forum: 247848
Registrierte User: 19585

Neue User:

  • Tkakah
  • JeraldFub
  • andycrestodina

» Alle User anzeigen

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