Slideshow mit script.aculo.us

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mi 21. Feb 2007, 23:22

Hallo,
rethus hat geschrieben: ...
@ xmurrix:

Kannst du mir deine Cachefunktion näher erklären?
Werden die Bilder alle - immer - gecacht, oder nur wenn ich bei dem Feld "Maximale Cachedauer der Bilder:" etwas eintrage.
das Verkleinern und Caching der Bilder übernimmt die capiImgScale()-Funktion, die im Contenido-Core integriert ist (siehe contenido/includes/functions.api.images.php).

Es werden nur dann Bilder gecached, wenn auch eine maximale Breite und/oder Höhe für Bilder in der Konfiguration des Artikels eingegeben wurde.

Eine alleinige Angabe zur Cachedauer reicht nicht aus, weil das Modul nicht wissen kann, auf welche Zielmaße die Bilder heruntergerechnet werden sollen. Ist aber mindestens eine der Zielgrößen angegeben und keine Cachedauer, wird das Caching per Default auf 10 Minuten gesetzt.
Das ist nur dann interessant, wenn sich der Inhalt des für die Slideshow ausgewählten Verzeichnisses öfters ändert, also die darin enthaltenen Bilder immer wieder mal ausgetauscht werden oder Neue hinzukommen.
Bei auf längere Zeit konstantem Verzeichnisinhalt würde ich das Caching hochschrauben (Woche, Monat/-e).

Gruß

xmurrix

saschar
Beiträge: 141
Registriert: Mo 21. Okt 2002, 14:37
Wohnort: Dornbirn, A
Kontaktdaten:

Random-Funktion

Beitrag von saschar » Do 22. Feb 2007, 09:19

Hallo.
Finde das Modul gut so, vor allem die Auswahlmöglichkeit eines Ordners.

Wie könnte man in dieses Modul eine Random-Funktion einbauen, damit es die Bilder nicht immer der Reihe nach nimmt?

Hat da jemand eine Idee? (Bin leider eine Programmier-Flasche)
Oder habe ich das irgendwo übersehen?

Danke.
Sascha

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Beitrag von Peer » Di 18. Sep 2007, 05:48

Hallo,

ich würde das Modul gerne mehr mals auf einer Seite benutzen.
Kann mir jemand sagen wie ich das am besten hinbekomme.

Vielen Dank

Con_Explorer
Beiträge: 60
Registriert: Do 4. Jan 2007, 17:10
Kontaktdaten:

Beitrag von Con_Explorer » Di 18. Sep 2007, 05:53

Moin,

erstelle mehrere Container mit unterschiedlichen ID's, denen du dieses Modul zu weist.
Exercitatio artem parat -
Übung macht den Meister
- Jeder fängt mal klein an

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Beitrag von Peer » Di 18. Sep 2007, 05:57

Moin,
danke für deine Antwort

meinst du die hier CMS_VALUE[0]

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Beitrag von Peer » Mi 19. Sep 2007, 14:25

Hallo Leute,

sorry aber ich bekomme es nicht hin. Kann mir jemand einen Tip geben.

Vielen Dank für eure Hilfe.

Gruß

Peer

MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress » Mi 19. Sep 2007, 14:47

was genau ist denn dein Problem? Du musst schon ein wenig detaillierter werden...
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)

Peer
Beiträge: 309
Registriert: Fr 9. Sep 2005, 17:22
Kontaktdaten:

Beitrag von Peer » Mi 19. Sep 2007, 21:00

Ich möchte das Modul gerne häufiger auf der selben Seite nutzen.

Problem ist, das ich das Modul zwar häufiger einsetzen kann aber alle sich an den Einstellungen des oberen orientieren und somit alle einzelnen Module auf den selbern Ordner zugreifen und in den selben Zeitabständen die Bilder aufrufen.

wer sich das mal anschauen möchte http://spurensuche-owl.de oben links

Vielen Dank

Peer

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mi 19. Sep 2007, 21:43

Hallo Peer,
Peer hat geschrieben:Ich möchte das Modul gerne häufiger auf der selben Seite nutzen.

Problem ist, das ich das Modul zwar häufiger einsetzen kann aber alle sich an den Einstellungen des oberen orientieren und somit alle einzelnen Module auf den selbern Ordner zugreifen und in den selben Zeitabständen die Bilder aufrufen.

wer sich das mal anschauen möchte http://spurensuche-owl.de oben links

Vielen Dank

Peer
in der jetzigen Version ist es leider nicht möglich, das Modul mehrmals auf einer Seite einzusetzen, jedenfalls nicht ohne einige Anpassungen.
Anhand des Templates möchte ich es mal erklären, was da alles zu machen wäre.

Code: Alles auswählen

<script type="text/javascript" src="./js/slideshow.js"></script>

<div id="slideshow-box">
    <div class="slideshow" id="slideshow">
        <!-- BEGIN:BLOCK -->
        <div class="slide"><img src="{IMG.SRC}" alt="{IMG.ALT}"{IMG.ATTRIBUTES} /></div><!-- END:BLOCK -->
    </div>
