An Artikel angehängte Bilder (CCK imagefield) in Node automatisiert ausgeben nach X-tem Absatz - NEUE IDEE
am 15.04.2010 - 17:41 Uhr in
Hallo,
ich möchte an Artikel angehängte Bilder im Grundmodus automatisiert im Node und Teaser ausgeben:
- erstes Bild verkleinert im Teaser links, rechts umflossen vom Teaser-Text
- erstes Bild ganz oben im Node (entweder auch verkleinert mit Lightbox-Popup oder groß über ganze Seitenbreite)
- zweites Bild im Node nach dem 2. oder 3. oder 4. Absatz automatisch ausgeben, meist rechts gefloatet
- drittest Bild im Node nach dem 3. oder 4. oder 5. Absatz automatisch ausgeben, meist links gefloatet
- ev. mehr
Beim Erstellen eines Artikels schreibt man den Text ganz einfach im Textfeld (allerdings mit Richtext Editor TinyMCE). Dann hängt man unten z. Bsp. 2 Bilder an (CCK Imagefield).
So im Idealfall geht alles automtisch:
- erstes Bild erscheint im Teaser (Thumbnail)
- erstes Bild erscheint im Node ganz oben vor dem Text, Text rechts umfliessen. Ist das erste Bild größer als die Seitenbreite erscheint das erste Bild oben in ganzer Seitenbreite, automatisiert mit Imagecache und Lightbox Popup
- zweites Bild erscheint nach dem 3. Absatz
Wenn da nun bei der total automatischen Variante etwas nicht passt, sollte man auch noch einstellen können:
- erstes Bild im Node klein oder groß über volle Seitenbreite einstellbar
- zweites Bild nach 2. oder 3. oder 4. Absatz einstellbar
Die Ausgabe in der node-story.tpl.php zu programmieren, ist überhaupt kein Problem. Aber wie realisiert man die Einstellmöglichkeiten? Man kann bestimmt einfach CCK-Auswählmöglichkeiten (Checkbox, Liste) dafür verwenden, diese würden aber NICHT direkt neben dem Bereich, wo das Bild angehängt wird (Datei auf Festplatte wählen, + Upload) erscheinen. Gibt es eine Möglichkeit, dass direkt neben dem jweiligen File-Upload- Dialog einzubauen? Müsste man dazu das CCK-Modul umschreiben?
Und zu allerletzt können dann auch noch Redakteure, denen bei dem einen oder anderen Artikel die automatische Platzierung der Bilder nicht passt, das total über den Haufen werfen und mit dem Modul "Insert" die Bilder direkt in den Artikeltext einfügen (mit Imagecache Preset und Lightbox Popup). Wenn ein Bild eingefügt wird, wird die automatische Ausgabe im Template automatisch nicht durchgeführt.
Gibt es etwas ähnliches schon oder bin ich der erste mit dieser Idee?
Und gibt es Ideen, wie man das am besten realisieren kann? Alles mit CCK-Feldern?
- Anmelden oder Registrieren um Kommentare zu schreiben
Zwei Fragen
am 15.04.2010 - 18:47 Uhr
Hallo DrupalFan
Display Suite && Views Displays?
am 15.04.2010 - 19:05 Uhr
Hmm... eventuell könnten Dir die beiden sehr allgemein ausgerichteten Module unten weiterhelfen?:
Bilder möglichst automatisiert in Artikeltext einfügen
am 15.04.2010 - 19:25 Uhr
Danke, das DS Modul ist interessant, habe aber nicht genau durchschaut, was man damit macht.
Das Warum ist jedem klar, der Projekte macht, wo Redakteure viele Artikel schreiben müssen. Bilder hochladen war mal, die Zukunft ist das WYSIWYG-Modul zusammen mit dem Inserat-Modul. Bilder hochladen auf den Server ist eigentlich unsinnig (bei hunderten oder tausenden Artikeln), viel sinnvolle ist, Bilder einfach an den Artikel anzuhängen, geht ja mit CCK super.
Wenn es keine anderen Ideen gibt, werde ich es wie gesagt mit CCK Feldern realisieren. Aber das hier ist ein interessantes Thema, weil das eigentlich jeder braucht, und vielleicht ergeben sich hier noch weitere Ideen ...
Hochladen und/oder Hochladen?
am 15.04.2010 - 20:06 Uhr
Bilder hochladen war mal, die Zukunft ist das WYSIWYG-Modul zusammen mit dem Inserat-Modul. Bilder hochladen auf den Server ist eigentlich unsinnig (bei hunderten oder tausenden Artikeln), viel sinnvolle ist, Bilder einfach an den Artikel anzuhängen, geht ja mit CCK super ...
Hmm... ich sehe den Unterschied nicht zwischen Hochladen und Hochladen. So oder so müssen Dateien auf den Server hochgeladen werden -- ob das jetzt via IMCE/Texteditor geschieht oder anders! Nicht? Ich kann mir einfach nicht ganz vorstellen, dass das WYSIWYG-Modul plus Insert-Modul in dieser Hinsicht so viel effizienter sein soll. Hast Du diesen Eindruck wirklich?
Ja, das Thema dürfte eigentlich die breitere Masse ansprechen -- denke ich auch.
Anhängen und in Text Einfügen statt Hochladen und wühlen
am 15.04.2010 - 20:58 Uhr
Doch, diese Lösung ist ungefähr tausendmal besser, das Inserat-Modul ist einfach genial!
Dass trotzdem alle Bilder am Server landen ist schon klar.
Klar, wenn Du nur 20 Bilder hochladest, dann ist es wohl egal.
Hat man aber hunderte oder mehr Artikel mit jeweils ein bis 5 Bilder, dann kommen viele Bilder zusammen. Das Hochladen und dann aussuchen innerhalb einer Bildermenge von mehreren hundert Bildern ist nicht sinnvoll, vorallem auch, weil sich die Bilder beim Schreiben von Artikeln ja nicht wiederholen.
Außerdem gibt es bei der Variante, bei der man die Bilder hochladet und ein Bild auf dem Server auwählt keine sinnvolle Variante für eine Lösung, die Imagecache und(!) Lightbox unterstüzt. Der FCK-Editor mit Upload-Möglichkeit ist zwar gut verwendbar, aber untersützt kein Imagecache.
Das Insert-Modul ist da einfach genial, einfach bedienbar und unterstützt Imagecache und Lightbox gleichzeitig, und man hat keinen riesigen Haufen von Bildern, wo man wühlen und auswählen muss, jeder Artikel hat seine eigene Bilder einfach angehängt. Einfach die beste Lösung und die Zukunft.
I see, alles klar
am 16.04.2010 - 11:23 Uhr
I see, alles klar -- wenn Du sagst, dass "[...] sich die Bilder beim Schreiben ja nicht wiederholen [...]", ist die Insert-Methode natürlich die optimalere/passendere! In dem Fall existiert eine Mehrheit an grafischem Material, welches wiederholt eingesetzt wird. Auch das Imagecache-Argument überzeugt, definitiv.
Template für das Platzieren von Bildern in Artikeln
am 16.04.2010 - 12:40 Uhr
Danke, beide Module klingen sehr interessant. Was filefield_paths genau macht, ist mir nicht klar geworden.
Massen-Upload von Bildern brauch ich bei den Artikeln nicht, es sind nur 1- 5 Bilder, manchmal auch 8 Bilder anzuhängen. Ich habe aber swfupload beim Photos Modul im Einsatz, bei den Fotogalerien macht es Sinn, Bilder "massenweise" hochladen zu können.
Aber hier ging es ja um das automatisierte ausgeben (per Template, zb node.tpl.php) von an einen Artikel angehängten Bildern. Vielleicht gibt es dazu auch bereits Lösungen ...
Deine node.tpl.php-Datei
am 16.04.2010 - 19:25 Uhr
... das Modul 'Album Photos' http://drupal.org/project/photos klingt ja vielversprechend -- kannte ich noch gar nicht. 'Fast Gallery' http://drupal.org/project/fast_gallery ist in dieser Hinsicht auch nicht schlecht -- arbeitet ebenfalls mit Imagecache und bspw. Lightbox zusammen. Das 'Album Photos' muss ich mir mal, bei Gelegenheit, genauer anschauen.
Was Deine 'node.tpl.php' anbelangt: Kannst Du den Code hier via
<?php
PHP-Code
?>
Wüste nicht, was ich hier
am 16.04.2010 - 19:30 Uhr
Wüste nicht, was ich hier posten soll. Ich halt einfach eine Standard node.tpl.php wo zusätzlich die CCK Imagefield Bilder ausgegeben werden ....
'WYSIWYG image upload' ?
am 18.04.2010 - 18:30 Uhr
Evtl. auch nützlich: 'WYSIWYG image upload' http://drupal.org/project/wysiwyg_imageupload -- auch dieses arbeitet mit Imagecache zusammen.
Hallo DrupalFan, hast Du eine
am 19.04.2010 - 08:51 Uhr
Hallo DrupalFan, hast Du eine akzeptable Lösung für Dein Problem gefunden? Die Lösung würde mich sehr interessieren.
-----------------
Gruss Kemal
http://www.oguz-online.de
Gemischte Lösung, teilweise automatisiert
am 19.04.2010 - 09:48 Uhr
Ich hab es vorerst so gelöst und warte noch auf die Reaktion der Redakteure, vielleicht gibt es dann noch Änderungen.
Das erste angehängte Bild wird im Teaser und im Node links oben links gefloatet automatisch ausgegeben.
Mit einem Schalter (CCK Checkbox) "Grosses Bild" wird statt dem mit Imagecache verkleinertem Bild ein großes Bild (ganze Seitenbreite) mit Imagecache ausgegeben, auch automatisch.
Das alles wurde in der node.tpl.php programmiert.
Weiters verwende ich die Module WYSIWYG und INSERT und den TinyMCE Richtext Editor.
Wenn nun ein Redakteur das erste Bild selbst in den Text des Artikels einfügt (mittels Insert Modul, an beliebiger), dann wird das in der node.tpl.php erkannt und die automatische Ausgabe wie oben beschrieben entfällt.
Das zweite, dritte, vierte Bild usw. kann der Redakteuer, wenn in einem Artikel mehrere Bilder nötig sind, immer selbst an beliebiger Stelle im Artikel einfügen.
Automatisiert ist also vorerst nur das erste Bild, was auch wichtig ist, damit man im Teaser/Anrifftext, also bei der Views-Auflistung, immer ein Bild an der gleichen Stelle hat, in diesem Fall links und immer in gleicher Größe. In einigen Fallen kann das Bild auch groß sein, wie oben beschrieben.
node.tpl.php?
am 19.04.2010 - 17:39 Uhr
Jetzt wäre eine
Code-Ansicht
Deiner node.tpl.php halt doch noch aufschlussreich-interessant für die Drupal-Gemeinschaft, @DrupalFan!Das sieht ungefähr so aus
am 19.04.2010 - 20:03 Uhr
Das sieht ungefähr so aus (ein Teil):
<?php
$bildurl = $node->field_artikel_bild[0]['filepath'];
$imgAltText = $node->field_artikel_bild[0]['data']['alt']." - Artikel anzeigen";
$ic_preset = 'normal';
$grosses_bild = $node->field_artikel_grossesbild[0]['value'];
if (isset($grosses_bild) && $grosses_bild!="nein") {
$ic_preset = 'maximale_Breite';
}
?>
<a href="<?php print $node_url ?>" title="<?php print $title ?> - Artikel anzeigen">
<?php print theme('imagecache', $ic_preset, $bildurl, $imgAltText, $imgAltText); ?>
</a>
Super, dank
am 05.05.2010 - 14:31 Uhr
Hi,
ersteinmal Danke für den Code. Hat mir jetzt bei meinem Problem weitergeholfen.
Arbeite mit Tabs, Pagin, ImageResizeFilter, TinyMCE, IMCE und da haut es ständig etwas durcheinander.
Ohne in der template.php oder node.tpl.php zu arbeiten geht es dann leider nicht.
Eine Frage noch. Die Variable $ic_preset, woher kommt die. Ist das das CCK Feld das Du genannt hast.
Wenn man $node, bzw. $vars in template.php nimmt, steckt dann diese dort mit dabei?
Habe leider auch nichts gefunden, wie ich auf den Wert unter admin/content/node-type/[inhaltstyp]/display zugreifen kann.
Musste wie Du leider mit festen Werten jetzt arbeiten.
Gruss
Kemal
-----------------
Gruss Kemal
http://www.oguz-online.de
$ic_preset ist meine eigene
am 05.05.2010 - 21:21 Uhr
$ic_preset ist meine eigene Variable. Lege ich hier selbst an und brauche ich, um unten mal den mal den anderen Wert zu übergeben.