Taxonomy Vokabular in page.tpl ausgeben
Eingetragen von skate-rock (28)
am 21.03.2012 - 17:55 Uhr in
am 21.03.2012 - 17:55 Uhr in
Hallo zusammen,
ja ich denke die Frage ergibt sich schon aus dem Titel. Wie schaffe ich es in der page.tpl.php ein bestimmtes Feld aus einer Taxonomy auszugeben?
<?php print render($content['field_feldname']); ?>
und
<?php print $node->field_feldname['und'][0]['value']; ?>
führt nicht zum gewünschten Ergebnis!
Danke schonmal!
EDIT //
<?php print $node->field_feldname['und'][0]['taxonomy_term']->name; ?>
War scheinbar die Lösung:)
EDIT 2 //
scheinbar doch nicht. kriege jetzt bei jedem zweiten Aufruf der Seite folgende Meldung:
Notice: Undefined variable: node in include() (Zeile 243 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/page.tpl.php).
Notice: Trying to get property of non-object in include() (Zeile 243 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/page.tpl.php).
Notice: Trying to get property of non-object in include() (Zeile 243 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/page.tpl.php).
HILFE?!? :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Der Hinweis ist doch ganz
am 21.03.2012 - 18:40 Uhr
Der Hinweis ist doch ganz klar formuliert:
Notice: Undefined variable: node in include()
Die Variable $node steht an der Stelle gar nicht zur Verfügung.
Die erste Codezeile, die du geschrieben hast
<?php
print $node->field_feldname['und'][0]['value'];
?>
ist schon ganz OK, nur würde ich
<?php
print $node->field_feldname[LANGUAGE_NONE][0]['value'];
?>
schreiben.
Dazu ist folgender Thread ganz interessante: Klick
lieben Gruß
Berthold Lausch
Der Hinweis ist doch ganz
am 21.03.2012 - 18:41 Uhr
Der Hinweis ist doch ganz klar formuliert:
Notice: Undefined variable: node in include()
Die Variable $node steht an der Stelle gar nicht zur Verfügung.
Die erste Codezeile, die du geschrieben hast
<?php
print $node->field_feldname['und'][0]['value'];
?>
ist schon ganz OK, nur würde ich
<?php
print $node->field_feldname[LANGUAGE_NONE]['0']['value'];
?>
schreiben.
Dazu ist folgender Thread ganz interessante: Klick
lieben Gruß
Berthold Lausch
Danke erstmal für deine
am 21.03.2012 - 18:49 Uhr
Danke erstmal für deine Antwort! Okay da node nicht zur Verfügung steht, wie bekomme ich das dann ausgeben? Folgendes habe ich versucht:
<h1 class="title" id="page-title">
<?php print $title; ?> <?php
print $node->field_ort[LANGUAGE_NONE][0]['value'];
?>
</h1>
in der PAGE.tpl.php brauche ich das. So gibt der mir nix aus. Ideen?
Über $content?
am 21.03.2012 - 18:56 Uhr
Bin mir nicht sicher, ob du über $content an das Feld rankommst, aber unter [gelöst] Target des Weiterlesen-Links ändern? findest du vielleicht ein paar Tipps.
Mit http://drupal.org/project/drupalforfirebug kann man da einen Blick unter die Haube werfen.
Zitat: in der PAGE.tpl.php
am 21.03.2012 - 19:38 Uhr
in der PAGE.tpl.php brauche ich das. So gibt der mir nix aus. Ideen?
Wenn $node dort nicht zur Verfügung steht, dann kannst du dort auch kein "Unterarraywert" von $node ausgeben.
Testen, ob dir eine Variable zur Verfügung steht und was dort drin steht kannst du mit
<?php
dsm($node);
?>
Ich denke aber mal, dazu muß mindestens das Devel-Modul aktiviert sein.
im Übrigen: Wenn das Devel-Modul aktiviert ist, dann gibt es eigentlich bei jeder Node neben dem Reiter "Ansehen" und dem Reiter "Bearbeiten" noch einen weiteren Reiter "Devel" und dort kannst du auch nachschauen, welche Varialben dir überhaupt zur Verfügung stehen.
lieben Gruß
Berthold Lausch
Vielen Dank für Eure
am 22.03.2012 - 13:11 Uhr
Vielen Dank für Eure Antworten! Soweit bin ich bisher:
<?php print $page['content']['system_main']['nodes'][1]['field_ort'][0]['#markup']; ?>
Das funktioniert auch! Eigentlich, denn er spuckt trotzdem noch den hier aus:
Fehlermeldung
Notice: Trying to get property of non-object in include() (Zeile 248 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/page.tpl.php).
Notice: Undefined index: und in include() (Zeile 120 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/node--club.tpl.php).
Notice: Undefined index: und in include() (Zeile 120 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/node--club.tpl.php).
Notice: Undefined index: und in include() (Zeile 124 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/node--club.tpl.php).
Notice: Undefined index: und in include() (Zeile 125 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/node--club.tpl.php).
Notice: Undefined index: und in include() (Zeile 126 von /www/htdocs/w00cc220/yaw/sites/all/themes/yaw/templates/node--club.tpl.php).
Ideen?? Danke
<?php dsm($page); ?>wird dir
am 22.03.2012 - 13:40 Uhr
<?php
dsm($page);
?>
wird dir genau zeigen, was dort zur Verfügung steht.
(aber das hatte ich ja oben schon geschrieben)
Da die Mitteilung Undefined index enthält, würde ich mal tippen, dass es [1] ist, was zu dem Fehler führt. Aber das ist nur so eine Vermutung.
Gruß
Berthold Lausch
@Berthold Das habe ich ja
am 22.03.2012 - 13:46 Uhr
@Berthold
Das habe ich ja auch genauso gemacht! Auch die 1 stimmt soweit (laut dsm). Darum komme ich ja auch auf meinen Befehl und mich wundert die Fehlermeldung!?
subscribing
am 24.04.2012 - 16:18 Uhr
subscribing
Die page.tpl.php wird bei
am 24.04.2012 - 17:40 Uhr
Die page.tpl.php wird bei jeder Seite aufgerufen und das muß nicht unbedingt eine "Node-Page" sein. Also kann unter diesen Bedingungen auch keine Node-Variable zur Verfügung stehen. Das mußt Du also über eine Abfrage mit isset(...) erst feststellen und dann entsprechend reagieren.
Beste Grüße
Werner
probier mal mit: <?php print
am 24.04.2012 - 20:53 Uhr
probier mal mit:
<?php print $field_ort[0][taxonomy_term]->name; ?>
gibts da schon eine lösung
am 26.07.2012 - 12:41 Uhr
gibts da schon eine lösung dazu? ich versuche gerade auf meiner node.tppl.php meine taxonomy-begriffe der node auszulesen. die referenz www.drupalcenter.de/handbuch/4285 behauptet dass es dort eine variable $taxonomy gibt, diese ist bei mir aber entweder leer oder verursacht einen fehler (Notice: Undefined variable: taxonomy in include() ).
was für möglichkeiten gibt es, auf die eigenschaften (zb taxonomy, bild) seiner node in der node.tpl.php zuzugreifen??
Für Drupal 6 ist das auch
am 26.07.2012 - 13:11 Uhr
Für Drupal 6 ist das auch noch korrekt, aber bei Drupal 7 sieht es etwas anders aus. Ich habe bereits im anderen Thread darauf hingewiesen, das in der node.tpl.php genau steht, wie Du an die Variablen kommst. Im Zweifel dann mit print_r oder, falls Du das [do:devel devel Modul] installiert hast, mit der Funktion [api:dsm] kannst Du Dir dann die Struktur der einzelnen Variablen oder von $node ansehen.
Beste Grüße
Werner
Drupal for Firebug
am 26.07.2012 - 14:48 Uhr
Den genauen Pfad zu den Tiefen des $content-Arrays kannst mit Hilfe von http://drupal.org/project/drupalforfirebug finden. Da kriegst du das dann wie folgt aufgedröselt:
ja die extension geht aber
am 26.07.2012 - 15:12 Uhr
ja die extension geht aber nicht unter FF 14, was soll ich machen.
ausserdem kann ich mir das array eh auch mit print_r ausgeben, das ist ja nicht das problem. das problem ist wie das zeug gerendert wird. was drinnensteht weiß ich, aber in den anderen templates funktioniert das nur durch render($content); das ist doch ein bissl undurchschaubar was da eigentlich passiert. fein wäre sowas wie renderAsImage($content['picture']) oder renderAsBreadcrum($content['taxonomy']). wenn du verstehst was ich meine, sowas auf die art halt, das ich die einzelnen eigenschaften ausgeben kann. aber die vorigen antworten sind teilweise eh schon hilfreich, teilweise ist drupal halt einfach wieder so ein CMS das komplett seine eigene schiene fährt und eine mörderisch hohe einarbeitungszeit gepaar mit ungenügend aktueller dokumentation mitbringt... tja
Disable Add-on Compatibility Checks
am 26.07.2012 - 15:26 Uhr
damit kriegst du das Add-on zum Laufen:
https://addons.mozilla.org/de/firefox/addon/checkcompatibility/
ein einfaches beispiel: ich
am 26.07.2012 - 15:35 Uhr
ein einfaches beispiel:
ich habe ein bild zu einem inhaltstyp "artikel" hinzugefügt. ich möchte nun den pfad dieses bildes auslesen, (dieser soll natürlich immer korrekt angepasst werden, je nach teaser oder detailansicht) und diesen in einem image-tag als src verwenden. wie mache ich das?
mit render($content['field_image']) bekomm ich schon mal das ganze bild mit überschrift und allem. ich möchte aber nur den pfad. der steht zwar drinnen im $content array, aber nur der eigentliche dateiname, also muss ich den pfad selber zusammenstoppeln, und das funktioniert dann nicht auf allen seiten.
oder taxonomy: ich kann mit render($content['field_meinbegriff']) zwar den begriff als link mit titel rendern lassen. aber die überbegriffe sind zb nicht da. ich würde gerne eine breadcrum-artige navigation damit machen, damit man immer weiß unter welcher kategorie man sich gerade befindet. das kann doch nicht so schwer sein! oder doch??
ich will doch nicht für alles irgendwelche module installieren müssen, das sind doch kleinigkeiten eigentlich...
Frank Ralf schrieb damit
am 26.07.2012 - 15:36 Uhr
damit kriegst du das Add-on zum Laufen:
https://addons.mozilla.org/de/firefox/addon/checkcompatibility/
danke frank!
Wenn die Navigation
am 26.07.2012 - 16:06 Uhr
Wenn die Navigation ausschließlich Taxonomie-gesteuert laufen soll, gibt es dafür das Modul [do:taxonomy_menu], das dann alles für dich regelt, auch die Hierarchie.
Beste Grüße
Werner
Drupal ist modular
am 26.07.2012 - 16:54 Uhr
ich will doch nicht für alles irgendwelche Module installieren müssen, das sind doch Kleinigkeiten eigentlich...
Doch, genau das ist das Drupal-Prinzip: Alles ist modular. Daher am besten immer erst nach einem passenden Modul suchen, als selber im PHP rumzufuhrwerken.
PS
Kann deine Tastatur auch GROSSBUCHSTABEN? Das würde die Lesbarkeit deiner Beiträge deutlich erhöhen ;-)
Gibts eigentlich ein
am 26.07.2012 - 18:55 Uhr
Gibts eigentlich ein Drupal-Standard Theme, welches alle oder viele Möglichkeiten des Themings zeigt? Bartik ist ja wohl doch eher simpel gehalten.
Zen ist auch sehr einfach
am 26.07.2012 - 19:16 Uhr
Zen ist auch sehr einfach aber sehr gut dokumentiert. Omega zusammen mit dem Modul Delta gibt als responsive Design ein Menge weitergehender Möglichkeiten, um mal zwei Extreme zu nennen.
Beste Grüße
Werner
wla schrieb Wenn die
am 26.07.2012 - 20:27 Uhr
Wenn die Navigation ausschließlich Taxonomie-gesteuert laufen soll, gibt es dafür das Modul [do:taxonomy_menu], das dann alles für dich regelt, auch die Hierarchie.
Beste Grüße
Werner
das funktioniert aber wiederum nur mit einem anderen modul. das macht mir dann blöcke. ich habe bereits ein menü mit mega-menu und möchte dies auch beibehalten.
ich sehe schon ich komme vom 100ten ins 1000ste, ich kriege ein haufen tipps aber umso tiefer ich mich reinbohre, umso größer werden die hürden und sackgassen. am anfang war ich begeistert von drupal, langsam nicht mehr :/
ich möchte doch einfach nur verschiedene artikel in verschiedenen kategorien haben, das sind doch standardaufgaben... :(((
Auch wenn ich mich
am 26.07.2012 - 20:44 Uhr
Auch wenn ich mich wiederhole, Du denkst noch nicht auf die Drupal-typische Weise. Du bist zu sehr in altem Strukturdenken verfangen. Das ging mir gerade beim Menü anfangs auch so. Drupal wirkt zu Anfang etwas chaotisch, aber der Eindruck legt sich. Ich bin der Meinung, man muß bei Drupal zuerst in Datenstrukturen denken (Inhalt) und dann kommt die Anzeige (Aussehen = Theming) bzw. der Zugriff darauf (wie baue ich sinnvolle Menüs). Anders herum verläufst Du Dich zu leicht.
Außerdem hat Drupal von Hause nur das Notwendigste im Core. Alles andere holt man sich bei Bedarf durch das Installieren von Zusatzmodulen. das ist die normale Vorgehensweise. Vom Aufwand der Einarbeitung kann es durchaus mit Typo mithalten. Lediglich das Lernen einer Template-Sprache entfällt. Ich glaube aber, der Aufwand lohnt sich. In dem Sinne viel Erfolg mit Drupal.
Beste Grüße
Werner
Taxonomy Vokabular in page.tpl ausgeben
am 26.07.2012 - 21:42 Uhr
Mann kann sich auch die Frage stellen wann ist , oder ab wann ist das gestallten von eingenen.tpl Dateien von Nöten.
Wann kann man mit Display Suite auch flexibel Arbeiten, ohne selbst zur Ausgabe .tpl Dateien zu schreiben. Ich denke es hängt vielleicht vom Projekt ab. Ich mag nicht Coden und soll nicht meine Arbeit sein.
Doch um wieviel Flexibeler bleibt ein Drupal Projekt mit Display Suite das bleibt abzuwägen, ob es sich wirklich lohnt, eine .tpl zur Ausgabe zu schreiben. Das muss dann jeder für sich entscheiden.
.tpl Datein schreiben lernen sollte mann nicht bei fertigstellung eines Projektes doch eher nebenbei, auf einem Test Projekt.
meine Gedanken zu diesem Thema
Ich würde sogar noch einen
am 26.07.2012 - 21:50 Uhr
Ich würde sogar noch einen Schritt weitergehen.
Aus meiner Sicht sind tpl.php Dateien für die Gestaltung nicht mehr unbedingt von Nöten.
Das Panels Modul für das Layout der gesamten Seite und das Display Suite für die Ausgabe von Nodes mit ihren Bestandteilen ist auch ausreichend um ein Layout zu erreichen.
Dazu kann man dann z.B. das stark-Theme nehmen, welches ein Theme ohne alles ist, also werden nur die tpl.php - Dateien aus dem Core für das Layout verwendet.
Panels ist mittlerweile sehr stabil, ich habe schon lange keinen Absturz oder sonstige Probleme damit gehabt und mit panels everywhere ist es auch gut in der Lage, ein vorgegebenes Layout abzubilden.
Auch die Zusammenarbeit mit dem Views-Modul funktioniert mittlerweile perfekt.
Also ich habe schon einige tolle Sachen damit gemacht.
viele Grüße
Berthold Lausch
ja, nur muss ich mich da in
am 26.07.2012 - 22:30 Uhr
ja, nur muss ich mich da in hundertausend module einlesen. jedes anders geschrieben, keine deutschen ressourcen, wenig use-cases... eben keine offizielle dokumentation.
ich dachte, drupal ist von haus aus schon stark genug, mit der ganzen forum- und usergeschichte, das klang echt toll. wenn ich jetzt nicht mal artikel einer kategorie zuordnen kann ohne mind. 4 module zu installieren und diese zu verstehen, dann ist das ein bissl over-the-top mit dem ganzen modularen system...
ich bekomme ein design von einem grafiker, setze das in html+css um und habe dann mein template. nun will ich ein cms drunterlegen. bei typo3 installier ich mir tempvoila, mappe die content-bereiche und schon kann ich inhalte reinklopfen. bei drupal scheint mir jeder davon abzuraten ein "eigenes" template zu erstellen - jungs was macht ihr denn, ihr könnt ja nicht jede seite mit einem fixfertigen theme verkaufen??
man muss sich auf Drupal einlassen
am 26.07.2012 - 22:44 Uhr
und verstehen lernen, dass 90% aller normaler Anwendungen alleine durch Konfiguration erreicht werden können.
Die erfordert ein bisschen eine andere Denkweise.
Gerade Entwickler tun sich zu Anfang damit etwas schwer.
Wer sich aber darauf einläßt, wird die Genialität erkennen.
Taxonomy Vokabular in page.tpl ausgeben
am 27.07.2012 - 00:28 Uhr
Mit http://drupal.org/project/cck_blocks kanns du Fields auch auserhalb deinem Node darstellen. also irgenwo auf deiner Seite ( was dann die Page ist )
Dann gibt es seit kurzem auch das http://zengrids.com
Videos gibt es auch schon davon.
Dokumentation
am 27.07.2012 - 08:39 Uhr
ja, nur muss ich mich da in hundertausend Module einlesen. jedes anders geschrieben, keine deutschen Ressourcen, wenig Use-cases... eben keine offizielle Dokumentation.
Drupal ist eines der am besten dokumentierten Open-Source-Projekte, die ich kenne, sowohl on- als auch offline. Englisch zu können, hilft natürlich, aber es gibt auch viel gute Dokumentation auf Deutsch. Schau dich doch mal in der http://www.drupalcenter.de/handbuch/buecherecke um.