Ergebnis 1 bis 6 von 6

Thema: [mod_articlefilter] Version 3.0.0 inkl. Mehrsprachigkeit

  1. #1
    Contao-Nutzer Avatar von sgei
    Registriert seit
    12.12.2011.
    Beiträge
    98

    Multimedia [mod_articlefilter] Version 3.0.0 inkl. Mehrsprachigkeit

    Hallo liebe Gemeinde,

    ich möchte hier eine modifizierte Version des Artikelfilters mod_articlefilter vorstellen, die diverse Probleme der Originalversion behebt und MEHRSPACHIGKEIT unterstüzt.


    Achtung! Es gibt eine Einschränkung:

    Die Erweiterung funktioniert so nur wenn ihr mit eurer Contao-Installation nur eine Domain betreibt!!! Das sollte aber in den meisten Fällen so sein...

    Probleme der Originalversion mod_articlefilter 3.0.0:


    • die Ergebnisliste zeigt alle Artikel an, die Filterkriterien besitzen (unabhängig von der Sprache der Seiten)
    • der Filter selbst berücksichtigt hingegen nur Artikel, die mittels der Contao Funktion getRootIdFromUrl() zur "RootPage" gehören
      -> dies schein gemacht zu werden, da sonst die Multi-Domain-Fähigkeit nicht funktioniert
      -> der Filter berücksichtigt also nur Artikel der Hauptsprache, also DE
    • der auomatisch generierte "Back-Link" nach dem Anklicken eines Suchergebnisses wird falsch generiert und führt zu einer nicht existierenden Seite
    • die Beschriftung (das Label) des Such-Buttons " treffer anzeigen" ist hart im js-File articlefilter.js codiert und somit nur deutsch
    • der Filter Artikel-Links hat auch nur Artikel der RootPage (getRootIdFromUrl() ) berücksichtigt


    Wir haben uns mal der Sache angenommen und eine für uns akzeptable Lösung gebastelt (Thanks an A. Schäfer).

    NEU:

    1. die Erweiterung ist jetzt mehrsprachig nutzbar
    2. für das Label des Such-Buttons gibt es unter /languages/DE od. EN/default.php eine neue Sprachvariable "lblSubmitResults"
      -> dazu wurde die JS-Datei articlefilter.js und das PHP-Modul ModuleArticleFilter.php entsprechend angepasst
    3. die Module ArticleFilter.php und ModuleFilterLinks.php wurden angepasst, sodass eine Sprachabfrage für die Filter und die Ergebnisse stattfindet
    4. der generierte Ergebnislink wurde abgeändert, damit ist auch der automatisch generierte Back-Link nach dem Anklicken eines Suchergebnisses weg


    Installation:

    1. macht euch ein Backup eurer Installation / DB
    2. Installation der Original-Erweiterung Version 3.0.0 über die Extension Repository von Contao
    3. entpackt die ängehängte ZIP-Datei
    4. kopiert den Ordner mod_articlefilter aus dem entpackten Ordner per FTP in das Verzeichnis /system/modules/
      -> dabei werden die "alten" Dateien automatisch durch die modifizierten überschrieben
    5. Einrichten und Konfiguration der Erweiterung wie gehabt


    Ach ja, alle Änderungen sind sauber in den Modulen dokumentiert. Wer noch Contao 2 einsetzt kann sicher leicht die Änderungen in seine installierte Erweiterung einbauen.


    Viel Spaß beim Testen...

    Download:

    mod_articlefilter_de_01.jpg
    mod_articlefilter_de_02.jpg
    mod_articlefilter_en_01.jpg
    mod_articlefilter_de_03.jpg
    mod_articlefilter_en_02.jpg
    mod_articlefilter_en_03.jpg
    mod_articlefilter_mehrsprachig.zip

    Steffen
    Geändert von sgei (13.02.2014 um 11:44 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    09.02.2010.
    Ort
    Schweden
    Beiträge
    22

    Standard Fatal error: Cannot redeclare class

    Fatal error: Cannot redeclare class tl_article_af in /storage/content/29/user/domain.se/public_html/system/modules/mod_articlefilter_/dca/tl_article.php on line 40

    Zunächst habe ich die Erweiterung mod_articlefilter erfolgreich installiert und einige Beispielseigen angelegt. Nachdem mir bewusst wurde das diese Erweiterung nicht meine Seite in schwedisch voll unterstützt, habe ich hier im Forum nach einer Erklärung gesucht und bin auf dir fündig geworden. Wahrscheinlich mache ich irgendetwas falsch, weil leider weder die englische noch die von ir duplizierte (und angepasste) schwedische version funktioniert. OK - dachte ich - vielleicht muss ich die "alte", ursprüngliche Erweiterung nur deinstallieren und dann nochmals neu draufspielen. Gesagt getan - jetzt bekomme ich oben genannte Fehlermeldung. Irgendjemand der mir weiterhelfen kann? Die Fehlermeldung verschwindet und die Seite funktioniert wieder, sobald die Erweiterung deinstalliert ist …

    vielen dank im voraus. //ralp


    update:

    Fatal error: Cannot redeclare class tl_article_af in /storage/content/29/user/domain.se/public_html/system/cache/dca/tl_article.php on line 1117

    Nachdem ich den internen cache erneuert habe (was immer das auch bedeuten mag …)
    Geändert von ralp (21.04.2014 um 15:35 Uhr)

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Meiner Meinung nach recht unglücklich programmiert, in einer dca für tl_article eine Klasse tl_article_af zu definieren.
    Durch das Caching und der nicht Übereinstimmung zw. Klasse und Dateiname bzw. der nicht Auslagerung und extra Registrierung wird diese nun zweimal geladen, was natürlich falsch ist bzw. nicht erlaubt.

    Eine Möglichkeit schnell zu Ziel zu kommen ist das interne Caching abzuschalten.
    Besser wäre es jedoch das als Bug zu melden. Leider gibt der Ersteller im ER nicht an wo das zu tun wäre.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Contao-Nutzer Avatar von siebenvier
    Registriert seit
    26.08.2010.
    Ort
    Potsdam
    Beiträge
    80

    Standard

    Der Begriff "Mehrsprachigkeit" kann bei der Erweiterung ja nur begrenzt verwendet werden.
    Das trifft ja lediglich auf die Begrifflichkeiten in Front- und Backendtemplates zu.
    In der Datenbank fehlt leider eine Möglichkeit, die Filterbegrifflichkeiten pro Sprache zu speichern.
    Somit bleibt mir nur der Weg bei der Nutzung mehrerer Sprachbäume,
    für jede Sprache die Filtergruppen zu duplizieren und der jeweiligen Sprache anzupassen,
    was bei einer Nutzung von bis zu 5 Sprachen leider etwas zu komplex und aufwendig wird.

    Kann man da auf ein zukünftiges "Filterbegriffe-Sprach-Feature-Update" hoffen? ;-)
    Vergessen du musst, was früher du gelernt!

  5. #5
    Contao-Nutzer Avatar von siebenvier
    Registriert seit
    26.08.2010.
    Ort
    Potsdam
    Beiträge
    80

    Standard

    Zitat Zitat von sgei Beitrag anzeigen


    Probleme der Originalversion mod_articlefilter 3.0.0:


    • die Ergebnisliste zeigt alle Artikel an, die Filterkriterien besitzen (unabhängig von der Sprache der Seiten)
    • der Filter selbst berücksichtigt hingegen nur Artikel, die mittels der Contao Funktion getRootIdFromUrl() zur "RootPage" gehören
      -> dies schein gemacht zu werden, da sonst die Multi-Domain-Fähigkeit nicht funktioniert
      -> der Filter berücksichtigt also nur Artikel der Hauptsprache, also DE


    Wie kann man das Problem mit der Anzeige aller Artikel lösen?

    Ich würde gern pro Srachbaum je ein Listen- und eine Ergebnismodul einsetzen,
    welche nur die zugewiesenen Filterkriterien berücksichtigen.
    Das mit der Liste klappt, nur eben die Anzeige in articlefilter_results.html5 nicht.
    Vergessen du musst, was früher du gelernt!

  6. #6
    Contao-Nutzer Avatar von siebenvier
    Registriert seit
    26.08.2010.
    Ort
    Potsdam
    Beiträge
    80

    Standard

    Zitat Zitat von siebenvier Beitrag anzeigen
    Wie kann man das Problem mit der Anzeige aller Artikel lösen?
    Okay, nicht schön aber (m)eine schnelle Lösung(en) für Webmaster in Not:

    [1]
    In der Datei ModuleFilterResults.php:

    Wert für Ergebnisliste ändern:
    $objFilter->showAll = true;

    auf false setzen:
    $objFilter->showAll = false;

    Das führt dazu, dass nur dann Ergebnisse angezeigt werden, wenn ein Filter ausgewählt wurde.

    oder

    [2]
    In der Datei ArticleFilter.php:

    Variable für Filter ändern:
    protected $hasFilter = false;

    auf true setzen:
    protected $hasFilter = true;

    Das führt dazu, dass wirklich nur die Artikel (mit aktiviertem Artikelfilter) aus dem gewählten Sprachbaum angezeigt werden.

    Getestet mit Contao 3.2.9 und [mod_articlefilter] (3.0.0 stable).
    Geändert von siebenvier (14.05.2014 um 14:15 Uhr)
    Vergessen du musst, was früher du gelernt!

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
  •