Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 02. Mai 2018 15:57

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

[GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Hallo Leute,

gibt es ne Möglichkeit das "Album-Cover-Bild" der Gallerys in Listit-Listen im Listit-Summary anzeigen zu lassen?

Eine Lösung dafür währ ne Wucht!


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#2 02. Mai 2018 20:17

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.878
Webseite

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Wenn du noch ein paar Details ergänzen würdest, ließe sich vllt leichter nachvollziehen, was du gern möchtest bzw. beabsichtigst.

Hab momentan keine konkrete Vorstellung, was genau du damit bezwecken willst.

Das Album-Cover-Bild ist aller Wahrscheinlichkeit nach in einer Variablen hinterlegt. Du musst also einen Weg finden, Gallery und LI zu verknüpfen.

Ich hab vor längerem mal ein Kundenprojekt gehabt, wo ich es so gelöst habe, dass in allen Modulen die gleiche Kennung verwendet wurde, der Seiten-Alias hieß "Produkt-1", die Uploads-Kategorie zu "Produkt-1" hieß "Produkt-1". Und bei der Gallery hieß das dazugehörige Album mit den Produktphotos auch "Produkt-1".

Du musst schlußendlich das Gallery-Modul mit einem angepassten Template in LI aufrufen, dass aber "nur" den Album-Cover enthält...


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMS/ms
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#3 03. Mai 2018 00:53

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Ich denke du hast das schon richtig erfasst, ich habe für jeden meiner Items inerhalb einer Listit-Liste eine Galerie angelegt, die aber erst im Detail-Template ganz angezeigt/aufgerufen werden soll. Im Summary hätte ich gerne nur das ausgewählte Cover-Bild neben dem Item-Title zu sehen.

Mir ist schon klar dass ich das mit nem zusätzlichen Extrafeld in Listit lösen könnte ( hab ich auch schon mal gemacht), nur denke ich, wenn das Gallery Modul schon die Möglichkeit bietet da gleich ein bestimmtes auszuwählen, wär das doch wesentlich eingängiger zu Handhaben. Kannst du mir helfen?

Danke


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#4 03. Mai 2018 08:42

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Wie kann ich den nur das Album-Cover anzeigen?


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#5 03. Mai 2018 13:54

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.117

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Geht leider nicht sonderlich elegant. Das Gallery-Modul ist nichts weiter als ein Datei-Browser, der sich allerdings auf Bilder spezialisiert hat. Verzeichnisse sind Galerien, Dateien in diesen Verzeichnissen sind Bilder.

D.h. es wird nur mit einer Art "Datei-Objekten" mit bestimmten Eigenschaften hantiert. Eine dieser Eigenschaften besagt, ob es sich um eine Datei oder ein Verzeichnis handelt. Je nachdem was es nun ist, werden diese Objekte im jeweiligen Template etwas unterschiedlich ausgegeben. Der Unterschied besteht meist nur darin, dass ein Verzeichnis einen Link zu einer Modulaktion zum Anzeigen des zugehörigen Unterverzeichnisses bekommt, während Dateien einen Link auf die jeweilige Datei selbst zur Großansicht erhalten.

Aber egal wie, jedes Objekt - egal ob Verzeichnis oder Datei - hat die Eigenschaft "thumb". "Thumb" ist das Vorschaubild des jeweiligen Datei-Objektes. D.h. bei Verzeichnissen ist "thumb" das sogenannte "Albumcover". Bei Dateien das allseits bekannte Vorschaubild.

D.h. jeder Galerie-Eintrag, egal ob Bild oder Untergalerie, hat ein Vorschaubild. Bei Bildern wird das automatisch vom Originalbild erstellt. Bei Verzeichnissen kann man das selber auswählen. Jetzt kommt aber das Problem: Diese Eigenschaft "thumb" wird ausschließlich dem jeweiligen Objekt selbst gegeben. Außer diesem Objekt selbst, weiß keiner etwas davon. D.h. man kann das Vorschaubild eines Verzeichnisses nur dann anzeigen, wenn man sich im übergeordneten Verzeichnis befindet und alle dort drin enthaltenen Objekte in einer Schleife durchgeht.

Im Gallery-Template wird das meist so gelöst:

{foreach from=$images item=image}

    <div class="img">

    {if $image->isdir}		{* <-- Hier wird geprüft, ob es ein Verzeichnis ist *}

        <a href="{$image->file}" title="{$image->titlename}">

            {* Hier wird mit $image->thumb das Vorschaubild des Verzeichnisses (aka Albumcover) ausgegeben *}
            <img src="{$image->thumb|escape:'url'|replace:'%2F':'/'}" alt="{$image->titlename}" />

        </a>
        <br />
        {$image->titlename}

    {else}		{* Ausgabe von Bildern *}

        <a class="group" href="{$image->file|escape:'url'|replace:'%2F':'/'}" title="{$image->comment}" rel="prettyPhoto[{$galleryid}]">

            {* Hier wird mit $image->thumb das Vorschaubild des Bildes ausgegeben *}
            <img src="{$image->thumb|escape:'url'|replace:'%2F':'/'}" alt="{$image->titlename}" />

        </a>

    {/if}

    </div>

{/foreach}

Du siehst, der Unterschied bei der Behandlung von Verzeichnissen und Dateien ist im Template nur marginal. Das erleichtert die Verarbeitung im Template. Der Unterschied besteht eigentlich nur darin, dass die Bilder im Link noch eine Klasse für das Javascript des jeweiligen Gallery-Templates erhalten und der Name des Bildes nicht unter dem Bild steht. Und da Dateien oftmals kryptische Namen haben können, muss der Link zum Bild noch als URL maskiert werden. Ansonsten sind die beiden Objekte identisch.

Und du siehst auch, dass wir bei diesem Template bereits in einer Galerie sein müssen und es leider keine Variable mit Informationen über diese aktuelle Galerie gibt, um sein eigenes Vorschaubild anzuzeigen.

Ich weiß nicht, ob Dir das Verständnis darüber, wie das Gallery-Modul funktioniert, wirklich weiterhilft, aber es scheint schon seit Jahren keine Möglichkeit zu geben, gezielt das Albumcover einer bestimmten Galerie auszugeben. Dazu müsste ich bereits so viele Informationen über das Cover haben, dass ich das Bild auch selbst verlinken kann.

Im Anhang hab ich mal markiert, wie die Daten in der Datenbank miteinander verknüpft werden.

Das einfachste wäre, wenn man den Entwickler mal bittet, die Variable $galleryinfo dem Template zuzuweisen. Die enthält nämlich alle Informationen über die aktuell angezeigte Galerie - auch die ID des Vorschaubildes. Darüber könnte man dann mit einem weiteren Gallery-Aufruf direkt das Cover ausgeben. Besser wäre es allerdings, wenn $galleryinfo bereits den Pfad zum Vorschaubild enthalten würde. Spart unnötige Modul-Aufrufe.



PS: Es würde gehen, wenn Du jede Gallery nochmal sich selbst als Untergallery definieren würdest. Also z.B. so:

Gallery/
│
├── Meine Galerie 1/
│   │
│   └── Meine Galerie 1/
│       ├── Bild1
│       ├── Bild2
│       ├── Bild3
│       └── ...
│
├── Meine Galerie 2/
│   │
│   └── Meine Galerie 2/
│       ├── Bild1
│       ├── Bild2
│       ├── Bild3
│       └── ...
│
└── ...

Dann kannst Du mit {Gallery dir="Meine Galerie 1"} ein Vorschaubild + Verlinkung zur jeweiligen Gallery ausgeben lassen. Wenn Du die Gallery dann direkt ausgeben willst, musst Du allerdings die Verzeichnisse doppelt angeben:
{Gallery dir="Meine Galerie 1/Meine Galerie 1"}

Oder man bastelt sich ein Plugin und holt sich die Daten über das Vorschaubild selber direkt aus der DB. Muss ich mal schaun, inwiefern das einfacher wäre, als die zwei Modulaufrufe bzw. auf den Entwickler zu warten.

PS2: Im Anhang hab ich mal ein Plugin (Getgalleryinfo), mit dem man sich Informationen über eine Galerie holen kann. Das ist im Prinzip eine Modifikation einer Funktion, die bereits im Gallery-Modul eingebaut ist. Ich habe die DB-Abfrage lediglich um Informationen zum Vorschaubild ergänzt und den Link zur Galerie mit eingebaut.
Anwendung: {Getgalleryinfo gallery="Pfad oder Gallery ID" assign="galleryinfo"}
Dann hat man im Template ein Array namens {$galleryinfo} und kann darüber z.B. das Vorschaubild + Link ausgeben:

{Getgalleryinfo gallery="meine galerie" assign="galleryinfo"}
<a href="{$galleryinfo.url}">
    <img src="{$galleryinfo.thumb}" /><br />
    {$galleryinfo.title}
</a>

Offline

#6 09. Mai 2018 14:35

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Super Nan!

das Plugin von dir funktioniert in Reinform schon mal einwandfrei! Macht aber mehr als ich brauche  wink , ich zeige hierzu mal mein bisheriges Summary Template:

[== Smarty ==]

{if $items|@count > 0}
	{foreach from=$items item=item}
<a class="button" href="{$item->url}"><span>{$item->title}</span>{if $item->galerie != ''}{Gallery dir=$item->fielddefs.galerie.value}{/if}</a>
	{/foreach}
{/if}

So wird ja zu jedem Item die zugehörige mittels "Dropdown" ausgewählte Gallery ausgegeben. Ich will aber, das nur das von mir ausgewählte Album-Bild der jeweiligen Galerie ausgegeben wird. Ich brauch nicht mal den Link zur Galerie, den soll man erst in den Details bekommen!

Hab den Code von dir schon ein wenig modifiziert, hab es aber noch nicht ganz hinbekommen. Dürfte ja eigentlich nur noch ein Klacks sein?? Ich bitte nochmal herzlichst um Hilfe.

Danke bisher!


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#7 09. Mai 2018 15:13

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Heureka, ich hab es!

[== smarty ==]
<a class="button" href="{$item->url}"><span>{$item->title}</span><div class="clear"></div>{if $item->galerie != ''}{Getgalleryinfo gallery=$item->fielddefs.galerie.value assign="galleryinfo"}<img src="{$galleryinfo.thumb}" />{/if}</a>

Oder geht das besser? Wenn ich was Doofes/Redundanz drin hab, wär ich für jeden Vorschlag trotzdem dankbar!

Gruß


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#8 09. Mai 2018 15:19

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Ich glaub jetzt hab ich mich zu früh gefreut, die richtig angezeigten Thumbs sind natürlich in sehr schlechter Auflösung! Das richtige Bild kann man nicht auslesen, nur das Thumb selber?

Gruß


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#9 10. Mai 2018 11:18

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.117

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Das richtige Bild kann man nicht auslesen, nur das Thumb selber?

Natürlich geht das.
Ich hab ja in meinem Plugin den Pfad zum Vorschaubild erst aus den Daten des Originalbildes bilden können  wink
Ich hab im Plugin das Array noch um das Originalbild erweitert. Ist unter dem Index "thumb_full" zu finden (was besseres fiel mir grad nicht ein lol )
(Siehe Anhang im Beitrag oben)
In Deinem Fall also so anwenden:

<a class="button" href="{$item->url}">
    <span>{$item->title}</span>
    <div class="clear"></div>
    {if $item->galerie != ''}
        {Getgalleryinfo gallery=$item->fielddefs.galerie.value assign="galleryinfo"}
        <img src="{uploads_url}/{$galleryinfo.thumb_full}" />
    {/if}
</a>

Offline

#10 10. Mai 2018 15:52

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Also wenn ich das jetzt 1:1 ins "Summary Template" einfüge wird erst mal nix ausgegeben. Aber wenn ich das richtig gelesen habe, muss ich das Plugin ja erst um den entsprechenden Wert erweitern. Was muss ich im Plugin wo erweitern? Dazu reicht mein "Kung Fu" leider nicht!

Bitte nochmals um Hilfe!


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#11 10. Mai 2018 16:23

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.117

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Du musst das Plugin erstmal erneut runterladen.

Offline

#12 10. Mai 2018 16:32

parsec
arbeitet mit CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 161

Re: [GELÖST] Gallery Album-Cover in Listit-Summary-Template anzeigen lassen

Achsooooo, das hab ich nicht geschnallt! Ich danke dir NAN, hast mir echt schon oft geholfen! Funzt optimal, tausend Dank!


"Es ist unmöglich, alles zu wissen" - Horaz

Offline