[gelöst] field_image aus content-typ article über dem Titel anzeigen
am 14.07.2015 - 10:04 Uhr in
Hallo,
stehe als relativer Drupal-Neuling gerade vor einem vielleicht etwas banalen Problem und rätsel über die möglichst Drupal-konforme Lösung:
Verwende ein Sub-Theme von Zen ohne nennenswerte Änderungen von page.tpl und node.tpl.
Der Inhalts-Typ "Artikel" ermöglicht die Einbindung eines Bildes, das unter den vorgenannten Bedingungen nach dem Seitentitel (in der page,tpl) und nach Messages, Tabs etc. (in der node.tpl) angezeigt wird.
Ziel ist aber, dass das Bild des Artikels als erstes angezeigt wird, also noch vor dem Seitentitel, der dann unter dem Bild stehen soll.
In der node.tpl. selbst die Ausgabe bzw. Reihenfolge der Anzeige der einzelnen Content-Felder zu ändern kriege ich noch hin, hilft hier aber zunächst nicht weiter.
Nach meinem Verständnis müsste ich entweder in der page.tpl das Artikelbild vor dem Seitentitel gesondert aufrufen/einbinden, oder aber page.tpl. und node.tpl. so umschreiben, dass der Seitentitel nicht mehr durch page.tpl, sondern eben durch node.tpl (und dann nach dem Artikelbild) ausgegeben wird.
Hatte auch schon dran gedacht, über dem Inhalt ein View mit dem Bild auszugeben. Aber ich will da ja keine Liste aller Artikel-Bilder, sondern eben nur genau das Bild des gerade angezeigten Artikels. Das scheint mir also auch nicht der richtige Weg zu sein.
Also die Frage: was empfehlen die Profis?
Für Eure Hinweise bereits vorab ganz herzlichen Dank!
Alex
- Anmelden oder Registrieren um Kommentare zu schreiben
entweder du machts dir ein
am 14.07.2015 - 12:16 Uhr
entweder du machts dir ein eigenes node template für den inhaltstypen mit ausgabe der entsprechenden felder in der gewünschten reihenfolge oder wie du schon gesagt hast per view (das mache ich auch meistens so): du erstellt einen block mit kontentfilter node id als standardargument in der url und läßt block dann über der node anzeigen
C.A.W. Webdesign
View - Detailfragen
am 14.07.2015 - 13:47 Uhr
entweder du machts dir ein eigenes node template für den inhaltstypen mit ausgabe der entsprechenden felder in der gewünschten reihenfolge oder wie du schon gesagt hast per view (das mache ich auch meistens so): du erstellt einen block mit kontentfilter node id als standardargument in der url und läßt block dann über der node anzeigen
Vielen Dank erst mal, ich denke die Antwort weist mir schon den Weg.
Da mir ein View flexibler erscheint: wie kann ich den Filter Beitrags-ID so einstellen, dass er nur auf den aktuell angezeigten Node verweist? (Ich nehme an, das meinst Du mit Standardargument?)
Habe jetzt folgende Einstellungen:
- Format: Felder
- Felder: Inhalt: Image
- Filterkriterien: Inhalt: Veröffentlicht (Ja), Inhalt: Beitrags-ID (= )
- Sortierkriterium: k.A. (es soll ja nur das einzelne Bild des Artikels ausgegeben werden, also nichts zu sortieren)
Wo liegt mein Fehler? Muss trotzdem ein Suchkriterium angegeben werden? Und wie gesagt, wie muss ich das Argument für die Beitrags-ID eingeben?
Besten Dank vorab für ergänzende Hinweise... auch ich werde Views noch verstehen. ;-)
View ist NICHT der richtige Ansatz
am 14.07.2015 - 13:57 Uhr
View ist eine Sicht auf die Datenbank, und hat mit dem Design nur bedingt zu tun.
Das Design passiert in den Themes, und wird mit Templates und CSS realisiert.
Grüße
Ronald
ronald schrieb View ist eine
am 14.07.2015 - 14:36 Uhr
View ist eine Sicht auf die Datenbank, und hat mit dem Design nur bedingt zu tun.
Das Design passiert in den Themes, und wird mit Templates und CSS realisiert.
So hatte ich es eigentlich auch verstanden. Aber hier ist ja das Problem, dass etwas aus der Datenbank an einer Stelle ausgegeben werden soll, an der die Ausgabe offenbar nicht vorgesehen ist.
Wenn ich das benötigte Feld anders im Template ansprechen kann, soll mir das nur recht sein. Aber an dieser Stelle stoße ich eben (noch) an meine Grenzen.
die View liefert die Daten
am 14.07.2015 - 14:44 Uhr
das Template sorgt für die Anzeige.
Es geht also NUR im Template.
Schau dir die Ausgabe mit Firebug oder ähnlichem an, und schreibe ein CSS, das das Bild entsprechend positioniert, bzw. ändere die Ausgabe im Template.
Das ist zwar zunächst etwas kompliziert, macht aber gerade die Flexibilitt aus.
Inhalt und Design sind voneinander getrennt, was extreme Flexibilität bei der Ausgabe erlaubt, ohne etwas an den Daten tun zu müssen.
Grüße
Ronald
Ich mache sowas auch mit View
am 14.07.2015 - 15:37 Uhr
Ich mache sowas auch mit View - wie beschrieben.
Die Aussage, daß es nur im Template geht, ist also so nicht richtig.
Was nun sauberer, schöner, schneller geht, das weiß man wenn man beides im direkten Vergleich probiert hat. ;-)
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Das Argument Content:NID
am 14.07.2015 - 15:47 Uhr
Das Argument Content:NID übergibst Du an den Block unter Advanced -> Contextual Filters -> WHEN THE FILTER VALUE IS NOT IN THE URL: provide default value -> Typ: Contet ID from URL
Hier die erste Beschreibung passt:
http://dannyenglander.com/blog/using-views-contextual-filters-create-rel...
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
AlexFfm schrieb caw
am 14.07.2015 - 16:29 Uhr
entweder du machts dir ein eigenes node template für den inhaltstypen mit ausgabe der entsprechenden felder in der gewünschten reihenfolge oder wie du schon gesagt hast per view (das mache ich auch meistens so): du erstellt einen block mit kontentfilter node id als standardargument in der url und läßt block dann über der node anzeigen
Vielen Dank erst mal, ich denke die Antwort weist mir schon den Weg.
Da mir ein View flexibler erscheint: wie kann ich den Filter Beitrags-ID so einstellen, dass er nur auf den aktuell angezeigten Node verweist? (Ich nehme an, das meinst Du mit Standardargument?)
Habe jetzt folgende Einstellungen:
- Format: Felder
- Felder: Inhalt: Image
- Filterkriterien: Inhalt: Veröffentlicht (Ja), Inhalt: Beitrags-ID (= )
- Sortierkriterium: k.A. (es soll ja nur das einzelne Bild des Artikels ausgegeben werden, also nichts zu sortieren)
Wo liegt mein Fehler? Muss trotzdem ein Suchkriterium angegeben werden? Und wie gesagt, wie muss ich das Argument für die Beitrags-ID eingeben?
Besten Dank vorab für ergänzende Hinweise... auch ich werde Views noch verstehen. ;-)
nicht die beitrags id als filter!!! rechts den kontextfilter - > beitrags id standard argument aus der url!!!
C.A.W. Webdesign
Kaum macht man es richtig...
am 14.07.2015 - 17:52 Uhr
Fazit:
Der Hinweis, die Ausgabe durch Anpassung der Templates bzw. Stylesheets anzupassen, hat natürlich seine Berechtigung - kann aber m.E. zu recht viel Aufwand führen und hilft z. B. nicht weiter, wenn man Inhalt aus einem Node (wie hier das zugehörige Bild) an anderer Stelle (z. B.in einer anderen Region) anzeigen möchte.
Insoweit denke ich, dass Views hier doch der bessere Ansatz ist. Die Hinweise von caw und montviso auf Views mit der ergänzenden Erläuterung waren jedenfalls perfekt und haben dafür gesorgt, dass ich nun nicht nur Views ein Stück weit mehr verstehe, sondern vor allem mit wenigen Mausklicks mein Problem lösen und gleich noch eine andere Idee perfekt umsetzen konnte.
Ich bin jedenfalls absolut begeistert und danke Euch ganz herzlich für Eure Mühe!
Alex