CCK Feld einer Node im Block anzeigen/verarbeiten
am 14.02.2008 - 13:58 Uhr in
Hallo,
bin gerade dabei, einen Weg für folgendes Problem zu finden.
Ich habe einen ContentType "Artikel", der drei Felder hat:
* title
* wikiwort
* body
In einem Block möchte ich den CCK Wert "wikiwort" der aktuellen Node verwenden, um daraus Links, img-tags o.ö zu bauen, z.B.:
<a href="http://externeswiki.net/wikiwort">Link</a>
Bisheriges Vorgehen:
Ich erstelle einen PHP-Block und frage darin die aktuelle Node-ID ab, um dann per SQL das entsprechende Feld aus der tabelle 'content_type_artikel' abzufragen. Dabei muss ich natürlich (da der Contenttype versioniert ist) die aktuelle Version abfragen.
Dafür habe ich nun einen PHP-Schnipsel, der auch funktioniert.
So richtig rund finde ich es aber noch nicht. Erstens PHP im Block, zweitens händisches SQL...
Gibt es da einen Weg mit Views?
Gibt es einen Weg, etwas wie
<?php
print $node->field_wikiwort[0]['value']
?>
in einem Block zu verwenden? Soweit mein Test reicht, geht es nur in der Node selbst. Bin mit der API nicht so tief vertraut.
Grüße, Ronald
- Anmelden oder Registrieren um Kommentare zu schreiben
Wozu SQL? Wenn du im Block
am 14.02.2008 - 14:22 Uhr
Wozu SQL? Wenn du im Block die ID des Nodes hast, musst du diesen doch nur via node_load() laden und kannst dann wie beim Theming auch auf das CCK Feld zugreifen.
PHP im Block kannst du natürlich umgehen, indem du ein eigenes Modul schreibst, das den Block zur Verfügung stellt.
--
"Look, Ma, I'm dead!"
Cell, Stephen King
Danke, habe es nun so
am 14.02.2008 - 14:43 Uhr
Danke, habe es nun so gemacht:
<?php
if (arg(0) == 'node' && is_numeric(arg(1))) $nid = arg(1);
$node = node_load($nid);
print $node->field_wikiwort[0]['value'];
?>
Grüße, Ronald