Contao-Camp 2024
Ergebnis 1 bis 13 von 13

Thema: Caroufredsel und die Pagination

  1. #1
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    643

    Standard Caroufredsel und die Pagination

    Hallo liebe Contao Community,

    ich habe ein kleines Problemchen mit meinem Caroufredsel Slider.
    Der Slider bietet ja die Möglichkeit eine Pagination einzublenden, welche mit den Zahlen 1,2,3 usw. dargestellt wird.
    Nun würde ich aber statt der Zahlen eine Beschriftung im Sinne von Startseite, Produkte usw. bevorzugen. Wie und wo könnte ich das anpassen?

    LG,
    Dirk

  2. #2
    Contao-Fan
    Registriert seit
    08.11.2011.
    Ort
    Frankfurt am Main
    Beiträge
    768
    User beschenken
    Wunschliste

    Standard

    Hallo Dirk,

    schau mal hier: http://caroufredsel.dev7studios.com/...-carousels.php und hier (4. Beispiel von unten): http://caroufredsel.dev7studios.com/...figuration.php

    Du brauchst nur diese Methode "anchorBuilder" im js-Template anpassen bzw. zu hinterlegen und kannst dann dort die Pagination so zusammenbauen wie du das möchtest.

    Viele Grüße...
    ...Dirk

  3. #3
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    643

    Standard

    Hi Dirk,

    perfekt... das hat schon mal gefunzt.
    Der Code sieht bei mir nun so aus.
    Code:
    	// subobject 'pagination' options
    	if ($this->pagination) {
    		echo ($oComma == true ? ', ' : '') . 'pagination: { ';
    		echo 'container: "#caroufredsel_pagi_' . $this->id . '"';
    		$iComma = true;
    		if ($this->paginationKeys) {
    			echo ($iComma == true ? ', ' : '') . $this->paginationKeys;
    			$iComma = true;
    		}
            echo ($iComma == true ? ', ' : '') . 'anchorBuilder: function(nr) {
            var title = $(this).find( "h3" ).text();
            return "<span>" + title + "</span>";
            }';
    //		echo ($iComma == true ? ', ' : '') . 'conditions: function(direction) { }';
    //		echo ($iComma == true ? ', ' : '') . 'onBefore: function(data) { }';
    //		echo ($iComma == true ? ', ' : '') . 'onAfter: function(data) { }';
    //		echo ($iComma == true ? ', ' : '') . 'onEnd: function(direction) { }';
    		echo ' }'; // end of subobject 'pagination' options
    		$iComma = false; // reset inside subobject comma flag
    		$oComma = true;
    Nun werden die H3 Überschriften, welche im Slider angelegt sind in der Pagination als Beschriftung angezeigt.
    Hast Du auch eine Idee, wie ich jedem Navigationspunkt eine CSS Klasse geben könnte?

    Liebe Grüße,
    Dirksche ;-)

  4. #4
    Contao-Fan
    Registriert seit
    08.11.2011.
    Ort
    Frankfurt am Main
    Beiträge
    768
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von dirksche Beitrag anzeigen
    Nun werden die H3 Überschriften, welche im Slider angelegt sind in der Pagination als Beschriftung angezeigt.
    Hast Du auch eine Idee, wie ich jedem Navigationspunkt eine CSS Klasse geben könnte?
    klaro. Das ist leicht...

    PHP-Code:
    return "<span class="wasauchimmerichmag" id="wasauchimmerichmag_" + nr + ""'">" + title + "</span>"; 
    Ich hab aber nicht darauf geachtet wie und welche Gänsefüßchen wann man wo benutzen muß. Ging mir nur ums Prinzip.

    Liebe Grüße =)

  5. #5
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    643

    Standard

    Kann ich auch die CSS Klasse meines Slider Elements in meine Pagination einfügen?

    Es geht um folgendes:
    Ich habe einen Slider mit 15 Elementen.
    Nun möchte ich aber in meiner Pagination nur auf die Elemente 3, 7, 9, 12 und 15 verlinken.
    Da ich jedem Element eine CSS Klasse gebe, könne ich diese ja auch an die Pagination Links "vererben".
    Dann blende ich per CSS nur die Links ein, welche auch die Klassen der Slider Elemente 3, 7, 9, 12 und 15 besitzen.

    Oder denke ich zu kompliziert? ;-)

  6. #6
    Contao-Fan
    Registriert seit
    08.11.2011.
    Ort
    Frankfurt am Main
    Beiträge
    768
    User beschenken
    Wunschliste

    Standard

    Könntest du so wohl machen aber schicker wäre es du gibst als return-Wert nur diejenigen Elemente zurück, die dem gerecht werden. Kannst dort ja mit jQuery nach Elementen suchen, die best. Kriterien erfüllen - also z.B. deine definierte Klasse haben. Die anderen ignorierst du. Dann enthält die Pagination auch nur die Elemente, die du dort haben möchtest.

    Wenn ich dich richtig verstanden habe.

  7. #7
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    643

    Standard

    Ja stimmt. Das ist auf jeden Fall eleganter und funktioniert auch soweit.
    Jetzt werden aber immer noch die "leeren" <span> Elemente im Quelltext mit ausgegeben.
    Das müsste doch über eine if Abfrage zu lösen sein, oder?
    Bin leider nicht so firm in Javascript :-(

  8. #8
    Contao-Fan
    Registriert seit
    08.11.2011.
    Ort
    Frankfurt am Main
    Beiträge
    768
    User beschenken
    Wunschliste

    Standard

    Richtig. Du machst um das "return" eine If-Abfrage und lieferst nur etwas zurück, wenn du dafür einen Punkt haben möchtest. Wie sieht denn dein Code aus?

  9. #9
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    643

    Standard

    Also momentan sieht es so aus:

    Code:
    	// subobject 'pagination' options
    	if ($this->pagination) {
    		echo ($oComma == true ? ', ' : '') . 'pagination: { ';
    		echo 'container: "#caroufredsel_pagi_' . $this->id . '"';
    		$iComma = true;
    		if ($this->paginationKeys) {
    			echo ($iComma == true ? ', ' : '') . $this->paginationKeys;
    			$iComma = true;
    		}
            echo ($iComma == true ? ', ' : '') . 'anchorBuilder: function(nr) {
            var title = $(this).find( ".pagi_nav" ).text();
            if ($this.is (".pagi_nav")) {
            return "<span>" + title + "</span>"; 
              }
            }';
    //		echo ($iComma == true ? ', ' : '') . 'conditions: function(direction) { }';
    //		echo ($iComma == true ? ', ' : '') . 'onBefore: function(data) { }';
    //		echo ($iComma == true ? ', ' : '') . 'onAfter: function(data) { }';
    //		echo ($iComma == true ? ', ' : '') . 'onEnd: function(direction) { }';
    		echo ' }'; // end of subobject 'pagination' options
    		$iComma = false; // reset inside subobject comma flag
    		$oComma = true;
    	}
    Leider werden so keine Navigationspunkte angezeigt :-(

  10. #10
    Contao-Fan
    Registriert seit
    08.11.2011.
    Ort
    Frankfurt am Main
    Beiträge
    768
    User beschenken
    Wunschliste

    Standard

    hmm irgendwie sieht die if-Abfrage nicht so richtig aus, denn das aktuelle Element dort enthält ja nicht diese Klasse. Müßte das aber mal bei mir nachprogrammieren, um zu schauen wie es ginge.

  11. #11
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    643

    Standard

    Oh Mann... ich bin so ein Rindvieh ;-)
    Ich braue die Pagination ja nicht unbedingt zu nutzen. Ich kann mir ja auch selber die Navigation bauen und brauche nur auf die ID des Slider Elements zu verlinken und habe den selben Effekt.
    Mach Dir also nun keinen Stress.

    Trotz allem mal wieder vielen Dank für Deine schnelle und freundliche Unterstützung :-)

    Liebe Grüße,
    Dirk

  12. #12
    Contao-Fan
    Registriert seit
    08.11.2011.
    Ort
    Frankfurt am Main
    Beiträge
    768
    User beschenken
    Wunschliste

    Standard

    ja nun so kannst du es bestimmt auch machen. Kenne dein Projekt, die Struktur davon und auch die Gedanken die dir durch den Kopf gehen nicht.

    Aber wenn du die Daten alle eh innerhalb des Sliders hast kannst du das auch so innerhalb schon regeln. Wäre vielleicht leichter - auch wenn du die kleine jQuery-Routine dazu brauchst. Auf der anderen Seite hast du das ganze ja auch schon mal über externe slideTo-Events schon getriggert. So ginge es auch.

    Wenn's fertig ist, laß es doch mal sehen bitte.

    Viele Grüße...
    ...Dirk

  13. #13
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard

    Hey,

    habe da heute auch ein wenig dran "rumgezaubert". Für uns war es einfach nur wichtig den a Tag über eine fortlaufende Nummer ansprechbar zu machen.
    Dafür haben wir im Template js_caroufredsel.html5 folgendes in Zeile 276 eingefügt:

    Code:
    		
    echo ($iComma == true ? ', ' : '') . 'anchorBuilder: function(nr) {
    var title = "paginID" + nr;
    return "<a class=" + title + "><span>" + title + "</span></a>";
    }';
    Danke für Eure Inspiration ;-)
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •