php Snipt terms im header!
Eingetragen von artweb (443)
am 08.11.2012 - 22:21 Uhr in
am 08.11.2012 - 22:21 Uhr in
Hallo liebe Drupal Gemeinde,
bin wieder mal auf der suche nach einer Lösung und zwar gebe ich im Content auf jeder Seite denn passenden Tag aus, der beim erstellen zugeordnet wird, klappt auch Super, des weiteren will ich auch im Header denn Tag ausgeben mit php, hierbei kommt es aber zu keiner Ausgabe, ich verwende folgendes php Snipt:
<?php if ($terms): ?>
<div class="head-terms"><?php print $terms; ?></div>
<?php endif; ?>
</div>
Leider bin ich noch php Dummy und komme nicht drauf wo der Fehler sein kann bzw. ich habe eine Vermutung das es mit Header und Content zusammen hängen könnte...
hat ein Bsp für mich wie klappen könnte?
vielen Dank in voraus
Andreas
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn da nichts ausgegeben
am 08.11.2012 - 22:32 Uhr
Wenn da nichts ausgegeben wird, dann ist da wohl auch nichts drin.
Ich würde also vermuten, dass die Variable $term leer ist.
Vielleicht wird die erst später (nach dem Header) mit Werten versehen.
Gruß
Berthold
Drupal Video-Tutorials
Header ausgabe $term
am 08.11.2012 - 23:30 Uhr
das habe ich mir auch schon gedacht und wie könnte ich das Problem lössen?
Gruß Andreas
"Von Zeit zu Zeit muss man Dinge versuchen, die über die eigenen Kräfte gehen"
Augunst Renoir
Das Problem ist doch, daß Du
am 09.11.2012 - 10:05 Uhr
Das Problem ist doch, daß Du mit diesem Snippet in der page.php.tpl werkelst. Nun ist aber nicht jede ausgegeben Page eine Node-Page und außerdem ist im page.tpl.php die Node-Variable nicht vorhanden. Also müßte der Code vor diesem Snippet noch folgendes bekommen (Achtung nicht getestet!!)
if (arg(0) =='node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
$tid = $node->Feldname-derTaxonomie-Referenz;
$term_obj = taxonomy_term_load($tid);
$term = $term_obj->name;
}
Danach ist die Term-Variable entsprechend gefüllt.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Feldname-derTaxonomie-Referenz
am 09.11.2012 - 20:17 Uhr
Hallo Werner,
werde nicht ganz schlau mit "Feldname-derTaxonomie-Referenz" ich verwende Drupal 6 und ich habe ca. 10 Inhaltstypen die 4 Vokabular zugeordnet sind, wenn ich es richtig versteh, dann ist in meinem Fall der "Feldname-derTaxonomie-Referenz" mit einen der 4 Vokabular zu ersetzen oder?
if (arg(0) =='node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
$tid = $node->tax_fz;
$term_obj = taxonomy_term_load($tid);
$term = $term_obj->name;
}
Gruß Andreas
"Von Zeit zu Zeit muss man Dinge versuchen, die über die eigenen Kräfte gehen"
Augunst Renoir
Sorry, das war die Drupal 7
am 09.11.2012 - 21:58 Uhr
Sorry, das war die Drupal 7 Version. Bei Drupal 6 ist die Struktur im Node anders. Im Node gibt es einen Array namens Taxonomy, der alle Terme des Nodes direkt als Objekte speichert. Die einzelnen Terme sind aber nur über die Term-ID anzusprechen, die man im vorhinein nicht weiß. Deshalb wird das Programm damit etwas schwieriger, da man in einer foreach-Schleife über alle Werte des Arrays laufen muß.
Deshalb paar Fragen:
Warum baust Du noch eine Seite mit Drupal 6 auf?
Wenn es denn sein soll, gibt es mehr als nur einen Term bei einem Node?
Muß auch auf das Vokabular abgefragt werden?
Wie soll das Verhalten bei mehreren Terms sein?
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Drupal 6 Term
am 12.11.2012 - 15:25 Uhr
Hallo Werner,
Auch Sorry dass ich erst heute dir Antworte, habe das Mail leider übersehen :-(
Es ist schon viel zu weit Fortgeschritten das Projekt "Schmuck". Das ganze auf Drupal 7 um stricken, wäre viel zu zeitintensiv leider nicht möglich außer der Kunde besteht irgendwann drauf.
"Wenn es denn sein soll, gibt es mehr als nur einen Term bei einem Node?" Bei den Standart Detailseiten gibt es nur einen Term und beim Schaufenster und Video gibt es mehre.
"Muß auch auf das Vokabular abgefragt werden?" Es gibt mehr verschiedene Vokabular (Kategorien) ob die Abgefragt werden müssen kann ich leider nicht sagen.
"Wie soll das Verhalten bei mehreren Terms sein?" Das ist eine gute Frage...
Es gib zwei gründe warum ich denn zugeordneten Begriff im Header ausgeben will: zum einem wegen der eigenen Css Classe des jewilligen Begriffes und wegen der Benutzerfreundlichkeit.
Die Css Classe brauche ich für die aufwendige Menü Struktur, damit ich mit der Css beim Submenü denn Aktive Menüpunkt hervorheben kann wenn sich der User auf einer Detailseite befindet.
Vielleicht hast einmal Zeit für ein Telefongespräch...
Gruß Andreas
"Von Zeit zu Zeit muss man Dinge versuchen, die über die eigenen Kräfte gehen"
Augunst Renoir