Taxonomie als Klasse ausgeben
Eingetragen von headkit (514)
am 28.10.2007 - 10:32 Uhr in
am 28.10.2007 - 10:32 Uhr in
Hi Leute!
Ich würde gerne einen bestimmten Taxonomie-Begriff als Klasse in den Titel eines Node-Typs einschmuggeln.
Sind dafür Module oder Workarounds bekannt?
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben
var_dump
am 28.10.2007 - 10:49 Uhr
Lass dir mal per var_dump($node) das Array des nodes ausgeben. Dort findest du auch die dem node zugeodneten Kategorien. Die gewünschte kannst du dann in die class schreiben.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
ich probier das mal. danke!
am 29.10.2007 - 18:23 Uhr
ich probier das mal.
danke!
nun, da sind recht viele
am 29.10.2007 - 19:44 Uhr
nun, da sind recht viele ausgabefelder. wie aber komme ich jetzt speziell an einen der unter-unter-key ran?
print_r ergibt u.a.
[taxonomy] => Array
(
[1] => stdClass Object
(
[tid] => 1
[vid] => 1
[name] => DAS WILL ICH AUSLESEN
[description] =>
[weight] => 0
)
)
sowas geht jedenfalls nicht:
echo $node['taxonomy']->$1['name'];
....
die frage ist also, wie man
am 29.10.2007 - 20:16 Uhr
die frage ist also, wie man verschachtelte arrays in php ausliest.
ja, ja, ich such ja schon...
...
also bis hier komm ich:
print_r($node->taxonomy[1]);
ergibt
stdClass Object
(
[tid] => 1
[vid] => 1
[name] => DAS WILL ICH AUSLESEN
[description] =>
[weight] => 0
)
geht sowas nur über stückweises auslesen a la
$zwischenausgabe = $node->taxonomy[1];
print_r($zwischenausgabe->name);
?, denn das funktiniert sogar.
ich würde das aber gern in einem schritt machen.
Werte des node arrays ausgeben
am 30.10.2007 - 09:00 Uhr
Versuchs mal so:
node->taxonomy[1]->name;
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
o.k., ich versuchs. sieht
am 30.10.2007 - 10:42 Uhr
o.k., ich versuchs. sieht aber gut aus. :-)
prinzipiell gehts, aber in
am 30.10.2007 - 13:16 Uhr
prinzipiell gehts, aber in der node.tpl.php funktioniert es so nicht:
<?php if ($page == 0) { ?>
<h2 class="title <?php echo $node->taxonomy[2]->name ?>">
<a href="<?php print $node_url?>"><?php print $title?></a>
</h2>
<?php }; ?>
Was wird denn ausgegeben?
am 30.10.2007 - 14:21 Uhr
Was wird denn ausgegeben? Nichts? Ist denn die 2 richtig, da oben ja die 1 ausgegeben wurde...
gruß pebosi
gruß pebosi
--
https://pebosi.net
doch, es wird was
am 30.10.2007 - 16:13 Uhr
doch, es wird was ausgegeben, wenn ich den code an anderer stelle als innerhalb der klassenbezeichnung packe.
die 2 zeigt nur auf einen anderen taxonomiebegriff.
ich hab übrigens gelesen, dass es resourcensparender ist, wenn man mit taxonomy_node_get_terms($nid) arbeitet, da man so nicht das ganze node objekt laden muss.
$nid=$node->nid;
$terms = taxonomy_node_get_terms($nid);
$taxterms = $terms[2]->name;
aber wie krieg ichs nun in die klasse...?