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

#1 22. Februar 2017 20:43

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

[GELÖST] Galerie als Accordion anzeigen

Hallo!

Ich möchte gerne eine Gallery als Accordion darstellen.

Ich habe soetwas schon mal bei einem Newsbeitrag mittels Foundation gemacht.
Dort habe ich es einfach so gemacht, dass die kompletten Daten vom Newsmodul gekommen sind, wo als Extrafeld die Gallery eingetragen wurde und die Bild:

{$accordionnr = 1}

<ul class="accordion" data-accordion>
{foreach from=$items item=entry}
<li class="accordion-navigation">
<a href="#panel{$accordionnr}a">
    <div class="row">
	<div class="NewsSummaryPostdate small-3 columns">{$entry->postdate|date_format:"%d.%m.%Y"}</div>
        <div class="NewsSummaryLink-site small-9 columns">{$entry->title|cms_escape}</div>
    </div>
</a>

{if $accordionnr<2}
<div class="content active" id="panel{$accordionnr}a">
{/if}
{if $accordionnr>1}
<div class="content NewsSummary" id="panel{$accordionnr}a">
{/if}
<div class="row">
{if $entry->content}
	<div class="NewsSummaryContent small-12 large-12 columns">
		{$entry->content}
	</div>
{/if}
</div>
<div class="row">
        <div class="small-12 large-12 columns">
{if isset($entry->extra)}
    <div class="NewsSummaryExtra Gallery">
        {Gallery dir=$entry->extra}
	{* {cms_module module='Uploads' mode='simpleurl' upload_id=$entry->extravalue} *}
    </div>
{/if}

<!--{if isset($entry->fields)}
  {foreach from=$entry->fields item='field'}
     <div class="NewsSummaryField">
        {if $field->type == 'file'}
          <img src="{$entry->file_location}/{$field->displayvalue}"/>
        {else}
          {$field->name}:&nbsp;{$field->displayvalue}
        {/if}
     </div>
</div>
  {/foreach}
{/if}-->

</div>
</li>
<!--{$accordionnr++}-->
{/foreach}
</ul>

Jetzt möchte ich es aber komplett aus dem Gallerymodul machen.
Das heißt er sollte einfach alle Galleries hernehmen und im Accordion anzeigen (natürlich mit nur einer maximalen Anzahl pro Seite - aber dass ist hier nicht das Thema)
Hier habe ich aber einen Denkfehler - ich müsste ja praktisch die Galerien in einem Gallery-Template laden und die Bilder so anzeigen.

Wie lese ich die Galerien aus und zeige die Bilder darin auch gleich an?

Ich hoffe ihr versteht was ich meine! :-)
Vielen Dank!

Beitrag geändert von brandy (14. März 2017 20:30)

Offline

#2 25. Februar 2017 19:51

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Ich stelle mir das Ganze genau so vor:
Link

Nur in diesem Beispiel wurde es über das News-Modul gemacht, wo die Gallery geladen wird.
Jetzt sollte das alles über die Gallery laufen - wie ist das möglich?

Vielen Dank!

Offline

#3 25. Februar 2017 20:57

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Das müsste sich wie folgt machen lassen:

  • Alle Galerien müssten in einer flachen Hierachy organisiert werden. Es gibt als keine Untergalerien.

  • Der Aufruf der Gallery erfolgt über zwei Stufen:

  • Das Accordeon wird über {Gallery template="accordeon"} erzeugt

  • In diesem Template wird pro Gallery ein weiteres mal die Gallery aufgerufen

Accordeon Template:

<div class="gallery">
<ul class="accordion" data-accordion>
{foreach from=$images item=image}
<li class="accordion-navigation">
    <a href="#{$image->filename}">{$image->title}</a>
</a>
{gallery dir=$image->filename}
</li>
{/foreach}
</ul>
<div class="galleryclear">&nbsp;</div>
</div>

Der Code ist ziemlich vereinfacht und ungetestet. Er sollte dir aber zeigen wie es in etwa geht.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#4 26. Februar 2017 20:37

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Genau so hab ich mir das vorgestellt!
Ich werds morgen einbauen - vielen Dank!

Offline

#5 28. Februar 2017 07:38

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Das funktioniert!
Aber leider ist die Ladezeit aufgrund der Bilder so hoch, dass ich damit noch nicht arbeiten kann - ich muss es auf Seiten aufteilen - wie kann ich aktuell für den Aufbau nur mal 5 Galerien darstellen lassen?

Grundsätzlich ginge das mit

Kann ich das einfach in den Tag von oben einbauen:

{gallery dir=$image->filename number="5"}

Irgendwie erscheint mir das falsch, da ja keinen Unterschied zwischen filename und number hat, oder?

Offline

#6 28. Februar 2017 11:58

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

brandy schrieb:

Irgendwie erscheint mir das falsch, da ja keinen Unterschied zwischen filename und number hat, oder?

Diesen Satz verstehe ich nicht ganz.

Du hast so ja zwei Parameter angegeben
dir=$image->filename
numer="5"

Allenfalls wäre das AjaxTools / XajaxTools von NaN was für dich:
http://dev.cmsmadesimple.org/projects/ajax_tools
http://dev.cmsmadesimple.org/projects/xajax_tools

Damit kannst du den Inhalt der Gallery per Ajax nachladen, sobald ein Akkordeon geöffnet wird.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#7 28. Februar 2017 13:46

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Naja ich dachte mir ich hab einen Fehler aufgrundessen, dass ich eventuell eine falsche Syntax hab... Aber anscheinend liegt es an der Lademenge.

Kann ich in der Gallery auch wie in der News Seiten erstellen?

Offline

#8 28. Februar 2017 14:06

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Mit Number kannst du eine Pagination erstellen. Da du die Gallery ja zweimal aufrufst, kannst du die Pagination beim ersten Aufruf der Gallery problemlos einsetzen.

Der Code für die Pageination kannst du aus einem Standardtemplate auslesen:

<div class="pagenavigation">
{if $pages > 1}
<div class="prevpage">{$prevpage}</div>
<div class="nextpage">{$nextpage}</div>
{/if}
{if $pages > 1}<div class="pagelinks">{$pagelinks}</div>{/if}
</div>

[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#9 28. Februar 2017 14:58

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Danke, jetzt funktioniert alles, wie ich es mir vorstelle!

Könnt ihr mir aber noch sagen, nach was er die Galerien ordnet?
Ich hab nämlich die ganzen Bilder auf einen neuen Server umgezogen und jetzt ist die Reihenfolge ganz durcheinander - liegt das daran, dass er sich das Upload-Datum bzw. Zeitpunkt hernimmt?
Weil das wäre dann eher suboptimal!

Vielen Dank!

Offline

#10 28. Februar 2017 21:03

brandy
Server-Pate
Registriert: 05. Juni 2011
Beiträge: 803
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Gut, verstehe, er nimmt das Datum des Uploads - die ganzen Dateien haben das Datum an dem ich sie von einem Server auf den anderen kopiert habe!

Hab keine Ahnung wie man diese Daten mitübernehmen kann!

Gibts dazu eine Lösung?

Beitrag geändert von brandy (01. März 2017 15:19)

Offline

#11 03. März 2017 17:02

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Galerie als Accordion anzeigen

Gute FTP-Programme haben nach meiner Erinnerung in den Einstellungen eine Option, den Timestamp der Dateien unangetastet zu lassen roll ...

Offline