Catalog-Reader-Seite mit chronologischen Sprungmarken

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Hendriks
    Contao-Fan
    • 28.08.2009
    • 275

    #1

    Catalog-Reader-Seite mit chronologischen Sprungmarken

    Hallo!

    Ich würde gerne in einer Catalog-Reader-Seite Sprungmarken zum jeweils vorherigen/nächsten Eintrag realisieren. Wie könnte ich das anstellen/lösen?

    Die "einfachere" Variante wäre, dass ich das nur mittels eines konkreten Parameters, z.B. dem Erstellungsdatum (bei mir z.B. Spalte date_created, Reihenfolge DESC) mache... Die komplexere: dass sich diese Sprungmarken (Links) nach den aktiven Parametern aus den aktuellen Catalog-Filter-Einstellungen richten...

    In der Praxis hat man ja i.d.R. z.B. folgende Aufteilung:

    Eine Seite "Infos" (infos.html) mit Catalog-Liste, Pagination und ggf. Catalog-Filter

    Eine weitere Seite "Info" (info.html) mit dem entsprechenden Catalog-Reader - so dass dann die URL eines Eintrags z.B. info/item/dies-ist-der-alias-eines-eintrags.html lautet...

    Auf letzterer Seite hätte ich nun, wie gesagt, gerne die Möglichkeit, immer zum jeweils vorhergehenden bzw. nächsten Eintrag springen zu können!

    Jemand ne Anregung/Idee dazu, wie sich so etwas am einfachsten / sinnvollsten realisieren lässt?

    Danke.
  • Tim G
    Contao-Urgestein
    • 13.02.2010
    • 2212

    #2
    Erweiterung: readerpaginations

    http://contao.org/de/extension-list/view/readerpaginations.html


    Sent from my iphone using Tapatalk
    Zuletzt geändert von Tim G; 15.10.2012, 07:18.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

    Kommentar

    • Hendriks
      Contao-Fan
      • 28.08.2009
      • 275

      #3
      Hallo Tim G!

      Danke, das sieht gut aus!

      Kommentar

      • Hendriks
        Contao-Fan
        • 28.08.2009
        • 275

        #4
        ...bis darauf, dass ich folgende Fehlermeldung bekomme:

        PHP-Code:
        [15-Oct-2012 11:02:25] PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'language=545 AND category=151 AND published=1' at line 8 (SELECT 
                            *
                        FROM 
                            cat_ld_entries 
                        WHERE id>=1  AND (tstamp>1349042400) AND (tstamp<1351724399) 
                         AND published=1  
                        
                        language=545 AND category=151 AND published=1)' thrown in /Users/Hendriks/Dropbox/MAMP/htdocs/contao-2-11-stable-5/system/libraries/Database.php on line 686 
        
        ...wenn ich in meinem catalog_reader-Modul (am Beispiel) folgende Bedingung eingebe:

        language=545 AND category=151 AND published=1

        Kommentar

        • Flex
          Contao-Urgestein
          • 03.06.2010
          • 2149

          #5
          Code:
          AND published=1   
                           
                          language=545 AND category=151 AND published=1
          Irgendwas stimmt da aber nicht mit den Einstellungen...

          Die Abfrage auf published ist 2 mal drin und zwischen dem ersten publish und language fehlt ein AND.

          Kommentar

          • Hendriks
            Contao-Fan
            • 28.08.2009
            • 275

            #6
            Aha.. stimmt..

            Aber in den catalog-Reader-Einstellungen habe ich lediglich

            language=545 AND category=151 AND published=1

            eingegeben...

            Wo kommt dann der erste Teil (das erste published=1) her?

            Werden da irgendwelche Parameter des verweisenden catalog-Lister-Moduls übernommen!?

            Wohl aus den catalog_Einstellungen... das zugewiesene published-Feld... mach soweit ja auch Sinn!

            Aber auch wenn ich z.B. nur

            AND language=545 AND category=151

            zusätzlich im catalog-Reader eingebe, funktioniert es auch nicht.
            Zuletzt geändert von Hendriks; 15.10.2012, 12:29.

            Kommentar

            • Flex
              Contao-Urgestein
              • 03.06.2010
              • 2149

              #7
              Könntest du da das Query nochmal posten das in der Fehlermeldung auftaucht?

              Kommentar

              • Hendriks
                Contao-Fan
                • 28.08.2009
                • 275

                #8
                mit dem Versuch

                AND language=545 AND category=151

                erhalte ich folgenden Eintrag in der error.log:

                PHP-Code:
                [15-Oct-2012 13:05:13] PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 8 (SELECT 
                                    *
                                FROM 
                                    cat_ld_entries 
                                WHERE id>=1  AND (tstamp>1349042400) AND (tstamp<1351724399) 
                                 AND published=1  
                                
                                AND language=545 AND category=151)' thrown in /Users/Hendriks/Dropbox/MAMP/htdocs/contao-2-11-stable-5/system/libraries/Database.php on line 686 
                
                EDIT: Das erste AND sollte das Script idealer Weise dann doch ohnehin automatisch einfügen, wenn eine Bedingung eingegeben wird, oder!?
                Zuletzt geändert von Hendriks; 15.10.2012, 15:41.

                Kommentar

                • Hendriks
                  Contao-Fan
                  • 28.08.2009
                  • 275

                  #9
                  Zusatz:

                  Wenn ich das Bedingungsfeld leer lasse erhalte ich zwar keinen Error, doch die Ausgabe von rel="prev" und rel="next" stimmt nicht mit den erzeugten Links im pagination-Template überein!

                  rel="prev" ist immer leer, und re="next" stimmt nie überein...

                  Kommentar

                  • Tim G
                    Contao-Urgestein
                    • 13.02.2010
                    • 2212

                    #10
                    Wo gibst du denn in einem Katalog-Leser Modul Bedingungen ein?

                    Versuchst du im mod_catalogreader Template deine Einträge selbst zu fetchn?
                    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

                    Kommentar

                    • Hendriks
                      Contao-Fan
                      • 28.08.2009
                      • 275

                      #11
                      Na die Bedingungen gebe ich (wie vorgesehen) in dem zusätzlichen Feld "Bedingung" in meinem Catalog-Leser-Modul ein.

                      Und in meinem mod_catalogreader_custom-Template habe ich (wie vorgesehen) das Snippet

                      PHP-Code:
                      <?php if($this->addReaderPagination): ?>
                      <?php echo addReaderPagination($this); ?>
                      <?php endif; ?>
                      eingefügt.

                      Also nix mit selbst fetchen.., denke ich...

                      Soweit alles richtig, oder?
                      Zuletzt geändert von Hendriks; 15.10.2012, 17:23.

                      Kommentar

                      • Tim G
                        Contao-Urgestein
                        • 13.02.2010
                        • 2212

                        #12
                        Das Bedingungsfeld gibt es bei mir nur in Katalog-Listen.
                        http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

                        Kommentar

                        • Hendriks
                          Contao-Fan
                          • 28.08.2009
                          • 275

                          #13
                          Hmm?!

                          Klar, standardmäßig gibt es im Catalog-Listen-Modul ein Feld "Bedingung".

                          Aber neu ist bei mir nach Installation von readerpaginations im Katalog-Leser-Modul folgendes hinzugekommen:

                          Legende "Paginations-Einstellungen" mit

                          Anzeigeformat [select]
                          Anzahl an Links [text]
                          Layout-Template [select]
                          Titelfeld [select]
                          Bedingung [textarea]

                          Ist da womöglich irgendwas falsch bei mir gelaufen?

                          Soll es hier gar kein zusätzliches Feld "Bedingung" im Katalog-Leser-Modul geben!?

                          In der tl_module.php der DCA-Anpassungen von readerpaginations steht doch aber auch:

                          PHP-Code:
                          /**
                           * Subpalettes
                           */ 
                          array_insert($GLOBALS['TL_DCA']['tl_module']['subpalettes'],1,array
                          (
                              'addReaderPagination'    => 'readerpagination_format,readerpagination_numberOfLinks,readerpagination_template,readerpagination_customsql',
                          )); 
                          
                          Und das Feld "readerpagination_customsql" am Ende sind doch die besagten Bedingungen - oder etwa nicht?

                          Wie ist denn die Grundidee von readerpaginations? Dass die Bedingungen individuell im Leser-Modul konfiguriert werden, oder werden hier die Bedingungen aus dem Lister-Modul übernommen?? Letzteres wäre natürlich auch deutlich cooler!
                          Zuletzt geändert von Hendriks; 15.10.2012, 18:19.

                          Kommentar

                          • Tim G
                            Contao-Urgestein
                            • 13.02.2010
                            • 2212

                            #14
                            Ich weiss gar nicht mehr warum ich das Bedingungsfeld ergänzt hatte. Das war nen FeatureRequest.
                            Naja, es greift dann eh nur für die neue Pagination.

                            Grundidee ist das Weiterschalten innerhalb von Detail/Readerseiten.


                            Sent from my iphone using Tapatalk
                            http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

                            Kommentar

                            • Hendriks
                              Contao-Fan
                              • 28.08.2009
                              • 275

                              #15
                              Aha.. Na gut.. Aber was heisst das dann jetzt im Klartext? Dass die Funktion die Bedingungs-Parameter des Listen-Moduls, welches auf die Reader-Seite verweist, automatisch für den Array der Pagination übernimmt!? Das wäre ja perfekt..

                              Kannst Du die Funktionsfähigkeit der Erweiterung unter Contao 2.11.5 und der aktuellen Catalog SVN Version bestätigen?
                              Zuletzt geändert von Hendriks; 15.10.2012, 23:37.

                              Kommentar

                              Lädt...