Einen Node in zwei DIV-Blöcken unterbringen
Eingetragen von soezkan (558)
am 20.11.2009 - 14:07 Uhr in
am 20.11.2009 - 14:07 Uhr in
Hallo zusammen,
ich benötige eine Möglichkeit, wie
ich einen Node "zerteilen" kann
und innerhalb zwei verschiedener
DIV-Blöcke (HTML/CSS) unterbringen
kann.
Es gibt ja beim WYSIWYG-Inhaltseditor
den "Knopf" den Inhalt zu teilen in
Teaser und Body.
Mein Wunsch nun eben wäre, die beiden
Teaser und Body in der page.tpl.php
(denke mal das wäre die Datei um dies zu tun?)
so darzustellen (Bsp.):
<div style="float: left">
TEASER
</div>
<div style="float: right">
BODY
</div>
Hat jemand sowas schonmal probiert?
Lieben Dank,
Soezkan
- Anmelden oder Registrieren um Kommentare zu schreiben
Da musst Du eigentlich die
am 20.11.2009 - 14:22 Uhr
Da musst Du eigentlich die entsprechende node.tpl.php anpassen! Einstieg zum Theming gibts im Handbuch http://www.drupalcenter.de/handbuch/9912 und natürlich bei Drupal.org ...
-----
Design Probleme einfach mit FF und FIREBUG lösen!
Habe ch ja geschrieben,
am 20.11.2009 - 15:23 Uhr
Habe ich ja geschrieben, bloss wie bekomme ich die beiden node-Teile
denn dann raus aus der DB?
Eignet sich das Framework-Modul für sowas?
http://drupal.org/project/framework
Danke für mehr Tipps.
Liebe Grüße
Soezkan
Du denkst zu kompliziert. Du
am 20.11.2009 - 15:44 Uhr
Du denkst zu kompliziert. Du kannst innerhalb der node.tpl.php den Teaser und den kompletten Node über die Variabeln $teaser und $content ausspucken.
Du wirst aber das Problem haben, dass Full Node eben auch den Teasertext beinhaltet. Der WYSIWYG Editor gibt dem System den Hinweis, wo getrennt werden soll. Wenn du beides auf einer Seite unterbringen willst und es keine Dopllungen geben soll, benutzt du besser ein zusätzliches Textfeld, das du per CCK deinem Inhaltstypen zuweist, um den Teaser unabhängig zu gestalten.
Nimm dir die Zeit, folge Thoors Rat und stöber mal in Ruhe im Handbuch. Erwarte nicht, dass du für deine spezielle Frage direkt eine spezielle Site mit dem Lösungsweg findest, sondern versuch in aller Ruhe die Grundkonzepte zu verinnerlichen, damit dir die Zusammenhänge klarer werden. Der Rest kommt dann von alleine..
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Ganz lieben Dank für den
am 20.11.2009 - 16:06 Uhr
Ganz lieben Dank für den direkten Tipp.
Sehr hilfreich!
Viele Grüße,
Soezkan
So kann mans machen:
am 22.11.2009 - 10:59 Uhr
<div id="spalte_links">
<?php
print($node->content['body']['#value']);
?>
</div>
<div id="spalte_rechts">
<?php
print $node->field_right_column[0]['view'];
?>
</div>
... wenn man einen mit CCK angelegten Content-Type
hat der ein weiteres Textfeld anbietet, und dieses
z.B. den Namen field_right_column hat.
Drupal ist toll!
Liebe Grüße
Soezkan
Enifacher mit dem InsertNode modul
am 22.11.2009 - 11:06 Uhr
Damit kannst etwa wie folgt teaser usw. einfügen:
[node:article41 title teaser more]
also Parameter gesteuert.
Elemente des Node-Objekts anzeigen
am 22.11.2009 - 11:27 Uhr
Einige Inhalte eines Node sind direkt als "kurze" Variablen aufrufbar:
$title
$teaser
$body
...
$content ist etwas spezial und enthält alle Felder ausser den Titel, also den Textkörper und alle weiteren CCK-Felder.
Der vollständige Inhalt eines Beitrags mit vielen Varitionen steht im Objekt $node. Die einzelnen Elemente kannst du dir auflisten lassen. Füge in node.tpl.php folgenden Code ein - am besten ganz oben:
<pre>
<?php print_r ($node); ?>
</pre>
Du erhälst eine u.U. sehr lange Auflistung der Elemente des Objekts $node.
Anhand der Liste kannst du den gezielten Aufruf ableiten:
Die Node-ID:
<?php
print $node->nid;
?>
oder den Inhaltstyp mit:
<?php
print $node->type;
?>
Der Textkörper ist auch so darstellbar:
<?php
print $node->body;
?>
aber auch:
<?php
print $node->content['body']['#value'];
?>
oder ein bestimmtes CCK-Feld - ungefähr so - es kommt darauf an, ob das Feld in einer Gruppe ist und ob mehrere Felder möglich sind!:
<?php
print $node->content['feldname']['#value'];
?>
Edit: shit, ich bin zu langsam ;)
Filter
am 22.11.2009 - 11:37 Uhr
Damit kannst etwa wie folgt teaser usw. einfügen:
[node:article41 title teaser more]
Das funktioniert nur mit einem speziellen Filter, jedoch nicht mit der Standard-Installation.
Stefan
--
sei nett zu Deinem Themer