</div>

<script type="text/javascript">//<![CDATA[
    new Slideshow('slideshow', {SLIDESHOW.SPEED});
//]]></script>
<noscript><p class="noscript">{NOSCRIPT}</p></noscript>
Wenn du das Modul mehrmals in einer Seite verwenden willst, wird der Code auch mehrfach ausgegeben. Da die Container mit Ids versehen sind (<div id="slideshow-box"> oder <div class="slideshow" id="slideshow">), können/sollen diese nur einmal in einer Seite vorkommen. Auch würde die JavaScript Datei mehrmals eingebunden.

Du müsstest eindeutige Identifier verwenden, da jeder Instanz der SlideShow die ID des Containers übergeben wird, der die Bilder enthält.

Code: Alles auswählen

// modul 1
new Slideshow('slideshow_1', {SLIDESHOW.SPEED});
// modul 2
new Slideshow('slideshow_2', {SLIDESHOW.SPEED});
// modul n
new Slideshow('slideshow_n', {SLIDESHOW.SPEED});
Dazu kannst du Platzhalter im Template definieren, die dann im Modulcode gesetzt werden.

Auch der Container <div id="slideshow-box"> braucht bei mehreren Modulen verschiedene Ids oder du machst daraus ein class-Attribut.

Die JavaScript Datei ist dann vom Template direkt in das Layout zu übertragen, damit es nicht mehrfach eingebunden wird.

Dann musst du die Inhalte in der CSS-Anpassen, damit mehrere SlideShow-Container in einer Seite korrekt formatiert werden können.

Danach sollte es eigentlich funktionieren, mit Sichercherheit kann ich das aber nicht sagen.

Eigentlich ist das Modul nicht dafür gedacht gewesen, mehrfach in einer Seite eingesetzt zu werden. Ich will dir das zwar nicht ausreden, finde es aber nicht angenehm für einen User, wenn mehrere SlideShows auf einmal in einer Seite ablaufen. Das würde nur ablenken...

Gruß
xmurrix

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Random-Funktion

Beitrag von xmurrix » Mi 19. Sep 2007, 21:57

Hallo Sascha,
saschar hat geschrieben:Hallo.
Finde das Modul gut so, vor allem die Auswahlmöglichkeit eines Ordners.

Wie könnte man in dieses Modul eine Random-Funktion einbauen, damit es die Bilder nicht immer der Reihe nach nimmt?

Hat da jemand eine Idee? (Bin leider eine Programmier-Flasche)
Oder habe ich das irgendwo übersehen?

Danke.
Sascha
die Antwort auf deine Frage kommt etwas spät, falls es dich aber noch interessiert, kann man das Random-Feature in der Modulausgabe durch anpassen des SQL-Statements auch realisieren.

Code: Alles auswählen

// zeile 84 im moduloutput
$UploadCollection->select($where, "", "filename");

// gegen folgende zeile ersetzen
$UploadCollection->select($where, "", "RAND()");
Dann wird ein Statement auf die Uploadtabelle mit zufälliger Sortierung der Ergebnismenge abgesetzt. Es kann aber sein, dass ältere MySQL-Datenbanken damit nicht klar kommen.

Gruß
xmurrix

Horst Wiese
Beiträge: 28
Registriert: Do 28. Mai 2009, 06:55
Wohnort: Bremen

Slideshow mit script.aculo.us: Überblendzeit ändern?

Beitrag von Horst Wiese » Mi 4. Nov 2009, 14:02

Guten Tag,

Erstmal herzlichen Dank für dieses wunderbare Modul, läuft bei mir unter con 4.8.12 wunderbar.
Eine kleine Frage: ich finde, die Überblendzeit ist doch recht schnell, kann man das irgentwo einstellen?

Ciao,
Horst

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Slideshow mit script.aculo.us: Überblendzeit ändern?

Beitrag von xmurrix » Mi 4. Nov 2009, 14:41

Horst Wiese hat geschrieben:...Eine kleine Frage: ich finde, die Überblendzeit ist doch recht schnell, kann man das irgentwo einstellen?...
Hallo Horst,

du kannst das in der Datei cms/js/slideshow.js anpassen.
Codeblock

Code: Alles auswählen

    Effect.Fade(this.slides[this.current], {
      afterFinish: function(effect) {
        effect.element.style.zIndex = 0;
        Element.show(effect.element);
        Element.setOpacity(effect.element, 1);
      }
    });
ändern in

Code: Alles auswählen

    Effect.Fade(this.slides[this.current], {
      duration: 1.5, // 1.0 ist default
      afterFinish: function(effect) {
        effect.element.style.zIndex = 0;
        Element.show(effect.element);
        Element.setOpacity(effect.element, 1);
      }
    });
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Horst Wiese
Beiträge: 28
Registriert: Do 28. Mai 2009, 06:55
Wohnort: Bremen

Re: Slideshow mit script.aculo.us

Beitrag von Horst Wiese » Mi 4. Nov 2009, 16:23

Vielen Dank, klappt bestens :-))

Gesperrt