Wie kann ich mir nur die /node/22 gesondert anzeigen lassen?
am 02.06.2008 - 18:52 Uhr in
Ich hoffe man versteht mich jetzt. Ich bin erst seit einer Woche mit Drupal 6.2 unterwegs und bei Wordpress oder Movable Type gibt es für Artikel und Blogeinträge eine ID und keine nodes. Überhaupt ist alles viel simpler und schneller erledigt, aber leider unterstützt mein Hoster demnächst kein Perl - in der Form wie es MT benötigt - mehr.
Bei Movable Type gibt es die Möglichkeit mir gezielt einen bestimmten Blogeintrag (zum Beispiel den mit der ID 22) auf einer extra Webseite oder als Auszug im Sidebar oder sonstwo anzeigen zu lassen. Entweder als Auszug oder vollständig, mit Datum oder ohne, mit Überschrift oder ohne) Ich kann das ein Mal über ein MySQL plugin erzeugen und zum anderen über bestimmte interne tags. Das geht Supersimpel in der Art wie:
<div class="Lockartikel">
<entry blablabla:"id-22"></entry>
</div>
Geht so was auch bei Drupal?
- Anmelden oder Registrieren um Kommentare zu schreiben
Geht... Aber Drupal ist anders
am 02.06.2008 - 23:17 Uhr
Geht... Aber Drupal ist definitiv anders als MT oder Wordpress...
Grundsätzlich so:
<?php
$node = node_load(22);
print node_view($node);
?>
Als Teaser:
<?php
$node = node_load(22);
print node_view($node, $teaser = TRUE, $page = FALSE, $links = TRUE);
?>
Oder noch mehr Kontrolle
<?php
$node = node_load(22);
print $node->title;
print $node->teaser;
?>
Um zu checken was du alles hast:
<?php
$node = node_load(22);
print '<pre>';
print_r($node);
print '</pre>';
?>
Hier sind die API links. Einlesen lohnt sich...
node_load()
: http://api.drupal.org/api/function/node_load/6node_view()
: http://api.drupal.org/api/function/node_view/6» forward-media.de Drupal Entwicklung | Drupal Tutorials
Danke Jochen, Dein Tipp hat
am 05.06.2008 - 15:03 Uhr
Danke Jochen, Dein Tipp hat mir sehr geholfen.
Was ich nicht ersehen kann ist wie ich ein Szenario wie
Titel (als link oder nur als h2 tag ohne link)
plus teaser mit "read more" link
bekomme.
Auf dieser Seite ist das gut gemacht http://www.themesnap.com/theme-demos/publisher-theme/ leider ein kommerzielles theme.
Und wenn ich das auch noch fragen dürfte, es gibt bestimmt auch einen Weg, um zum Beispiel die ersten 5 Titel(als link) einer bestimmten Kategorie oder eines bestimmten tags anzeigen zu lassen? Wie geht das?
so in etwa?
am 05.06.2008 - 15:43 Uhr
...
Titel (als link oder nur als h2 tag ohne link)
plus teaser mit "read more" link
...
Jochen hatte da schon einen grossen Tipp gegeben:
<?php
$node = node_load(22);
print $node->title;
print $node->teaser;
?>
Um nun den einen Eintrag speziell darzustellen, kannst Du Deine template.php ein wenig anpassen. Dann kannst Du eine node-22.tpl.php erstellen, die diesen einen Eintrag anders darstellt.
Beispiel:
<div id="node-22" class="node clear-block speziell">
<?php if ($page == 0){ ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php } else { ?>
<h2><?php print $title ?></h2>
<?php } ?>
<div class="meta">
<?php if ($submitted): ?>
<span class="submitted"><?php print $submitted ?></span>
<?php endif; ?>
<?php if ($terms): ?>
<span class="terms"><?php print $terms ?></span>
<?php endif;?>
</div>
<div class="content">
<?php print $teaser ?>
</div>
<?php
if ($links) {
print $links; // zum Beispiel "read more"
}
?>
</div>
Das sollte dann node #22 anders ausgeben, als die anderen Beiträge.
Und wenn ich das auch noch fragen dürfte, es gibt bestimmt auch einen Weg, um zum Beispiel die ersten 5 Titel(als link) einer bestimmten Kategorie oder eines bestimmten tags anzeigen zu lassen? Wie geht das?
Klar doch. Mit Views kannst Du Dir (nahezu) beliebige Listen anzeigen lassen.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.