lokalisierte Fehlermeldungen im Controller an Fluid übergeben

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    24. 10. 2011, 16:34

    Hallo,

    gibt es eine (einfache) Möglichkeit im Controller auf alle lokalisierten Texte (aus der locallang.xml) zuzugreifen und diese an den View zu übergeben?
    Hintergrund: Ich habe so einige Fehlermeldungen in der XML-Datei, die für die Validierung mit PHP herangezogen werden. Diese Fehlermeldungen sollen auch für JavaScript benutzt, aber nicht doppelt vorgehalten werden.

    Danke und Gruß


  • 1
  • freshman17 freshman1...
    Sternenflotten-Admiral
    0 x
    218 Beiträge
    2 Hilfreiche Beiträge
    24. 10. 2011, 16:48

    Anwendung:

    1. Tx_Extbase_Utility_Localization::translate($key, $extensionName, $arguments);

    Signatur:
    1. /**
    2.  * Returns the localized label of the LOCAL_LANG key, $key.
    3.  *
    4.  * @param string $key The key from the LOCAL_LANG array for which to return the value.
    5.  * @param string $extensionName The name of the extension
    6.  * @param array $arguments the arguments of the extension, being passed over to vsprintf
    7.  * @return string The value from LOCAL_LANG or NULL if no translation was found.
    8.  * @author Christopher Hlubek <hlubek@networkteam.com>
    9.  * @author Bastian Waidelich <bastian@typo3.org>
    10.  * @author Sebastian Kurfuerst <sebastian@typo3.org>
    11.  * @api
    12.  * @todo: If vsprintf gets a malformed string, it returns FALSE! Should we throw an exception there?
    13.  */
    14. static public function translate($key, $extensionName, $arguments = NULL);

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    24. 10. 2011, 17:11

    Sorry, ich habe mich dann wohl ungenau ausgedrückt.

    Ich hätte gerne [b]alle[/b] Texte aus der xml, Bonus wäre, wenn ich nur die bekomme, die mit "validator." beginnen, aber das Filtern ist dann das geringere Problem. Wie ich translate benutze ist mir durchaus bekannt und meine erste Idee war auch, durch ein Array mit den gewünschten Keys zu iterieren und dann jeden Text einzeln zu holen. Dachte nur es geht irgendwie generischer.

  • freshman17 freshman1...
    Sternenflotten-Admiral
    0 x
    218 Beiträge
    2 Hilfreiche Beiträge
    24. 10. 2011, 17:27

    Wenn es allgemein um XML-Dateien geht, dann sind DOMDocument und DOMXPath deine Freunde. Mit XPATH kannst du Queries innerhalb von XML machen.. hat aber mit extbase nichts zu tun ;)

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    24. 10. 2011, 17:48

    Daran hab ich auch schon gedacht, aber wie Du schon schreibst
    [quote="freshman17"]hat aber mit extbase nichts zu tun ;)[/quote]
    ;)

  • freshman17 freshman1...
    Sternenflotten-Admiral
    0 x
    218 Beiträge
    2 Hilfreiche Beiträge
    24. 10. 2011, 23:37

    Verpacke es als Service oder Utility und stelle so die Beziehung zum Framework her :D

    Oder noch besser, schreibe eine Tx_MyExt_Persistence_XML_Repository die Tx_Extbase_Persistence_RepositoryInterface implementiert und dazu noch eine Tx_MyExt_Persistence_XML_Query. Falls es sauber geschrieben ist, einreichen und vielleicht wird es in extbase mit aufgenommen.

  • 1