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 - 00: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 - 06: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
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

Node-ID auslesen

Eingetragen von florianj (10)
am 17.11.2009 - 10: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 - 10: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

kommt drauf an, von wo aus

Eingetragen von rapsli (1500)
am 17.11.2009 - 10: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
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

Genial - gelöst!

Eingetragen von florianj (10)
am 17.11.2009 - 11: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 - 15: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 - 15: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Er meint sicher Keywords und

Eingetragen von Alexander Langer (3416)
am 17.11.2009 - 17: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

war mal wieder ein wenig

Eingetragen von rapsli (1500)
am 17.11.2009 - 21: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
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke!

Eingetragen von florianj (10)
am 18.11.2009 - 18: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 - 18: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*

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe ich gerade versucht.

Eingetragen von florianj (10)
am 19.11.2009 - 09: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 - 09: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
******************************

  • Anmelden oder Registrieren um Kommentare zu schreiben

florianj schrieb Habe ich

Eingetragen von md (3717)
am 19.11.2009 - 11: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*

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?php // set up the

Eingetragen von florianj (10)
am 19.11.2009 - 13: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 - 15: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*

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nicht so schlimm...

Eingetragen von florianj (10)
am 19.11.2009 - 15: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 - 15:48 Uhr

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

vg
--
md - DrupalCenter.de

mdwp*

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 1 Tag 9 Stunden
  • Inzwischen sind wir bei
    vor 1 Woche 5 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 5 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 2 Tagen
  • Hey danke
    vor 9 Wochen 3 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 10 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 10 Wochen 6 Tagen
  • In der entsprechenden View
    vor 10 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250237
Registrierte User: 20464

Neue User:

  • ocvk2810
  • marouane.blel
  • capilclinic

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