Ergebnis 1 bis 13 von 13

Thema: Filter-Klassennamen Ausgabe ändern

  1. #1
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard Filter-Klassennamen Ausgabe ändern

    Hallo zusammen

    Es geht um folgende Baustelle: Link

    Die Grundidee: voneinander abhängige Filter (Einzelauswahl/<select>), die per Javascript ein-/ausgeblendet werden, je nach dem, welche <option> im ersten <select> gewählt wurde.
    Grundsätzlich würde das auch funktionieren, aber nur solange der Wert <value> innerhalb der <option> CSS-konform geschrieben ist. Also ohne Leerschläge oder Sonderzeichen.
    value="Obermühleweg, Obermühle" geht dann nicht, weil das hier ja nicht geht: class="Obermühleweg, Obermühle".

    (Beispiel wie es gehen würde: http://jsfiddle.net/3UWk2/3/)

    Sprich, ich müsste also
    1. die values der Optionen und
    2. die Klassennamen der Filter
    anpassen können.
    Wüsste jemand wo/wie?
    Standardmässig scheint der Spaltenname des MM-Attributs als filter[class] genommen zu werden.

    Beste Grüsse
    Nick

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    * ein weiteren Alias bauen und
    * in den Filter als value rein setzen z.B.
    ** Attribut Einzelauswahl und statt auf Fremdtabelle auf sich selbst
    ** oder fragst im Filter den Alias ab und baust das Widget selbst zusammen (ggf. + Filterregel "Eig. SQL")

    ... wenn Du den Filter per JS hast, kannst Du auch einzelne FE-Filter einsetzen und die nur anzeigen (PHP), wenn bestimmter GET gesetzt

  3. #3
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    ** Attribut Einzelauswahl und statt auf Fremdtabelle auf sich selbst
    Das verstehe ich nicht ganz. Meinst Du "auf sich selbst", den alias-Parameter ins Feld URL-Parameter setzen?
    alias_class_name.JPG
    filter_select_alias_class_name.JPG

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 4lmnts Beitrag anzeigen
    Das verstehe ich nicht ganz. Meinst Du "auf sich selbst", den alias-Parameter ins Feld URL-Parameter setzen?
    1.) neues/weiteres Alias Attribut erstellen in dem z.B. "obermuehleweg-obermuehle" steht
    2.) neues Attribut Einfachauswahl [select] mit Quell-Tabelle "die in der Du gerade bist" - also auf sich selbst und Alias dein neues Alias-Feld und Name Dein Attribut mit "Obermühleweg, Obermühle"
    3.) Filterregel Einfachauswahl auf das Attribut aus 2.

    => dann hast Du <option value="obermuehleweg-obermuehle">Obermühleweg, Obermühle</option> und nicht mehr <option value="Obermühleweg, Obermühle">Obermühleweg, Obermühle</option>

  5. #5
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    @zonky:

    So jetzt habe ich nach langem Ausprobieren nicht nur verstanden, was ich machen soll, sondern auch wo
    Ich muss noch ein weniger weiter Probieren, aber das ist wieder mal eine schlaue zonky-Lösung! Danke vorerst!

    lg Nick

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 4lmnts Beitrag anzeigen
    Ich muss noch ein weniger weiter Probieren, aber das ist wieder mal eine schlaue zonky-Lösung!
    klingt fast als ob ironisch gemeint... ;-)

    Du möchtest doch sowas i.E.

    PHP-Code:
    <select size="1" id="Rank" title="" name="Rank">
        <
    option value="">-Select Your Rank-</option>
        <
    option value="obermuehleweg-obermuehle">ObermühlewegObermühle</option>
        <
    option value="untermuehleweg-untermuehle">UntermühlewegUntermühle</option>
    </
    select>

    <
    div class="container">
        <
    div class="obermuehleweg-obermuehle">
            <
    select class="second-level-select">
                <
    option value="">-Select Your Rank-</option>
                <
    option value="basic-ore-1">Basic Ore Miner Level 1</option>
                <
    option value="basic-ore-2">Basic Ore Miner Level 2</option>
            </
    select>
        </
    div>
        <
    div class="untermuehleweg-untermuehle">
            <
    select class="second-level-select">
                <
    option value="">-Select Your Rank-</option>
                <
    option value="omber-miner-1">Omber Miner Level 1</option>
                <
    option value="omber-miner-2">Omber Miner Level 2</option>
            </
    select>
        </
    div>
    </
    div
    hast aber z.Z. "obermuehleweg-obermuehle" nicht als value...

    1 und 2 sind Attributeinstellungen und 3 Filter

  7. #7
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    @zonky:
    Nein nein, war gar nicht ironisch gemeint!
    Ich weiss nicht, ob Du noch eine alte Variante in deinem Cache hattest, aber momentan sieht es gut aus. Z.B.:
    HTML-Code:
    <option value="kymenhof-chymenhof">Kymenhof, Chymenhof</option>
    Es kommt gut. Lass mich noch weiter rumbasteln
    Ich gebe Bescheid, wenn ich die Lösung habe (dann poste ich auch ein Tutorial) oder melde mich, falls Probleme auftauchen.

    Lg Nick

  8. #8
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    Ich habe erreicht, was ich wollte. Ein Tutorial ist auch schon unterwegs. Aber ich habe noch zwei Fragen, die die Lösung noch verbessern könnten:

    2 Stolperfallen / Verständnisprobleme:

    1. Der Alias wird nun zwar automatisch aus dem Text-Attribut generiert, aber erst, wenn man den Datensatz manuell nochmal speichert. Könnte man das irgendwie für alle Datensätze automatisieren?
      08-datensatz-bearbeiten.JPG
      Wenn man den Datensatz öffnet, sehen die values so aus.
      Dann nach Speichern so:
      09-datensatz-bearbeiten.JPG
      Und so ist es eigentlich verdrahtet:
      06-alias-fuer-kategorie.JPG
    2. Der Wert der Auswahl [select] ist zwar mit dem Text-Attribut verbunden, wird aber nicht immer automatisch richtig zugewiesen. Oft stimmt es einfach nicht:
      automatische-verknuepfung-select-mit-text2.JPG
      automatische-verknuepfung-select-mit-text.JPG
      Aber ich glaube, das ist auch irgendwie logisch, dass das nicht gehen kann. Wenn ein neuer Datensatz erstellt ist, ist ja das textfeld Hauptstichwort sowieso leer (also weiss das System gar nicht, was es zuweisen soll) und bei einem bestehenden Datensatz wurde ggf. schon vorher was zugewiesen... oder?
      Wobei (!) ja vorher schon der Value im Textfeld eines jeden Datensatzes definiert wurde und jetzt nachträglich ein select-feld mit Verknüpfung zum textfeld erstellt wurde... insofern müsste das System eigentlich schon die Verbindung begreifen... oder?

  9. #9
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    zu 1.) siehe Thread "Bugliste" oder News - Alias bei create schreiben sollte gefixt sein...

    zu 2.) hier verstehe ich die Sache noch nicht ganz... wie kann den was Du bei Haupt-Stichwort eingibst mit dem Select "verbunden" sein..??

    Edit: ahh... ich glaube, ich verstehe - Dein "Option-Value-Select" ist die Selbstreferenzierung... - richtig?
    ich würde das Select auf Readonly setzen und beim Speichern einen Event einsetzen, der die neue ID des Datensatzes in die Spalte "option_value_select" schreibt - das ist ja 1:1

  10. #10
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    @zonky:

    Das mit dem readonly habe ich verstanden (Einstellung in der Eingabemaske fürs select-attribut)
    select-attribut-eingabemaske-readonly.JPG

    Aber das verstehe ich nicht, wo:
    und beim Speichern einen Event einsetzen, der die neue ID des Datensatzes in die Spalte "option_value_select" schreibt
    Meinst Du in der Werte-Spalte?
    select-attribut-werte-spalte-ID.JPG

    Das meinst Du wahrscheinlich nicht...

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    nein, meine ich nicht... Dein Datensatz sollte dann doch so aussehen

    id,...,name,alias,...,option_value_select
    42,..,Obermühle,obermuehle,...,42

    d.H. in Deiner Spalte option_value_select muss immer die selbe ID wie bei id stehen - das ist ja der Trick bei der "Selbstreferenzierung"... nur ist beim Anlegen die ID noch nicht bekannt, sondern erst nach dem Abspeichern - daher einen postpersist-Event

  12. #12
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    .... mhhh, ja, theoretisch verstanden, aber praktisch wo kann man das einstellen???

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    siehe https://community.contao.org/de/show...l=1#post475497

    mit "Einstellen" nicht - muss man sich mit der MM/DCG-API programmieren...

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
  •