Ergebnis 1 bis 9 von 9

Thema: Akkordeon-Zustand über Seiten hinweg merken

  1. #1
    Contao-Nutzer Avatar von Hagord
    Registriert seit
    18.08.2010.
    Ort
    Berlin
    Beiträge
    142

    Standard Akkordeon-Zustand über Seiten hinweg merken

    Wie kann ich dafür sorgen, dass ein Akkordeon auf einer neuen Seite in dem Zustand geöffnet wird, in dem es auf der alten Seite verlassen wurde?

    Hintergrund: In der rechten Spalte wird eine Eventliste dargestellt. Die Eventliste ist in einen Artikel eingebunden, welcher wiederum in ein Modul vom Typ mod_article eingebunden ist. Das Modul selbst ist über das Seitenlayout in die rechte Spalte eingebunden.

    Desweiteren habe ich ein nutzerdefiniertes Template von j_accordion.html5 erzeugt und die Attribute auf collapsible:true sowie active:false gesetzt, damit die Eventliste zunächst eingeklappt erscheint.

    Wird die Eventliste nun per Akkordeon geöffnet und eines der angezeigten Events angeklickt, wird die aktuelle Seite verlassen und die entsprechende Seite mit den Eventinformationen geöffnet. Auf dieser erscheint die Eventliste - natürlich - wieder zusammengeklappt.

    Wie kann ich nun erreichen, dass sich das Akkordeon seinen Zustand von Seite zu Seite merkt?

  2. #2
    Contao-Fan Avatar von melzebub
    Registriert seit
    21.05.2010.
    Ort
    Lüneburg
    Beiträge
    292
    User beschenken
    Wunschliste

    Standard

    Ist das innerhalb der selben Domain?
    Contao Webentwickler / Webdesigner aus Lüneburg - slash-works.de
    kein Support per PN. Fragen gehören ins Forum.

  3. #3
    Contao-Nutzer Avatar von Hagord
    Registriert seit
    18.08.2010.
    Ort
    Berlin
    Beiträge
    142

    Standard

    Ja, mit Seiten meine ich wirklich Webpages innerhalb ein und derselben Website, die komplett mit Contao (aktuell 3.0.4) erzeugt werden.

  4. #4
    Contao-Fan Avatar von melzebub
    Registriert seit
    21.05.2010.
    Ort
    Lüneburg
    Beiträge
    292
    User beschenken
    Wunschliste

    Standard

    du kannst in dem Accordion Template angeben, welches beim start geöffnet sein soll. Du musst dann halt alle Links aus dem Event einem get-parameter mitgeben. Den dann im Template auf der neuen Seite auslesen und fertig. Dazu gibt es bereits eine Menge Tutorials. Musst mal ein wenig suchen.
    Hier kriegst du vielleicht auch schon ein paar Anhaltspunkte
    http://www.contao.glen-langer.de/akk...en-lassen.html

    Gruß
    Stefan
    Contao Webentwickler / Webdesigner aus Lüneburg - slash-works.de
    kein Support per PN. Fragen gehören ins Forum.

  5. #5
    Contao-Fan Avatar von melzebub
    Registriert seit
    21.05.2010.
    Ort
    Lüneburg
    Beiträge
    292
    User beschenken
    Wunschliste

    Standard

    Übrigens bist du der Zeit voraus, also werde ich dir selten was neues erzählen können, da du das dann theoretisch schon wissen müsstest . Oder wie kannst du Contao 3.0.4 benutzen?
    Contao Webentwickler / Webdesigner aus Lüneburg - slash-works.de
    kein Support per PN. Fragen gehören ins Forum.

  6. #6
    Contao-Nutzer Avatar von Hagord
    Registriert seit
    18.08.2010.
    Ort
    Berlin
    Beiträge
    142

    Standard

    Hallo Stefan, vielen Dank für deine schnelle Antwort. So weit, wie Du vielleicht denkst, bin ich noch lange nicht - maximal mit dem, was ich mir vorstelle, was es unter Contao geben müsste und wie Dinge unter Contao funktionieren sollten.

    Dein Vorschlag, der aufgerufenen Seite über einen get-Parameter die Nummer des sofort zu öffnenden Akkordeons (0, 1, 2, ...) mitzugeben bzw. alles geschlossen zu lassen (-1), kann ich nachvollziehen. Dazu von jQuery auf MooTools zu wechseln ist auch kein Hindernis. Und die Ergänzung des entsprechenden Templates moo-accordion.html5 zum Einlesen des get-Parameters aid und seiner Anwendung auf das display-Attribut ist auch keine großes Ding.

    Woran es bei mir jetzt scheitert: An welcher Stelle in Contao kann ich angeben, dass z.B. einem Event bei seiner Auflistung in einer Eventliste als Link der o.g. Parameter (?aid=0) dazugegeben wird? - Konnte unter den Bordmitteln jedenfalls nichts entdecken.

    Gruß, Michael

  7. #7
    Contao-Fan Avatar von melzebub
    Registriert seit
    21.05.2010.
    Ort
    Lüneburg
    Beiträge
    292
    User beschenken
    Wunschliste

    Standard

    Tja, im Backend selbst wirst du da nicht viel erreichen können. Schnapp dir das Event Template und raffel dir das zusammen, oder bau ein Modul dass über den getAllEvents Hook die Möglichkeit hinzufügt. Welche Variablen dir im Template zur Verfügung stehen siehst du mit $this->showTemplateVars();

    Gruß
    Contao Webentwickler / Webdesigner aus Lüneburg - slash-works.de
    kein Support per PN. Fragen gehören ins Forum.

  8. #8
    Contao-Nutzer Avatar von Hagord
    Registriert seit
    18.08.2010.
    Ort
    Berlin
    Beiträge
    142

    Standard

    Ich habe mich jetzt soweit vorgearbeitet, dass ich die Datei event_upcoming.html5 als das Template gefunden habe, in dem der get-Parameter einzufügen wäre, genauer in dem abgeänderten Template, z.B. event_upcoming_getparam.html5 (siehe Ende der ersten Zeile):
    PHP-Code:
    <a href="<?php echo $this->href?>?aid=0" 
    title="<?php echo $this->title?> (<?php if ($this->day): echo $this->day?>
    <?php endif; echo $this->date; if ($this->time): ?><?php echo $this->time; endif;?>)"
    <?php echo $this->target?>><?php echo $this->link?>
    </a>
    Danach werde ich im entsprechenden Modul vom Typ Eventliste das neue Template als Event-Template auswählen. Zusammen mit dem modifizierten Template moo_accordion_getparam.html5 sollte dann alles funktionieren.

    Doch das muss jetzt bis morgen Zeit haben. Melde mich mit dem Ergebnis. Nochmals Dank für die Hilfe. Gruß

  9. #9
    Contao-Fan Avatar von melzebub
    Registriert seit
    21.05.2010.
    Ort
    Lüneburg
    Beiträge
    292
    User beschenken
    Wunschliste

    Standard

    Du solltest aber nicht das original Template bearbeiten, sondern dir eine Kopie im Template Ordner anlegen.
    Contao Webentwickler / Webdesigner aus Lüneburg - slash-works.de
    kein Support per PN. Fragen gehören ins Forum.

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
  •