Gestalten der image_gallery.tpl.php, thumbs und image in node->type :image??
am 13.06.2006 - 11:42 Uhr in
Ich nutze die image_gallery.tpl (image.module) um das Layout der Galerie-, und Image-Nodes zu gestalten. Mein Ziel ist die thumbs nicht separat auf der 1. Seite (image/tid/xxx) und die großen Bilder auf der 2. (node/xxx) zu zeigen, sondern beide Seiten miteinander zu kombinieren. Bzw. den thumbs-code in die Image-Nodes zu integrieren. So daß die thumbs über dem großen Bild erscheinen. Das große Bild soll dem geclicktem thumbnail entsprechen und die Funktionen der thumbnails sollen dabei auch erhalten bleiben. (zB. einstellbare Anzahl) Zum themen der Image-Nodes habe ich mir eine page-image.tpl.php erstellt, in der ich nun vergeblich versuche die thumbs einzufügen.
Kann man nachvollziehen was ich meine?
Hat dies schon wer versucht, bzw. jemand ein Tip wie der Code aussehen müsste? Evtl. gibt es ja eine Funktion mit der man die thumbnails aufrufen kann?
die Seiten mit denen ich arbeite:
http://drupal.org/node/41257
http://drupal.org/node/41259
- Anmelden oder Registrieren um Kommentare zu schreiben
Was ist das Resultat Deiner
am 14.06.2006 - 08:10 Uhr
Was ist das Resultat Deiner bisherigen Bemühungen?
Poste doch bitte mal den Code der page-image.tpl.php.
-------------
quiptime
Da geht noch was.
Das einzige Resultat war
am 14.06.2006 - 13:03 Uhr
Das einzige Resultat war bisher, daß über dem großen Bild das gleiche große noch einmal angezeigt wurde. (Da wo eigentlich die Thumbnails hin sollen)
Die page-image.tpl.php ist bis auf kleine Änderungen, mit der page-default.tpl.php identisch.
Meine Überlegung:
Den Code für die Darstellung der Thumbs aus der image_gallery.tpl.php nehmen, dort löschen und in der page-image an gewünschter Stelle einfügen. (zB. im Header oder Content)
Der Code für die großen Bilder könnte evtl. da bleiben, da diese bereits richtig in den Image-Nodes angezeigt werden.
Besser wäre es wohl, diesen auch in der page-image zu integrieren und die image_gallery.tpl komplett zu entfernen. Dann müßte in der template.php folgender Code wohl noch geändert werden, damit die Anbindung richtig funktioniert: (bin mir aber nicht sicher)
function phptemplate_image_gallery($galleries, $images) {
// Pass to phptemplate, including translating the parameters to an associative array. The element names are the names that the variables
// will be assigned within your template.
/* potential need for other code to extract field info */
return _phptemplate_callback('image_gallery', array('galleries' => $galleries, 'images' => $images));
}
Ein anderer, einfacherer Weg wäre in der page-image die Thumbnails über php einzubinden/bzw. aufzurufen al?
<?php
print theme("thumbnails")
?>
Ich hoffe mein Vorhaben läßt sich auch ohne Eingriff im Core des Image Moduls bewerkstelligen?
Gruß, green nature
Erst mal ganz kurz. Ich bin
am 14.06.2006 - 22:37 Uhr
Erst mal ganz kurz. Ich bin mir sicher, ohne den Modulcode anzufassen, Dein Problem lösen zu können.
Ich bin gerade in anderen Zusammenhang auch über die image_gallery.tpl.php mit der Lösung eines eigenen Problemes beschäftigt. In diesem Zusammenhang habe ich mir vor dem Hintergrund einer gewünschten Mehrsprachigkeit einer Galeriepräsentation von Bildern den Code aller Drupalcore-Dateien und Module reingezogen, die mit Bildern zu tun haben.
Momentan habe ich nur ein difuses Bild einer Lösung Deines Problems vor Augen. Es ist vermutlich recht einfach mit wenig Code auf recht elegante Art über nur eine Templatedatei möglich. Es gibt, glaube ich, auch Funktionen für Thumbs.
Ich muss mir das aber in Ruhe ansehen und auch selber testen. Kann 2 - 3 Tage dauern bis zu einem vernünftigen Resultat.
Zwischendurch werde ich mich mit Dir bestimmt noch verständigen müssen. Wir bleiben am Ball. OK?
-------------
quiptime
Da geht noch was.
@green_nature,
am 15.06.2006 - 08:08 Uhr
@green_nature,
noch mal zu Deinem eigentlichen Anliegen. Ich bin mir nicht sicher, ob ich richtig verstehe, wie Du die Bilder präsentieren willst. Momentan habe ich folgendes kapiert.
Klickt man in der Navi auf eine der Galerien erscheint die 1. Seite der Galerie.
Sie enthält die konfigurierte Anzahl von Bildern in einer Preview-Ansicht (nicht Originalgröße). Über den Preview-Ansichten befindet sich jeweils das Thumbnail.
Wenn man nun eine Preview-Ansicht oder Thumbnail klickt erscheint das Originalbild.
Beim Originalbild gibt es einen Zurück-Link, der wieder auf die Galerieseite zurückführt.
Korrigiere bitte wenn ich Dich falsch verstanden habe.
PS.
ist die thumbs nicht separat auf der 1. Seite (image/tid/xxx) und die großen Bilder auf der 2. (node/xxx) zu zeigen,
Was sind die großen Bilder? Die Originalbilder oder ein Preview?
-------------
quiptime
Da geht noch was.
Hallo quiptime,
am 15.06.2006 - 11:50 Uhr
Hallo quiptime,
große Bilder = Preview
Originalbilder nutze ich nicht, sind für mich momentan nur unnötiger Balast auf dem Server.
Es werden die fertig optimierten Bilder, nehmen wir an 500 x 300 px groß hoch geladen, so wie sie in der Image-Node erscheinen sollen. Beim Upload werden dann die Thumbnails erzeugt. (50x30px) Alle Thumbs sollen über einem Preview-Bild zu sehen sein, natürlich nur die Anzahl, die man vorher eingestellt hat sagen wir 8 an der Zahl. Daneben 2 Buttons previous/next zum jeweils 8 Thumbs weiterzappen. (ist ja mit der jetzigen Galerie schon machbar, oder mit einer Taxonomie Navi)
Beim oben weiterzappen bleibt das untere, große Bild sichtbar bis wieder auf ein Thumb geclickt wurde. (ist auch ok wenn das große Bild des 1. der nächsten 8 Thumbs erscheint)
Klickt man in der Navi auf eine der Galerien erscheint die 1. Seite der Galerie.
Sie enthält die konfigurierte Anzahl von Bildern in einer Preview-Ansicht (nicht Originalgröße).
Nein gleich ein Image-Node (node/xxx), im Idealfall das letzte was hochgeladen wurde. Mit der Galerie ansich (image/tid/xxx) möchte ich nichts mehr zu tun haben, da das Menü mit Taxonomie aufgebaut ist. (die Galerie Kategorien)
Hört sich schwieriger an, als es ist. Ich brauche eigentlich nur den richtigen Codeschnipsel aus der image_gallery.tpl oder einen allgemein gültigen Drupal Aufruf (falls es den gibt) für die Darstellung der Thumbs, um diesen in meiner page-image.tpl einzufügen.
zum testen: wenn ich zB.
<?php
print $content;
?>
eingebe, wird das große Bild noch einmal angezeigt. Sowas hätte ich nun gern für die Thumbs..
Ich habe mal versucht die Pfade der Thumbs zu ändern, von
$content.= "<h3>".l($gallery->name, 'image/tid/'.$gallery->tid) . "</h3>\n";
$content.= l(image_display($gallery->latest, 'thumbnail'), 'image/tid/'.$gallery->tid, array(), NULL, NULL, FALSE, TRUE);
$content.= "<h3>".l($gallery->name, 'node/'.$gallery->nid) . "</h3>\n";
$content.= l(image_display($gallery->latest, 'thumbnail'), 'node/'.$gallery->nid, array(), NULL, NULL, FALSE, TRUE);
aber das brachte nichts.
Gruß, green nature
Bin jetzt bezüglich eines
am 15.06.2006 - 12:33 Uhr
Bin jetzt bezüglich eines Hinweises ratlos, da ich bei mir selbst auch die normale Galerieansicht weggeschmissen habe.
Beim oben weiterzappen bleibt das untere, große Bild sichtbar bis wieder auf ein Thumb geclickt wurde. (ist auch ok wenn das große Bild des 1. der nächsten 8 Thumbs erscheint)
Poste bitte den Code, mit dem Du dies realisierst.
-------------
quiptime
Da geht noch was.
Du solltest Dir mal in
am 15.06.2006 - 12:50 Uhr
Du solltest Dir mal in incudes die "image.inc" und in "image.module" die function image_display() ansehen.
Vermutlich findest Du dann was Du suchst - insbesonders bei der function image_display().
In der "image.inc" gibt es 3 oder 4 Funktionen, mit deren Hilfe Du direkt Ausgaben von Bildern im Template erzeugen kannst.
-------------
quiptime
Da geht noch was.
Kapiere immer noch nicht
am 15.06.2006 - 13:10 Uhr
Kapiere immer noch nicht ganz, wie Du die Bilder präsentieren willst. Einzig das ein Thumb über einem Preview steht.
Oder stehen mehrere Thumbs über einem Preview?
Du willst Code aus dem image_gallery.module in Deinem Template verwenden. Und Du sagst, Du möchtest mit der Galerieansicht nichts zu tun haben. Wenn Du nichts mit der Galerieansich zu tun haben willst, dann nimm auch gleich den richtigen Codebereich aus der function theme_image_gallery():
if (count($images)) {
$height += 75;
$content.= '
';- sticky) {
'. t('Posted by: %name', array('%name' => theme('username', $image))) . "
'.format_date($image->created)."
foreach ($images as $image) {
$content .= '
$content .= ' class="sticky"';
}
$content .= ' style="height : '.$height .'px; width : '.$width.'px;"';
$content .= ">\n";
$content .= l(image_display($image, 'thumbnail'), 'node/'.$image->nid, array(), NULL, NULL, FALSE, TRUE);
$content .= '
'.l($image->title, 'node/'.$image->nid)."
";
if (theme_get_setting('toggle_node_info_' . $image->type)) {
$content .= '
\n";
if ($image->created > 0) {
$content .= '
\n";
}
}
$content .= "
\n";
}
$content.= "
\n";
}
Der von Dir zitierte Code
if (count($galleries)) {
...
...
...
$content.= "
".l($gallery->name, 'image/tid/'.$gallery->tid) . "
\n";
$content.= l(image_display($gallery->latest, 'thumbnail'), 'image/tid/'.$gallery->tid, array(), NULL, NULL, FALSE, TRUE);
...
...
...
bringt Dich doch in die Galerie-Ansicht.
Sorry,
Codebereiche sind hier leider nicht pre und verändern auch noch den Code im Bereich. Also die Codebeispiele hier nur zu Orientierung benutzen.
-------------
quiptime
Da geht noch was.
Quote:Poste bitte den Code,
am 15.06.2006 - 14:09 Uhr
Poste bitte den Code, mit dem Du dies realisierst.
Das ist für mich momentan noch sekundär, als erstes müssen sie ja angezeigt werden.
Vermutlich findest Du dann was Du suchst - insbesonders bei der function image_display().
die Funktion habe ich oben schon gepostet, die stammt aus der image_gallery.tpl und die image_gallery überschreibt -meines Wissens- die Funktion im image.module
siehe den Code in meinem letzten Post
Der von Dir zitierte Code
...
...
bringt Dich doch in die Galerie-Ansicht.
da hast du falsch gelesen, aus dem Grund habe ich versucht die Pfade von image/tid/ in node/ zu ändern, siehe Code in meinem letzten Post
Meine Überlegung war
if (count($images)) - ist für die großen (Preview) Bilder, Anzeige als node/
if (count($galleries)) - ist für die Darstellung der Thumbs (aller Thumbs, nicht nur das des Preview-Bildes), allerdings werden diese in image/tid/ angezeigt. Liege ich soweit richtig?
Da ich die Thumbs mit auf den node/ Seiten anzeigen möchte habe ich versucht die Pfade unter
if (count($galleries)) auf node/ umzustellen. Aber das war wohl zu simpel gedacht.
Was sagst du dazu?
Gruß, green nature
Mit Deinem letzten Post
am 15.06.2006 - 21:13 Uhr
Mit Deinem letzten Post haben wir fast so was wie eine gemeinsame Basis.
Momentan bin ich auch der Meinung, den Code der "image_gallery.module" aus der function theme_image_gallery() im Template "image_gallery.tpl.php" zu modifizieren, um Dein Ziel zu erreichen.
Aber noch etwas für mein Verständnis bitte ich Dich mir noch mal zu erklären.
Wie genau soll die Präsentation der Thumbs mit den Previews erfolgen. Momentan habe ich es so verstanden:
Mit nem Klick auf Galerie gelangt man auf die erste Seite der Präsentation. Dort sind oben 8 Thumbs (Anz. so konfiguriert) und darunter das Preview des 1. (linken) Thumbs zu sehen. Im Fuß der Seite gibt es eine Vor - Zurück Navigation nach dem Motto eins Weiter oder eins zurück.
Wenn ich nun auf eins Weiter klicke erscheint das Preview zum 2. Thumb und so weiter. Wenn ich mit dem weiterklicken beim Preview des 8. Thumb angelangt bin und ich klicke erneut auf weiter dann wechseln die Thumbs zum 9. bis 17. Thumb und das Preview des 9. Thumb ist zu sehen. Das Ganze immer so weiter und analog auch bei den Klicks auf zurück.
Verstehe ich Dich so richtig?
Wenn nicht, dann erkläre mir das bitte so gut, das ich es verstehen kann. Nicht so in Versatzstücken und durcheinander wie bisher.
Nur wenn ich nachvollziehen kann, was Du wie auf der Seite mit der Anzeige der Bilder machen willst, kann ich Dir beim Template helfen.
-------------
quiptime
Da geht noch was.
Es gibt allerdings noch
am 16.06.2006 - 06:59 Uhr
Es gibt allerdings noch einen anderen Lösungsansatz für den Code der "image_gallery.tpl.php". Schau Dir mal bitte das Modul Img Assist an.
Bei Img Assist verzichtet man auf irgendwelche Galeriestrukturen und verwendet direkt die Kategoriestrukturen. Wenn Img Assist startet wird eine Thumb-Ansicht geladen, die eine Weiter/Zurück-Navigation hat. Wird ein Thumb geklickt erhält man nicht das Preview sondern die Editieransicht des Bildes. Das kann relativ einfach verändert werden.
Hauptsächlich müsste man den Code außerhalb der Framestruktur verwenden, zu den Thumbs noch das Preview zeigen und die Weiter/Zurück-Navigation anpassen. Dann bleibt noch die Frage der Sortierung Deiner Bilder.
Befinden sich bei Dir alle Bilder innerhalb nur einer Kategorie oder gibt es eine aufteilende Struktur ala Bilder Thema A, Bilder Thema B usw.?
Hast Du alle Bilder "auf einem Haufen", kann man sich logischer Weise eine Navigation für solch eine Struktur ersparen. Im anderen Falle müsste man den diesbezüglich vorhandenen Code von Img Assist anpassen.
-------------
quiptime
Da geht noch was.
Sehe Dir bitte mal diese
am 17.06.2006 - 16:42 Uhr
Sehe Dir bitte mal diese Variante an:
http://www.quiptime.de/qt/de/image/tid/106
Sie ist noch nicht ganz fertig bezüglich der Menüs und die Galerien insgesamt sind nur willkürlich zum Testen angelegt.
Eventuell könnte es das sein, was Du suchst.
-------------
quiptime
Da geht noch was.
das sieht ja richtig gut aus
am 15.04.2007 - 16:05 Uhr
das sieht ja richtig gut aus :D
ich habe da mal eine kurze Frage, ich bin noch ganz neu hier und habe auch grade erst erfahren, dass man auch die pages ändern kann mit diesen snippets funktionen, bzw mit Hilfe von den tpl.php dateien, wenn man vorher die funktionen in der template.php datei deklariert. So, das ist doch alles richtig, ne?
und meine Frage nun:
Ich will eine Community Seite machen, wie ganz viele hier, und es haben auch schon viele schon gefragt und auch gesucht, wie man oder ob man einen Usergallerie machen kann. Und das gibt´s ja nicht direkt.
Meine Idee ist es mit View und User_profile.tpl.php zu realisieren. Bis jetzt hab ich die user_profile.tpl.php datei so geschrieben, dass schon mal alles auf "mein konto" steht, allerdings muss ich zugeben, dass ich mir das schon ziemlich Mühe gemacht hat, weil ich auch nur ein php anfänger bin..
und dann hab ich mit View das so eingestellt, dass man Images von Users sich angucken kann. d.h. man klickt dann auf Bilder (so heiss der Menulink bei mir) und es werden alle veröffentliche Bilder gezeigt, und man kann dann mit Hilfe von Filter dann auch die Foto einer einzelnen User rausfiltern lassen. So! Man hat dann, wenn man die Foto von User mit Id 1 haben will den Url: ../Bilder?filter0=3 das sieht zwar nicht so gut aus, aber das ist momentan für mich die erste Lösung mit möglich wenig programmier Aufwand, wenn da jemand eine besser Idee hat, dann bin ich sehr dankbar :D
Ich habe also schliesslich dann eine Seite mit einer Table View wo man also pro Reihe ein Thumbnail.. das sieht nicht so gut aus.
Kann ich diese mit View erstellte Seite auch mit eine phptemplate Seite überschreiben?
Und mit dieser Methode kann der User nur Bilder hochladen, aber ohne sie in bestimmten Gallerien oder Ordner reintun zu können, gibst da eine bessere Lösung?
Danke schon mal!
schönen Gruß
yippi