[Frage] Werte werden nach Neuanlage eines Datensatz überschrieben TYPO3-Version: 9.5.13

  • Cooter Cooter
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    24. 01. 2020, 16:22

    Hallo zusammen!
    Ich habe da ein Phaänomen in einer Extension, die ich mit dem Extension-Builder neu aufgesetzt habe.

    Im Prinzip habe ich eine einfache Tabelle und möchte sie im Backend mit Daten füllen... keine große Sache. Das ging zu Beginn auch gut. Nun wollte ich am Tag darauf weitere Datensätze anlegen. Beim ersten neuen Datensatz wurde dieser auch korrekt in die Tabelle geschrieben, jedoch bei ALLEN ANDEREN Datensätzen wurde das Sortierfeld mit der Zahl 512 überschrieben. In der Datenbank ist es ein normales VARCHAR(255) Feld und im Backend auch nur ein einfaches Textfeld.

    Ich weiß leider so gar nicht wo ich hier noch ansetzen soll und vor allem .. wo die 512 herkommt????

    Bin gespannt auf Euere Antworten.
    Verzweifelte Grüße
    Rainer


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2940 Beiträge
    115 Hilfreiche Beiträge
    27. 01. 2020, 10:59

    Hallo Rainer.

    Die 'sorting'-Spalte wird eigentlich von TYPO3 selbst verwaltet, sofern sie im TCA unter ['ctrl']['sortby'] angegeben ist.
    Um zwischen Datensätzen Platz für neue/verschobene Datensätze zu haben, nummeriert TYPO3 in der Spalte nicht einfach mit n+1 durch, sondern lässt Platz und nummeriert mit n+256 durch.

    \TYPO3\CMS\Core\DataHandling\DataHandler
    [code]/**
    * The interval between sorting numbers used with tables with a 'sorting' field defined.
    *
    * Min 1, should be power of 2
    *
    * @var int
    */
    public $sortIntervals = 256;[/code]

    Das erklärt zumindest die 512.

    Warum 512 für *alle* Datensätze gesetzt wird, kann ich mir hingegen nicht erklären.

    Viele Grüße
    Julian

  • 1