Inhaltstyp als Eingabemaske für Daten und Gallerie-Bilder?
am 08.12.2007 - 11:16 Uhr in
Ich möchte eine Seite erstellen, die Details zu Immobilien wie z. B. Fläche, Zimmerzahl, Preis/Miete und auch Fotos davon zeigt. Das habe ich so weit mit CCK und Imagecache realisiert.
Auf der Seite sollen z. B. 4 verschiedene Fotos als Thumbnails gezeigt werden. Und eben diese Fotos sollen auf eine größere Ansicht wie eine Art Gallerie verlinken, die nach Möglichkeit auch noch mehr Fotos beinhaltet.
Das Wäre jetzt ja nicht unbedingt ein Problem wenn ich eine extra Gallerie für jede Immobilie machen würde und darauf verlinken würde.
Der springende Punkt, für den mir der Lösungsansatz fehlt ist: Wie kann ich das alles als Inhaltstyp erstellen, bei dem auch die weiteren Bilder eingestellt werden können und dann automatisch als Großansicht angezeigt werden wenn draufgeklickt wird? Quasi als eine Eingabemaske für alles?
Gibt es dazu vielleicht ein passendes Modul?
Habe mir Views mal näher angeschaut, aber das scheint mir nicht wirklich das richtige zu sein.
Hat da jemand einen heißen Tip?
- Anmelden oder Registrieren um Kommentare zu schreiben
Du könntest das Imagefield
am 08.12.2007 - 12:15 Uhr
Du könntest das Imagefield für CCK verwenden, dies auf mehrere Werte setzen. Somit könntest Du schon mehrerer Bilder an ein Node binden. Über das Template (z.b. node-immo.tpl.php) dann aber eben nur maximal die ersten 4 Bilder anzeigen lassen. Zudem noch ein View erstellen, indem alle Bilder eines Nodes (per Argument) angezeigt werden.
Somit wäre es aber niht möglich jedem Bild (zumindest über Views nicht) eine Beschreibung/Titel hinzuzufügen.
Eine andere Möglichkeit wäre mit zwei Inhaltstypen über Pageroute zu arbeiten(zB. Immobilie und Album). (http://drupal.org/project/pageroute) Damit ist es möglich, die Eingabe von zwei Inhalten nacheinander zu erzwingen. Jedoch würde mir auf anhib keine Möglichkeit einfallen, dass Beitrag 1 mit Beitrag 2 automatisch verknüpft wird, aber vielleicht bietet Pageroute sogar diese Funktion.
Danke für den
am 09.12.2007 - 11:15 Uhr
Danke für den Tipp.
Du könntest das Imagefield für CCK verwenden, dies auf mehrere Werte setzen. Somit könntest Du schon mehrerer Bilder an ein Node binden. Über das Template (z.b. node-immo.tpl.php) dann aber eben nur maximal die ersten 4 Bilder anzeigen lassen.
Das ist mir klar, habe ich auch schon soweit im Griff.
Zudem noch ein View erstellen, indem alle Bilder eines Nodes (per Argument) angezeigt werden.
Das mit den Views habe ich noch nicht auf die Reihe gebracht. Wie kombiniere ich Views mit dem Node? Das verstehe ich vom Grundsatz her noch nicht. Ich mache einen Inhaltstyp mit CCK und einen View - wie muß ich vorgehen damit der Inhaltstyp so angezeigt wird wie im View definiert? Oder liege ich da vom Ansatz her schon falsch?
Ein View ändert die Anzeige
am 10.12.2007 - 14:58 Uhr
Ein View ändert die Anzeige eines Inhaltstyps an sich nicht. Ein View stellt aber eine weitere Seite zur Verfügung, mit der weitere Teile des Inhaltstyps angezeigt/aufgelistet werden können.
* Diese Seite kann man über einen definierbaren Pfad erreichen (Views bearbeiten=>Seite=>URL : z.B. domain.de/testview).
* Dem Pfad können zudem auch mehrere Argumente übergeben werden (Views bearbeiten=>Argumente : z.B. domain.de/testview/15 wobei 15 z.B. die Node-Id angeben kann)
* Man kann mit einem View sogar einen Menüpunkt/Register bereitstellen der z.B. vom Node auf die restlichen Bilder zeigt (unter =>Seite=>Menü zu finden)
* Zudem gibt es die Möglichkeit mit cck_viewsfield oder mit dem computed_field Views in einen Node einzufügen. Ebenso kann das über ein template erreicht werden ( theme_views() )
Generell ist Views ein sehr mächtiges Werkzeug. Da solltest Du Dich auf alle Fälle mit beschäftigen (http://drupal.org/node/109604 , http://www.drupalcenter.de/handbuch/4212 )
Vielen Dank für die
am 10.12.2007 - 19:43 Uhr
Vielen Dank für die Erklärungen.
Ich bin inzwischen schon weitergekommen. Zumindest habe ich es so weit gerafft, mal einen View anzulegen und anzuzeigen (hört sich vielleicht trivial an, aber ist ja schon mal ein Lichtblick :-)
Eine konkrete Frage, für die ich noch keine Lösung habe: Wie mache ich es, daß beim jeweiligen Node ein Link ist, der eben die erwähnten Argumente zur URL/Pfad hinzufügt, so daß eben nur die Daten und Bilder des betreffenden Nodes im View angezeigt werden?
Zweite Sache: Idealerweise sollte eben diese "zweite Seite" mit den Fotos als eine Art Gallerie angelegt sein, also so, daß man ein großes Bild hat und mit einem "weiter"-Link das nächste Bils anzeigen lassen kann. Oder auch so, daß es für alle Bilder verlinkte Thumbnails gibt, mit denen man das Bild in groß anzeigen kann.
Dafür gibt es ja wahrscheinlich schon ein Gallerie-Modul. Aber kann man das in diesem Fall einsetzten?
Rolfy wrote:Eine konkrete
am 11.12.2007 - 10:18 Uhr
Ich erkläre es Dir mal am Beispiel des Trackers per User. Dieses kannst Du einfach nachvollziehen, indem Du das Standard-Tracker-View "tracker" hinzufügst und dieses umbenennst in "track". Du musst dann folgende Einstellungen tätigen:
# *Seite: URL*: user/$arg/track
# *Menü: Menü bereitstellen*: JA
# *Menü: Menü als Karteireiter bereitstellen*: JA
# *Menü: Karteireitergewichtung*: 9 (oder andere Gewichtung)
# *Menü: Menütitel*: Neue Beiträge (oder eigener Titel)
# *Argumente*: Das Argument Nr.1 ist bereits als "Benutzer: UID ist der Autor" (Standard:"Alle Werte Anzeigen", Titel: "Neueste Beiträge für %1") gesetzt / bzw. muss als Argument 1 gesetzt werden
# Ein weiteres Argument ist nicht nötig
Nach diesen Einstellungen, kannst Du unter "Mein Konto" einen Reiter "Neue Beiträge" finden, der den Tracker für Deinen Account anzeigt. Bei allen anderen Benutzern ist deren jeweiliger Tracker zu sehen.
Analog funktioniert dies mit den Nodes. Also *URL*: _node/$arg/gallery_ und *Argument 1*: _Node: ID_
Dafür gibt es ja wahrscheinlich schon ein Gallerie-Modul. Aber kann man das in diesem Fall einsetzten?
Generell gibt es bereits verschiedene Galerie-Module, die alle ihre Vor-und Nachteile mit sich bringen. Leider hab ich noch kein optimales ausmachen können. (Diskussion dazu : http://www.drupalcenter.de/node/6881 )
Mit Views ist es aber auch möglich diese Galerien darzustellen. Für Typ 1 ("weiter-Link") musst Du einfach dann eine Seite mit Pager/Seitennavigation verwenden und "Node per Page/Beträge pro Seite" auf 1 setzen. Für Typ 2 (Thumbnailansicht) bräuchtest Du wahrscheinlich das Bonus grid view-Modul.
Herzlichen Dank mal so weit.
am 12.12.2007 - 01:13 Uhr
Herzlichen Dank mal so weit. Jetzt werde ich mich mal da dran machen Deine Anleitungen umzusetzen. Feedback wird dann kommen.
So alles in allem bin ich wirklich von den Möglichkeiten und vor allem von der intuitiven Konfigurierung von Drupal beeindruckt. Ich habe lange nach einem OpenSource CMS gesucht, das vor allem für den Enduser (also dem Website-Betreiber) einfach ist oder einfach gemacht werden kann und gleichzeitig nicht auf wichtige Features wie z. B. Suchmaschinenfreundliche URLs verzichtet. Habe schon einige andere CMS versucht bzw. getestet (Joomla, Typo3, Papaya, Contenido ...) und erst Drupal hat mich bis jetzt (und wahrscheinlich auch weiterhin) rundum zufriedengestellt.
LG Rolf
So, nach viel probieren und
am 16.12.2007 - 00:08 Uhr
So, nach viel probieren und Geduld habe ich das jetzt hingekriegt. Muß sagen, Views ist schon ein mächtiges Werkzeug, wenn auch sehr komplex!
Hier jetzt noch die Zusammenfassung für die Nachwelt:
Aufgabenstellung:
Es soll ein Inhaltstyp zur Verfügung gestell werden, mit dem der Webseitenbetreiber Immobilienobjekte auf einfache Art einstellen kann. Indem definierte Felder für Kaufpreis, Wohnfläche, Zimmerzahl, Beschreibung etc. und mehrere Bilder zur Verfügung gestell werden, kann man ein neues Objekt dann schnell einstellen. So weit kein Hexenwerk mit CCK.
Das Problem:
Auf der "Objektseite" soll nur ein Bild angezeigt werden und mit einem Link soll zu einer Art Gallerieansicht gewechselt werden können. Auf dieser soll man nun alle Bilder in einer größeren Ansicht durchklicken können.
Die Lösung:
1. Mit CCK die einen Inhaltstyp mit den entsprechenden Feldern erstellen. Nur EIN Bildfeld einsetzen, dafür "Mehrfachwerte" aktivieren. Für die kleineren Bilder auf der "Objektseite" das Modul Imagecache einsetzen und die Bildgröße wie gewünscht herunterskalieren.
2. Mit Contemplate die Ausgabe des Inhaltstyps so gestalten, daß nur Bild1[1] angezeigt wird.
3. Das Modul Views installieren und aktivieren und einen neuen View erstellen. Dabei folgende Einstellungen verwenden:
4. Modul Pager installieren und aktivieren und bei "Use a View" den erstellten Viev auswählen.
5. Im Template (Contemplate) des Inhaltstyps einen Link einsetzen:
<a href="../node/<?php print $node->nid ?>/bilder">Bilder anzeigen</a>
So, jetzt sollte das eigentlich funktionieren. Falls jemand was ähnliches machen will und Hilfe braucht - mir einfach schreiben.
Herzlichen Dank noch an 'derhasi' und alle anderen, die hier so bereitwillig mit Hilfe und Tipps aushelfen!