[gelöst] Node in Block
am 15.08.2014 - 13:13 Uhr in
Hallo erstmal.
Ich habe ein Poblem mit dem Erstellen eines Blocks indem je nach anforderung ein oder mehrere nodes ausgegeben werden sollen.
Brauche eine PHP lösung BITTE BITTE die den Content ausgibt bin schon am verzweifeln.
Suche etwas in der art ( diese lösung läuft nicht bei mir ).
$node = node_load(YOUR_NODE_ID);
$body_content = $node->body[$node->language][0]['value'];
print $body_content;Wäre toll wenn jemand mir hierbei helfen könnte.
Dank schon mmal im vorraus
- Anmelden oder Registrieren um Kommentare zu schreiben

Und warum machst Du das nicht
am 15.08.2014 - 13:15 Uhr
Und warum machst Du das nicht über [do:views Views]?
oder noch einfacher mit dem
am 15.08.2014 - 13:45 Uhr
oder noch einfacher mit dem modul node block
Node in block
am 15.08.2014 - 15:18 Uhr
Erst mal Danke aber das geht so nur wenn ich das nicht weiter formatieren will. Der Block soll noch in verschiedene spalten mit inhalt bekommen über ein framework.
<div class="grid-container">
<div class="grid-50">
Tall content here that
would be alongside the
50%, 25|25 25|25 rows.
</div>
<!--
Nested grid units...
-->
<div class="grid-50 grid-parent">
<div class="grid-50">
Row 1:
I am 25% (50% of 50%)
<?php
$node = node_load(YOUR_NODE_ID);
$body_content = $node->body[$node->language][0]['value'];
print $body_content;
?>
</div>
<div class="grid-50">
Row 1:
I am 25% (50% of 50%)
</div>
<div class="grid-50">
Row 2:
I am 25% (50% of 50%)
</div>
<div class="grid-50">
Row 2:
I am 25% (50% of 50%)
</div>
</div>
</div>
Du hast schon mit einem
am 15.08.2014 - 15:40 Uhr
Du hast schon mit einem anderen System gearbeitet und bist in dessen Denkweise gefangen. Bitte lerne erst mal, wie Drupal arbeitet und fange danach erst mit Deinem konkreten Problem an. Im Moment arbeitest Du völlig an Drupal vorbei. Eine passende Tutorial Serie wäre etwa http://nodeone.se/en/learn-drupal-7-with-nodeone.
Blödsinn
am 15.08.2014 - 16:32 Uhr
Ich weiß nicht genau wo dein Problem ist.
Solche Sachen werden oft gemacht zum themen einer seite .
Wenn man es kann zumindest.
Hallo testuser123, inhaltlich
am 15.08.2014 - 19:08 Uhr
Hallo testuser123,
inhaltlich gebe ich Dir zum Teil recht. Allerdings bleibe nett! Zumeist sind die Kenntnisse von Werner sehr profund und seine Tips oft Gold wert.
Es geht auf beide Arten. Da ich aber auch gerne von Hand schreibe präferiere ich oft Deinen Ansatz.
Also:
Installliere das devel module, und dann lasse Dir in Deinem eigenen Modul per dpm($body_content); den Inhalt falls vorhanden ausgeben. Ist er da kommst du so ran.
Wie Du einen Block in deinem eigenen Modul ausgibt mit menu etc. wirst du somit wohl wissen, schätze ich!
Ansonsten sage Bescheid oder google nach "how to create a block programmatically".
Inhaltlich, Lösung selbst gefunden
am 16.08.2014 - 12:53 Uhr
Sorry Leute, sollte nicht unhöflich gemeint sein, war halt nur inhaltlich an einer Antwort auf meine Frage vorbei.
Warum wieso weshalb, denke das würde zu weit führen.
Aber wenn man explizit nach einer Programierlösung fragt, hat das schon seinen Grund.
Daher finde ich die Antwort von Werner eher unqualifiziert, und anmaßende Ergänzungen seinerseits, wären auch nicht nötig gewesen.
Sinn oder nicht Sinn, so ein Unsinn !
Wissenstände anhand von Fragen abzuleiten, sind doch nicht bei 9live.
Habe bei meiner Suche übrigens mehrere Komentare dieser Art gefunden.
Da könnte die Vermutung aufkommen, jemand hat nicht das nötige Wissen und versucht über anzahl von Kommentaren seine Status unnötig aufzublähen.
Wenn man nach a fragt möchte man nicht nach b.
Die Lösung ist :
//gibt einen kompletten node aus
<?php
$nid = 2; // hier eure node id eintragen
print drupal_render(node_view(node_load($nid)));
?>
//gibt teaser eines node aus
<?php
$view_mode = 'teaser';
$nid = 2; // hier eure node id eintragen
$node = node_load($nid);
print render(node_view($node, $view_mode));
?>
Du kannst Dir auch Deinen
am 16.08.2014 - 13:16 Uhr
Du kannst Dir auch Deinen eigenen view_mode bauen.
Was meinst du genau ?
am 16.08.2014 - 13:36 Uhr
über views oder Display Suite die ausgabe ??
oder panels ??
Wieso benutzt Du mal render()
am 16.08.2014 - 13:41 Uhr
Wieso benutzt Du mal render() und mal drupal_render() und wieso mal node_load($nid) und mal $node (=node_load($nid)) als Parameter?
Finde ich irgendwie irritierend, so als "Lösung"...
Gruß
Christian
in deinen Beispielen hast Du
am 16.08.2014 - 13:44 Uhr
in deinen Beispielen hast Du default und teaser als view modes angegeben. Du kannst aber auch Deinen eigenen mode bauen. hook_node_view_alter ist hier das Stichwort.