CCK / Views: Ersten Teaser anders darstellen als die übrigen?
Eingetragen von david_h (17)
am 06.11.2007 - 14:45 Uhr in
am 06.11.2007 - 14:45 Uhr in
Hallo liebes Forum,
nachdem mir das letzte mal so gut geholfen wurde, ersuche ich euch nochmal um unterstützung:
Ich würde gerne den ersten Teaser eines Views anders darstellen als die übrigen, hab allerdings nur sehr vage ideen, wie das gehe könnte:
- zwei views zusammen backen (da gibts doch irgendein modul das das macht) und im "oberen" view den ersten teaser rausfiltern, im "unteren" alles ausser dem ersten rausfiltern
Problem: Es handelt sich um eventeinträge die nach Datum sortiert werden, ich habe keine ahnung wie die filter aussehen müssten, da die events in unregelmässigen abständen stattfinden - über eine funktion ähnlich der "odd und even" (in typo3 gibts eine funktion für genau dieses problem, die kommt in einer gruppe vor, in der auch "odd und even" vorkommt) ich hab aber keine ahnung wie das gehen könnte
Vielleicht gehts auch viel einfacher?
Vielen Dank schonmal im Vorraus!
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn es nur ums Aussehen
am 06.11.2007 - 15:51 Uhr
Wenn es nur ums Aussehen geht, kannst du mit CSS und der ID des node arbeiten. Zwei Views zusammen kannst du mit View Fusion: http://drupal.org/project/views_fusion
gruß pebosi
gruß pebosi
--
https://pebosi.net
Die idee mit der ID hatte
am 06.11.2007 - 16:26 Uhr
Die idee mit der ID hatte ich auch schon, aber leider wird die fix vergeben. Was ich bräuchte wäre eine, die dynamisch an den ersten Eintrag vergeben würde.
hast du eine idee wie man das filtern könnte? (an der zeit kann mans ja theoretisch nicht festmachen, oder?)
Wenn du den jeweiligen
am 06.11.2007 - 16:54 Uhr
Wenn du den jeweiligen Eintrag immer "sticky" machst (Oben in Listen) sollte das doch helfen.
gruß pebosi
gruß pebosi
--
https://pebosi.net
das stimmt, aber dann muss
am 06.11.2007 - 17:05 Uhr
das stimmt, aber dann muss ich immer gucken welche die nächste veranstaltung ist und diese auf sticky setzen. das wäre doch komplett entgegen dem cms konzept und krasse fehlerquelle, oder?
Von Veranstaltugnen hast du
am 06.11.2007 - 17:20 Uhr
Von Veranstaltugnen hast du bisher nichts gesagt, du sortierst also einen View nach Datum und willst dort den ersten speziell themen?
gruß pebosi
gruß pebosi
--
https://pebosi.net
genau. ich habs im ersten
am 06.11.2007 - 17:42 Uhr
genau.
ich habs im ersten eintrag wohl etwas umständlich erklärt ...
Kann man den View irgendwie
am 06.11.2007 - 17:56 Uhr
Kann man den View irgendwie begutachten?
Eventuell Screenshots.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
odd/even sollte gehen
am 06.11.2007 - 18:15 Uhr
# über eine funktion ähnlich der "odd und even" (in typo3 gibts eine funktion für genau dieses problem, die kommt in einer gruppe vor, in der auch "odd und even" vorkommt) ich hab aber keine ahnung wie das gehen könnte
odd/even sollte gehen.
Allerdings dafuer den View nicht als Teaser-View ausgeben sondern als Liste. Da Du bei einem List-View Felder angeben musst ist das wichtigste der Felder Feld das Feld mit dem Teaser. Ueber diesen Umweg kann man eine Teaser-View simulieren.
Einen List-View kann man mit dem View Theme-Wizzard themen. Und auf diesem Weg kommt man an die Funktionalitaet odd/even ran.
Hier der Auszug aus einem vom Wizzard generierten Template-Code:
/**
* views template to output one 'row' of a view.
* This code was generated by the views theming wizard
* Date: 6 November, 2007 - 19:03
* View: Blog
*
* Variables available:
* $view -- the entire view object. Important parts of this object are
* Blog, .
* $view_type -- The type of the view. Probably 'page' or 'block' but could
* also be 'embed' or other string passed in from a custom view creator.
* $node -- the raw data. This is not a real node object, but will contain
* the nid as well as other support fields that might be necessary.
* $count -- the current row in the view (not TOTAL but for this page) starting
* from 0.
* $stripe -- 'odd' or 'even', alternating. *
* This function goes in your views-list-blabla.tpl.php file
*/
* $count -- the current row in the view (not TOTAL but for this page) starting
* from 0.
* $stripe -- 'odd' or 'even', alternating.
Soweit erst mal ein kleines Brainstorming meinerseits. Probiert habe ich so was nocht nicht. Eventuell ist das fuer Dich ein Ansatz?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Hallo quiptime,
am 06.11.2007 - 18:17 Uhr
Hallo quiptime,
hier screenshots:
Der IST Zustand: http://www.pictureupload.de/originals/pictures/061107181055_screenshot2.jpg
Der SOLL Zustand: http://www.pictureupload.de/originals/pictures/061107181221_screenshot.jpg
Mit CSS o.Ä. ist noch nix gemacht, ich möchte erstmal das bild in der richtigen grösse reigeladen kriegen (evtl. sollen beim grossen teaser auch noch taxonomy links dazukommen)
edit: deinen 2ten post hab ich grad erst gesehen. danke dafür, ich versuch mal zu kapieren.
Entwickelst Du nur offline?
am 06.11.2007 - 19:51 Uhr
Entwickelst Du nur offline? Falls nicht eventuell noch den Link posten. Und noch Screenshots vom View selbst.
Kannst Du mit meinem Post und dem kleinen Brainstorming etwas anfangen?
Mit CSS o.Ä. ist noch nix gemacht, ich möchte erstmal das bild in der richtigen grösse reigeladen kriegen (evtl. sollen beim grossen teaser auch noch taxonomy links dazukommen)
Was willst Du eigentlich machen. Ausgehend von Deinem Eroffnungspost ist das hier irgendwie was Anderes.
Es ist SEHR hilfreich, wenn Du Deine Aufgabe genau beschreibst. Damit verwschwendest Du keine Energie der Leute die Dir helfen!
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ja, ich entwickel (leider)
am 06.11.2007 - 20:01 Uhr
Ja, ich entwickel (leider) nur offline.
Bei deinem Brainstorming bin ich noch nicht ganz durchgestiegen (bin nicht wirklich ein entwickler)
wo ist der unterschied zum eröffnungspost?
ich habe (wie im eröffnugspost beschrieben) vor, die (4) nächsten events in einem view darzustellen, wobei der erste sich von den folgenden drei unterscheidet. (wie in den screenshots zu sehen)
sorry für die verwirrung
Zitat: (wie im
am 06.11.2007 - 20:14 Uhr
(wie im eröffnugspost beschrieben) vor, die (4) nächsten events in einem view darzustellen
Ich kann da nix von 4 finden!
@david_h,
ich verstehe immer noch nicht ganz was Du erreichen moechtest. Den Zusammenhang dieser 4 Events im Kontext der Website und zu allen anderen Events verstehe ich nicht.
Es gibt also irgendwo einen Link. Wenn man den klickt werden dir naechsten 4 Events angezeigt. Der 1. dieser 4 soll anders formatiert sein.
Die Auswahl der 4 erfolgt durch einen View und in diesem View werden diese 4 bereits sortiert. Wenn dieser View angezeigt wird ist der 1. der 4 Events immer der Event welcher die Extra-Formatierung bekommen soll.
Verstehe ich das richtig so?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
mit "nächsten" habe ich
am 06.11.2007 - 20:30 Uhr
mit "nächsten" habe ich "als nächstes stattfindenden" gemeint.
drupal guckt in die datenbank, hat im hinterkopf dass heute der 6.11. ist, sieht dass am 7.11., am 9.11., am 13.11. etc. events stattfinden. greift sich die 4, die am nächsten am 6.11. sind und noch nicht vorbei sind (vergisst alle anderen), stellt den der am nächsten am 6.11. ist im schema x dar, die anderen im schema y.
ich hoffe es ist klarer
Gut, Du hast mir jetzt nur
am 06.11.2007 - 21:12 Uhr
Gut, Du hast mir jetzt nur erklaert was der View macht. So aehnlich hatte ich es schon vermutet.
Versuchen wir es mal.
Loesungen
Es gibt 2 Loesungsideen.
Um hierbei weiter zu kommen muss dieser View von einem Teaser-View auf einen Listen-View umgestellt werden. Bei einem Listen-View und nur bei diesem kann man mit dem View Theme Wizzard ein Template erstellen. Auf der Basis dieses Template erfolgt die Realisierung der Loesung
Zu 2., Beschreibung der Vorgehensweise
Da der Listen-View bei der Ausgabe der 4 Nodes diese Nodes aus einem Array ausliest kann man an dieser Stelle eingreifen. Dieses Auslesen der Nodes erfolgt in einer foreach Schleife. Beim Durchlaufen der Schleife kann man bei jedem der 4 Nodes auf das Datum pruefen. Bei Erfuellung einer gestellten Bedingung (Datum) wird dem ermittelten Node ein bestimmter Parameter mitgeben oder der Node anderweitig markiert.
Eine besondere Herausforderung ist es, bei dem ersten/markierten Node ein groesseres Bild einzubinden. Da heisst, es reicht also nicht aus, in der Schleife den Node zu markieren um ihn an Hand seiner Markierung mit CSS anders formatieren zu koennen. Man muss den Node veraendern. Und zwar in der Art das im Code des Node ein anderes/groesseres Bild eingebunden wird - das hat wohl erst mal nichts mit CSS zu tun.
Ein Problem ist jetzt das Du offline entwickelst. Dazu kommt: Ich kenne Dein Drupal-Verstaendnis und Deine PHP-Faehigkeiten nicht.
Wie stellst Du Dir vor das wir Weitermachen?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
View Bonus Pack
am 07.11.2007 - 10:58 Uhr
Hallo, vielleicht lässt sich das ja auch mit dem Views Bonus Pack realisieren.
Panels: Teasers, 1 top + 2 columns
Requires panels.module -- will spread a view across a 2 column stacked layout, meaning the first node will appear across the top, and the rest of the nodes will alternate left and right.
Panels: Teasers, 1 top + 3 columns
Requires panels.module -- like above, but offers 1 across the top, then alternates left, middle, right.
Ich hab das nicht ausprobiert, aber wenn du (wie ich) nicht so firm mit PHP bist, kommst du mit sowas vielleicht weiter.
@Jan Krummrey, wow, gute
am 07.11.2007 - 11:59 Uhr
@Jan Krummrey,
wow, gute Idee.
Man muesste um damit zu arbeiten 2 Views fuer die Events erstellen.
Das eigentliche Aufgabe die sich bei dieser Variante ergibt ist, den zweiten View so zu konfigurieren das er den 1. Event nicht ausgibt.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
danke Jan, das war das, was
am 07.11.2007 - 13:42 Uhr
danke Jan, das war das, was ichg in 1. beschrieben hatte: (ich wusste nur nicht, dass das modul "panels" heisst)
Problem: Es handelt sich um eventeinträge die nach Datum sortiert werden, ich habe keine ahnung wie die filter aussehen müssten, da die events in unregelmässigen abständen stattfinden
das problem liegt also im filter. fällt euch da eine konfiguration ein?
vielleicht gibt es ein modul, dass dubletten anhand der node-id rausfiltern kann? ich hab gesucht, aber vielleicht kenn ich die richtigen schlagwörter nicht.