Ankündigung

Einklappen
Keine Ankündigung bisher.

Freier Alias - auch mit Tag-Werten und Mehrsprachig?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Freier Alias - auch mit Tag-Werten und Mehrsprachig?

    Moin Kollegen,

    ich möchte die in CC erzeugten Aliasnamen etwas freier gestalten und stosse auf 2 Schwierigkeiten.
    Zum Einen möchte ich in den Alias einen Wert aus einem Tag-Feld mit aufnehmen (keine Mehrfachauswahl erlaubt). Gibt es da evtl. eine Möglichkeit das mit Bordmitteln zu realisieren?
    Und zum Anderen würde ich gerne einen Freitext anfügen (was ja grundsätzlich kein Problem ist), der die Mehrsprachigkeit der Datensätze berücksichtigt.

    Ich weiß, dass ich letzteres wohl auch über eine Krücke mit einem zusätzlichen Feld im IE hinbekomme aber schöner wäre es, wenn ich die Regel beim Freien Alias Feld gleich direkt schreiben könnte, ähnlich wie man es z.B. im Template mit den iflng Inserttags machen könnte.

    Machbar? Danke und VG!


  • #2
    Hi,
    mach dir da einen schönen save_callback für das Alias-Feld und befülle es nach deinen Wünschen.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ja, das hatte ich auch schon überlegt aber erstmal verworfen, weil es mir dann doch keine individuelle Anpassung mehr ermöglicht oder?

      Nur, dass ich das richtig verstanden habe ... die Regel für die Erstellung des Alias im Inhaltselement bei "Freier Alias" bewirkt doch, dass der Alias bei neuen Datensätzen dann entsprechend 1x so generiert wird und dann nichts mehr verändert wird. Nur falls man im Datensatz das Alias-Feld komplett leert und speichert, dann wird es wieder entsprechend der dortigen Definition neu erzeugt. Dadurch kann man das Aliasfeld im Datensatz selbst nochmal wunderbar verändern und es bleibt auch bei weiteren Speicheraktionen im Datensatz erhalten.
      Korrekt soweit?

      Wenn ich nun einen save_callback einsetze, wird der Inhalt des Alias-Feldes doch bei jedem Speichern neu gebaut. Nach den Regeln aus dem Callback... Das würde ich eigentlich nicht so gerne haben, denn dann kann ich nix mehr selbst hinzufügen.

      Fragend am Morgen ...

      Kommentar


      • #4
        Richtig. Der Alias wird generiert, wenn das Feld leer ist. (Standard)

        Der save_callback wird immer ausgeführt. Wie du darauf reagierst, macht den Unterschied.
        In der Regel prüft man, ob ein Wert gesetzt ist (oder eine eigene Regel) und setzt ggf. einen neuen Wert oder übernimmt den gegebenen. (1. Parameter)
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Ja, ich weiß schon, dass man dort ggf. prüft ob da schon was drin steht aber der Callback wird doch NACH dem eigentlichen Standard-Speichern ausgeführt oder? Dann ist das Feld ja bereits gefüllt und ich dachte dann brauchste auch nicht mehr auf Existenz zu prüfen ...
          Aber wo wir jetzt so sprechen ... bei "Freier Alias" könnte ich ja eine Art Flagge schreiben und dann den Callback nur machen wenn diese Flagge da ist, denn nur dann habe ich den initialen Schreibvorgang. Das probiere ich nachher mal, danke!

          Kommentar


          • #6
            Think simple! Du kannst z.B. via dcaconfig oder mit einer eigenen Erweiterung sämtliche save_callbacks von dem Feld einfach vorher killen und/oder dann nur deine Routine einsetzen.

            dcaconfig.php
            HTML-Code:
            // Array wird neu gesetzt, nicht ergaenzt
            $GLOBALS['TL_DCA']['MEINE-TABELLE']['fields']['MEIN-ALIAS']['save_callback'] = array('MEINE-KLASSE','MEINE-ROUTINE');
            http://www.premium-contao-themes.com

            Kommentar

            Lädt...
            X