WYSIWYG - 1. Bild im Teaser, der Rest mit Lightbox in der Gesamtansicht

am 16.05.2011 - 15:28 Uhr in
Hallo ihr Lieben,
ich habe meine Homepage für einen Sportverein aufgesetzt und bin soweit ganz zufrieden.
Nun sollen in der näheren Zukunft einige Vereinsmitglieder einen Zugang erhalten. Daher dachte ich mir ein Eingabeformat mit einem WYSIWYG-Modul zu belegen. Wichtig ist hierbei vorallem die einbindung von Bildern.
Vorher hatte ich einfach ein Feld (ImageField) erstellt und via node.tpl.php gethemed.
<?php print $node->content['field_image']['#children'] ?>
Somit war im Teaser ein Bild in 140*92 und im Node selber eine größere Auflösung des Bildes, welche man via Lightbox noch in Orginalgröße sehen kann.
So far so good...
PROBLEM:
Ich es nicht hin bekomme, dass man mit WYSIWYG mehrere Bilder in einem Text hochläd und positioniert, sodass nur das erste der Bilder im Teaser gezeigt wird (unabhängig seiner Position im Text), der Rest im Node zu sehen ist und via Lightbox in einer Großansicht gezeigt werden könnnen.
Ich wäre wirklich froh, wenn mir jemand helfen kann!!!
Liebe Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben
Nach meiner Erfahrung klappt
am 16.05.2011 - 16:28 Uhr
Nach meiner Erfahrung klappt es nie, wenn man versucht einer Gruppe von Leuten zu erlauben, Bilder frei im Text positionieren.
Die Leute kommen mit Grösse (Pixel genauso wie KB), Positionierung und alternativem Text nicht klar und das Ergebnis sieht dann eher bescheiden aus, oder zumindest bei jedem total anders.
Gut funktioniert für mich hat folgende Kombi:
Imagefield 1 als Teaser, dass auch in der Vorschau angezeigt wird. Pflichtfeld, maximal 1 Bild. Imagecache schneidet dann zurecht.
Imagefield 2 für zusätzliche Fotos. Optional, beliebige Anzahl von Bildern, die dann in der node.tpl.php in gesondertem Bereich neben oder unter dem text wiederum durch Imagecache als Thumbnails dargestellt werden und per Colorbox bei Klick aufpoppen.
Textfeld ohne Möglichkeit Bilder hochzuladen für den reinen Text mit einfachen Formatiermöglichkeiten, typischerweise úber TinyMCE und WYSIWYG realisiert.
Hoffe, das hilft.
Danke für den Ansatz! So
am 17.05.2011 - 13:22 Uhr
Danke für den Ansatz!
So ähnlich mache ich das ja aktuelle.
Dennoch wäre es mir wichtig, den Usern einen eigene Positionierung zu ermöglichen.
Hat dazu noch jemand eine Idee?
Hat vielleicht noch jemand
am 22.05.2011 - 09:31 Uhr
Hat vielleicht noch jemand eine Idee, wie ich es hinbekomme, dass bei 2 Bildern in einem Node beide an unterschiedlichen Absatzanfängen stehen?
Ich habe für mich eine Lösung
am 22.05.2011 - 10:49 Uhr
Ich habe für mich eine Lösung gefunden, aber die ist ein bischen aufwändiger.
Ich benutze CCK3 mit dem Modul Content-Multigroup. Damit baue ich mir einen Nodetyp mit Titel, Teaser, Teaserbild (Imagefield), Alt-Text fürs Teaserbild und einer beliebig oft wiederholbaren Multigroup. Die Multigroup besteht aus Bild (Imagefield), Alt-Text fürs Bild, Textbox für eine Bildunterschrift, Checkboxen für halb/vollspaltig, Checkboxen für Links/Rechts/N.A. für die Bildposition.
Die Ausgabe dieses Nodetyps regele ich in einer eigene Funktion in der template.php, die über die Funktion preprocess_node für diesen Nodetyp aufgerufen wird. Die halbspaltigen Bilder floate ich über CSS nach links oder rechts. Damit kann der Ersteller eines Inhalts flexibel Text und Bilder zusammensetzen. Es gehen sogar 2 halbspaltige Bilder nebeneinander, wenn man bei der ersten Gruppe Bild halspaltig links ohne Text und in der nächsten Gruppe Bild halspaltig rechts mit (oder ohne) Text setzt. Die beiden Bilder rutschen so nebeneinander und der Text steht darunter. Damit habe ich garantiert, daß die Größe der Bilder immer in das vorgegebene Format paßt und der Benutzer mir nicht irgendwelche Bilder unpassender Größe in der Text setzt und so das Layout sprengt.
Beste Grüße
Werner
Das hört sich schonmal sehr
am 22.05.2011 - 11:26 Uhr
Das hört sich schonmal sehr gut an Werner, aber wie funktioniert es, dass die Bilder dann an den Anfang eines Absatzes rutschen?
Vielleicht hilft es dir mal zu sehen, wie ich das meine:
Da habe ich das ganze über normale Fieldsgelöst und sie via tpl in divs gepackt... diese Divs werden dann per CSS gefloatet... aber leider kriege ich sie nicht an die verschiedenen Absätze gesetzt.
Jeder Absatz (= Multigroup)
am 22.05.2011 - 12:18 Uhr
Jeder Absatz (= Multigroup) kann ein eigenes Bild haben (das Bildfeld in der Multigroup). Mittels der Checkboxen kann der User bestimmen, daß das Bild nach links oder rechts floatet (das geht über Klassen beider Ausgabe und CSS). Das Bild wird immer an den Anfang des Absatzes gesetzt, da ich es als Erstes ausgebe und erst danach den Text. Der Text fließt dann links oder rechts vorbei. Deshalb auch der Aufwand mit einer eigenen Ausgaberoutine, die in einer Scheife die verschiedenen Mutigroups der Reihe nach aufbereitet und als HTML ausgibt.
Beste Grüße
Werner
Genauso, aber Bilder sind unschön aufgebaut.
am 25.06.2011 - 20:27 Uhr
Hallo Enno und auch alle anderen der Drupal-Gemeinde,
genauso wie Du habe ich das bisher auch schon wunderbar hinbekommen. Leider werden die Bilder aber noch nicht korrekt dargestellt. Die ersten zwei Bilder starten am Anfang der Zeile und dann eine Zeile darunter befindet sich das 1. Bild unter dem 2. Bild der vorherigen Zeile. Es bildet sich also eine Treppe. Wenn ich einen "float:left" einsetze, dann sind alle Bilder untereinander.
Vielleicht hast Du oder auch jemand anderes einen Tipp für mich, wie die Bilder einfach nebeneinander dargestellt werden und bei Zeilenende in die nächste Zeile rutschen.
Beste Grüße
codab
[EDIT]
Hat sich erledigt, ich musste nur wieder mal im CSS etwas mehr hinzufügen:
.
field-item.odd img, .field-item.even img {
float:left;
padding: 3px 3px 3px 3px;
}
;-)
[/EDIT]