[TYPO3-german] Extension - leere Attribute aber korrekte Uid/Pid

2017-11-28 Diskussionsfäden Max Hapen

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

2017-11-28 Diskussionsfäden André Spindler

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

2017-11-28 Diskussionsfäden 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/


-- 
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

2017-11-28 Diskussionsfäden Birgit
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

2017-11-28 Diskussionsfäden 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

Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden

2017-11-28 Diskussionsfäden christian ewigfrost

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

2017-11-28 Diskussionsfäden Birgit
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

2017-11-28 Diskussionsfäden 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

2017-11-28 Diskussionsfäden 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

Re: [TYPO3-german] Extension: Eine der properties soll eine ipv4 sein... Andere Eingaben müssen abgefangen werden

2017-11-28 Diskussionsfäden christian ewigfrost

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

2017-11-28 Diskussionsfäden Mikel
> 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

2017-11-28 Diskussionsfäden christian ewigfrost

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

2017-11-28 Diskussionsfäden Dave Zen

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