hi,
ich habe mir jetzt einmal eine "neue extension" erstellt. ist bis jetzt noch nicht mehr als eine Datenbank.
Beim erzeugen der DB habe ich einige Felder mit dem Typ "integer 10-1000" konfiguriert.
wenn ich diese Felder im Backend (nicht mit phpmyadmin) bearbeite ( z.B.: einen Wert < 10 eingebe ) und abspeicher dann erhalte ich immer den wert 10.
wenn ich im phpmyadmin einen wert < 10 eingebe wird es ohne weiteres abgespeichert.
kann man bei diesem typ wirklich nur werte zw. 10-1000 abspeichern ?
wie kann ich das umgehen ? ( brauche s
owohl kleiner als auch größere Werte )
danke
Hi!
Schau mal in die Datei tca.php Deiner Extension und suche nach etwas, das etwas folgendermaßen aussieht:
"myint" => Array (
"exclude" => 1,
"config" => Array (
"type" => "input",
"size" => "4",
"max" => "4",
"eval" => "int",
"checkbox" => "0",
"range" => Array (
"upper" => "1000",
"lower" => "10"
),
"default" => 0
)
),
Ich denke, Du weisst was zu tun ist 😉
CU
maxhb
... allerdings ist auch mir nicht klar, warum es diese Beschränkung des Wertebereichs überhaupt gibt.
Weiss das jemand? Ich finde das ziemlich sinnlos, eigentlich...
Diese Werte sind meines Wissens auch nur als Beispiel gedacht. Geändert werden sollen diese 10-1000 dann per Texteditor. Es geht hier nur um die Validierung im Backend für die Werte. Man könnte ja z.B. Prozentzahlen von 1-100 validieren lassen wollen oder 800-2000 Umdrehungen pro Minute für die technischen Daten eines Accuschraubers oder sonst einen bestimmten Wertebereich. Ist halt nur ein Beispiel für ein Feld mit Wertebereichvalidierung.
Oliver Thiele schriebIst halt nur ein Beispiel für ein Feld mit Wertebereichvalidierung.
Naja, dass das nur ein beispiel ist leuchtet natürlich ein, aber gerade für Einsteiger wäre es natürlich sehr wünschenswert, wenn man den Wertebereich im Kickstarter bearbeiten könnte, ähnlich den Feldlängen für Texteingabefelder.
CU
maxhb
Ich hab mir jetzt die Werte im Kickstarter zurechtgehackt:
Datei
typo3conf\ext\kickstarter\sections\class.tx_kickstarter_section_fields.php:
ca. Zeile 296:
$optValues = array(
'' => '',
/// MEHR WERTE ///
'integer' => 'Integer, 0-1000',
und ca. Zeile 887:
case 'integer':
$DBfields[] = $fConf['fieldname'] . ' int(11) DEFAULT \'0\' NOT NULL,';
$configL[]=trim($this->sPS('
\'type\' => \'input\',
\'size\' => \'4\',
\'max\' => \'4\',
\'eval\' => \'int\',
\'checkbox\' => \'0\',
\'range\' => array (
\'upper\' => \'1000\',
\'lower\' => \'0\'
),
\'default\' => 0
'));
Da den Wert \'lower\' auf \'0\' gesetzt. Ich teste noch, ob das reibungslos geht. Ist halt beim nächsten Update weg.