[TYPO3-german] Extension - leere Attribute aber korrekte Uid/Pid
Hey Leute, ich sitze seit längerem an einem Problem fest und komme nicht voran. Ich habe meine erste Extension geschrieben gehabt und bin auch vorgegangen, wie das Kapitel "Creating my first Extension" in der offiziellen Typo3-Dokumentation. So weit so gut. Es hat auch geklappt und die Daten sind richtig ausgegeben worden. Nach ein paar Stunden (sehr unregelmässig) hat die Extension plötzlich keine Daten mehr ausgegeben. Meine Template-Tabelle gibt mir für n Datensätze auch dementsprechend n Zeilen.. leider aber leer. Beim Debugger werden leere Attribute angezeigt aber mit den korrekten Uid/Pid. So zu dem was ich alles probiert habe: - plugin.tx_myext.persistence.storagePid = 10 habe ich sowohl ins TS als auch in die Variablen geschrieben. - Jeden möglichen Cache geleert: dabei ist nix passiert. - Wenn ich die Extension deinstalliert und wieder reinstalliere, zusätzlich die Datenbank lösche und neu initialisiere funktioniert es wieder für ein paar Stunden. - Die findAll() Klasse überschrieben hat auch nicht geholfen Ich kann euch gerne Code-Fetzen zeigen. Ist nix aufregendes. Wie gesagt, bin ziemlich genau so vorgegangen wie die es im Tutorial erklärt haben und habe die Variablen geändert. Ich such und such und such aber komm nicht weiter.. Könnt Ihr mir da weiterhelfen? Gruß ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TYPO3 8.7 LTS fehlende Übersetzungen
Hallo Alex Ich kann das allerdings so bestätigen: - Im Sprachen-Modul die Sprachdateien aktualisiert, es gab keine Fehlermeldung, dort steht bei erneutem Aufruf auch Datum und Uhrzeit von gerade eben - sämtliche Caches geleert (hab ich mir zumindest angewöhnt, wenn ich in eigenen Extensions Sprachlabels ändere) - Aufruf eines Inhaltselements im Backend: Ich sehe die Felder "Frame", "Space Before" und "Space After" mit englischem Label und englischen Werten Es sollte auch nicht an fehlenden Zugriffs-/Schreibrechten im Dateisystem liegen, denn im Installtool sind bei der Dateisystemprüfung ALLE Einträge grün. Und in der Systemkonfiguration gibt es auch keine Fehler. Lieben Gruß, André Am 28.11.2017 um 18:48 schrieb Alexander Opitz: Hi Markus, das klingt eher danach, das Du die aktuellen Sprachdateien nicht herunter geladen hast. Viele Grüße Alex// Markus Soeth wrote: Hallo, mir ist aufgefallen, das an vielen Stellen die deutsche Übersetzung in der 8.7 LTS Version unvollständig ist. Würde mich auch gerne an der Übersetzung beteiligen, aber der Translation Server scheint nur so partiell zu funktionieren. # Habt Ihr ähnliche Probleme z.B. Content Element "Menü" (Subpages; Abstracts, etc) oder untder dem Reiter Erscheinungsbild "Space before", "Frame" Wie habt Ihr das gelöst oder wo könnte man sich beteilligen um das Problem zu beheben. Laut Translation Server soll eigentlich fast der gesamte Core zu 100% Übersetzt sein. https://translation.typo3.org/de/ ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TYPO3 8.7 LTS fehlende Übersetzungen
Hi Markus, das klingt eher danach, das Du die aktuellen Sprachdateien nicht herunter geladen hast. Viele Grüße Alex// Markus Soeth wrote: > Hallo, > mir ist aufgefallen, das an vielen Stellen die deutsche Übersetzung in > der 8.7 LTS Version unvollständig ist. Würde mich auch gerne an der > Übersetzung beteiligen, aber der Translation Server scheint nur so > partiell zu funktionieren. # > > Habt Ihr ähnliche Probleme z.B. Content Element "Menü" (Subpages; > Abstracts, etc) > oder untder dem Reiter Erscheinungsbild "Space before", "Frame" > > Wie habt Ihr das gelöst oder wo könnte man sich beteilligen um das > Problem zu beheben. Laut Translation Server soll eigentlich fast der > gesamte Core zu 100% Übersetzt sein. > https://translation.typo3.org/de/ -- Alexander Opitz TYPO3 CMS Active Contributor PLUSPOL interactive GbR Floßplatz 4 04107 Leipzig Telefon: (0341) 350 585 -41 Telefax: (0341) 350 585 -40 E-Mail:op...@pluspol.info Internet: http://www.pluspol.info Geschäftsführer: Dipl. Medienwirt (FH) Jörg Brückner Dipl.- Ing. (FH) Stefan Dittmar Dipl.- Ing. (FH) Thomas Lange USt-ID-Nr.: DE221591186 Sitz der Gesellschaft und Gerichtsstand ist Leipzig ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
Müsste ungefähr so gehen wie hier: sL('LLL:EXT:lang/locallang_core.xlf:error.invalidEmail'), $value), '', // header is optional FlashMessage::ERROR, true // whether message should be stored in session ); /** @var $flashMessageService FlashMessageService */ $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class); $flashMessageService->getMessageQueueByIdentifier()->enqueue($message); } } viele Grüße Birgit > Am 28.11.2017 um 14:48 schrieb christian ewigfrost > : > > OK, jetzt stehe ich vor weiteren Fragezeichen: wo füge ich den folgenden code > überhaupt ein? > > $message = > \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class, > 'My message text', > 'Message Header', // [optional] the header > \TYPO3\CMS\Core\Messaging\FlashMessage::WARNING, // [optional] the severity > defaults to \TYPO3\CMS\Core\Messaging\FlashMessage::OK > true // [optional] whether the message should be stored in the session or > only in the \TYPO3\CMS\Core\Messaging\FlashMessageQueue object (default is > false) > ); > > Ich verstehe den code, keine Frage, aber ich weiß nicht wie ich das jetzt mit > meiner 'eval' Klasse in der der code steht überhaupt zusammenbringe. > class IPv4Evaluation > { > > /** >* Server-side validation/evaluation on saving the record >* >* @param string $value The field value to be evaluated >* @param string $is_in The "is_in" value of the field configuration from > TCA >* @param bool $set Boolean defining if the value is written to the > database or not. >* @return string Evaluated field value >*/ > public function evaluateFieldValue($value, $is_in, &$set) > { > if (!filter_var($value, FILTER_VALIDATE_IP)){ > $value = 'Fehlerhafte Eingabe (IPv4): .conf wird nicht > angelegt'; > } > > > return $value; > } > } > > Hier hab ich massive Verständnissprobleme und die Doku sagt gar nichts dazu > wo der code überhaupt hingehört. > ___ > TYPO3-german mailing list > TYPO3-german@lists.typo3.org > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
OK, jetzt stehe ich vor weiteren Fragezeichen: wo füge ich den folgenden code überhaupt ein? $message = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class, 'My message text', 'Message Header', // [optional] the header \TYPO3\CMS\Core\Messaging\FlashMessage::WARNING, // [optional] the severity defaults to \TYPO3\CMS\Core\Messaging\FlashMessage::OK true // [optional] whether the message should be stored in the session or only in the \TYPO3\CMS\Core\Messaging\FlashMessageQueue object (default is false) ); Ich verstehe den code, keine Frage, aber ich weiß nicht wie ich das jetzt mit meiner 'eval' Klasse in der der code steht überhaupt zusammenbringe. class IPv4Evaluation { /** * Server-side validation/evaluation on saving the record * * @param string $value The field value to be evaluated * @param string $is_in The "is_in" value of the field configuration from TCA * @param bool $set Boolean defining if the value is written to the database or not. * @return string Evaluated field value */ public function evaluateFieldValue($value, $is_in, &$set) { if (!filter_var($value, FILTER_VALIDATE_IP)){ $value = 'Fehlerhafte Eingabe (IPv4): .conf wird nicht angelegt'; } return $value; } } Hier hab ich massive Verständnissprobleme und die Doku sagt gar nichts dazu wo der code überhaupt hingehört. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
Super, ich denke das ist GENAU das wonach ich gesucht habe. Danke! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
Nachtrag: Dem Backender kannst du aus den Hooks heraus Flash Messages anzeigen: https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/FlashMessages/Index.html > Am 28.11.2017 um 11:56 schrieb Birgit : > > Hallo Christian, > > du kannst eingreifen, bevor die Daten aus dem TCA in der DB gespeichert > werden. > > Ich habe das lange nicht mehr gebraucht, zuletzt in TYPO3 6.2 mit t3lib, aber > hier müsstest du fündig werden: > > \TYPO3\CMS\Core\Database\DatabaseConnection > > https://www.andrerinas.de/tutorials/typo3-alle-aftersave-hooks-im-ueberblick-62-76lts.html > > Viele Grüße > Birgit > > > > >> Am 28.11.2017 um 11:16 schrieb christian ewigfrost >> : >> >> OK, ich nutze jetzt folgene Funktion: >> >> public function evaluateFieldValue($value, $is_in, &$set) >> { >> if (!filter_var($value, FILTER_VALIDATE_IP)){ >> $value = 'XXX.XXX.XXX.XXX (Bitte gültige IPv4 Adresse >> eingeben!)'; >> } >> >> >> return $value; >> } >> >> Allerdings wäre es mir lieber wenn ein falscher Wert eine Speicherung des >> records nicht möglich macht. Ich habe mit dem eval Parameter 'required' >> experimentiert, aber ohne Erfolg. Die Problematik ist dass ich nämlich die >> einzelnen records in einer weiteren Anwendung (Scheduler task) auslese und >> spezielle config Dateien daraus erstelle. Diese dürfen keinen falsche Wert >> im IPv4 Feld haben. >> ___ >> TYPO3-german mailing list >> TYPO3-german@lists.typo3.org >> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german > ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
Hallo Christian, du kannst eingreifen, bevor die Daten aus dem TCA in der DB gespeichert werden. Ich habe das lange nicht mehr gebraucht, zuletzt in TYPO3 6.2 mit t3lib, aber hier müsstest du fündig werden: \TYPO3\CMS\Core\Database\DatabaseConnection https://www.andrerinas.de/tutorials/typo3-alle-aftersave-hooks-im-ueberblick-62-76lts.html Viele Grüße Birgit > Am 28.11.2017 um 11:16 schrieb christian ewigfrost > : > > OK, ich nutze jetzt folgene Funktion: > > public function evaluateFieldValue($value, $is_in, &$set) > { > if (!filter_var($value, FILTER_VALIDATE_IP)){ > $value = 'XXX.XXX.XXX.XXX (Bitte gültige IPv4 Adresse > eingeben!)'; > } > > > return $value; > } > > Allerdings wäre es mir lieber wenn ein falscher Wert eine Speicherung des > records nicht möglich macht. Ich habe mit dem eval Parameter 'required' > experimentiert, aber ohne Erfolg. Die Problematik ist dass ich nämlich die > einzelnen records in einer weiteren Anwendung (Scheduler task) auslese und > spezielle config Dateien daraus erstelle. Diese dürfen keinen falsche Wert im > IPv4 Feld haben. > ___ > TYPO3-german mailing list > TYPO3-german@lists.typo3.org > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
OK, ich nutze jetzt folgene Funktion: public function evaluateFieldValue($value, $is_in, &$set) { if (!filter_var($value, FILTER_VALIDATE_IP)){ $value = 'XXX.XXX.XXX.XXX (Bitte gültige IPv4 Adresse eingeben!)'; } return $value; } Allerdings wäre es mir lieber wenn ein falscher Wert eine Speicherung des records nicht möglich macht. Ich habe mit dem eval Parameter 'required' experimentiert, aber ohne Erfolg. Die Problematik ist dass ich nämlich die einzelnen records in einer weiteren Anwendung (Scheduler task) auslese und spezielle config Dateien daraus erstelle. Diese dürfen keinen falsche Wert im IPv4 Feld haben. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
Quote: Mikel wrote on Tue, 28 November 2017 10:38 > würde bei korrekt implementierter if Abfrage eben einfach die property in 'Falsche Eingabe' ändern statt die eigentliche user Eingabe, aber ich möchte dass im BE beim Abspeichern eine Fehlermeldung erscheint (wie die Warnung wenn man etwa ein record löscht das Relationen besitzt). > Geht sowas? Per Default hast Du drei Methoden zur Verfügung: returnFieldJS --> Dies evaluiert clientseitig. Wenn Du hier Deine eigene JS-Logik zurückgibst, dann kannst Du hier etwas rumscherzen (z.B. mit einem alert()) Der Standard funktioniert allerdings etwas anders. Du könntest beim Neuanlegen eines Datensatzes das vorgegebene Format in das Input schreiben --> XXX.XXX.XXX.XXX Diesen Wert kann Du evaluieren, dass er genau dieses Format erfüllen muss (vier Zeichenketten aus 1-3 ints, jeweils mit Punkt separiert). Wenn das Feld richtig evaluiert wird, dann lass den Wert stehen, andernfalls setze zurück auf das Beispiel --> XXX.XXX.XXX.XXX Du kannst natürlich auch in JS rumwüten. Aber je mehr Du hier machst, desto mehr bewegst Du Dich vom Core weg und bist von Änderungen am JavaScript des Cores abhängig. Mikel Ah danke, werde mich mal in der unten erwähnten Methodik von dir einarbeiten. Mit Javascript hab ich leider keine Erfahrungen, weshalb der erste Ansatz auch mit einem gewissen Lernaufwand verbunden wäre. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
> würde bei korrekt implementierter if Abfrage eben einfach die property in > 'Falsche Eingabe' ändern statt die eigentliche user Eingabe, aber ich möchte > dass im BE beim Abspeichern eine Fehlermeldung erscheint (wie die Warnung > wenn man etwa ein record löscht das Relationen besitzt). > Geht sowas? Per Default hast Du drei Methoden zur Verfügung: returnFieldJS —> Dies evaluiert clientseitig. Wenn Du hier Deine eigene JS-Logik zurückgibst, dann kannst Du hier etwas rumscherzen (z.B. mit einem alert()) Der Standard funktioniert allerdings etwas anders. Du könntest beim Neuanlegen eines Datensatzes das vorgegebene Format in das Input schreiben —> XXX.XXX.XXX.XXX Diesen Wert kann Du evaluieren, dass er genau dieses Format erfüllen muss (vier Zeichenketten aus 1-3 ints, jeweils mit Punkt separiert). Wenn das Feld richtig evaluiert wird, dann lass den Wert stehen, andernfalls setze zurück auf das Beispiel —> XXX.XXX.XXX.XXX Du kannst natürlich auch in JS rumwüten. Aber je mehr Du hier machst, desto mehr bewegst Du Dich vom Core weg und bist von Änderungen am JavaScript des Cores abhängig. Mikel ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden
OK, evtl. missverstehe ich das auch, aber: Die Beispiel Funktion public function evaluateFieldValue($value, $is_in, &$set) { if(...){ $value = 'Falsche Eingabe'; } return $value; } würde bei korrekt implementierter if Abfrage eben einfach die property in 'Falsche Eingabe' ändern statt die eigentliche user Eingabe, aber ich möchte dass im BE beim Abspeichern eine Fehlermeldung erscheint (wie die Warnung wenn man etwa ein record löscht das Relationen besitzt). Geht sowas? ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] [Typo3 7.6.x] ke_search und MASK
Hallo, über das Modul. Den Mask-Exporter habe ich noch nicht verwendet - gibt es da einen Unterschied oder Vorteil was die Indexierung angeht? Grundsätzlich kannst du einen eigenen Indexer schreiben, der nicht-tt_content-Tabellen indexiert. Es ist bei der KE-Search eine Extension dafür angegeben. Die Extension habe ich mir angeschaut jedoch weiß ich nicht wo man da genau Dinge ändern müsste damit das funktioniert. ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german