TYPO3 8.7随机排序内容

TYPO3 8.7随机排序内容,typo3,typo3-8.x,Typo3,Typo3 8.x,我们有一个typo3实例(8.7),有时会发生这样的情况,即上百个站点以错误的方式使用了内容元素。这绝对不是由系统用户完成的 我们公司有很多typo3项目,这里最大的区别是我们自己开发的扩展,您可以在其中创建记录,记录可以包含tt\U内容元素 “字段”的TCA: tt_content元素的pid用钩子设置 主要的问题是,我无法重现这种行为,而且这种情况也不经常发生 TYPO3如何组织(内容)记录的排序? TYPO3通常使用名为排序的字段。这些值不是连续的,因此并非所有记录都需要更新以插入或删除单

我们有一个typo3实例(8.7),有时会发生这样的情况,即上百个站点以错误的方式使用了内容元素。这绝对不是由系统用户完成的

我们公司有很多typo3项目,这里最大的区别是我们自己开发的扩展,您可以在其中创建记录,记录可以包含
tt\U内容
元素

字段
”的TCA:

tt_content
元素的pid用钩子设置


主要的问题是,我无法重现这种行为,而且这种情况也不经常发生

TYPO3如何组织(内容)记录的排序?

TYPO3通常使用名为
排序的字段。这些值不是连续的,因此并非所有记录都需要更新以插入或删除单个记录。只有在发生碰撞时,才会对值重新编号

对于tt_内容,您有一个特殊的处理方法:由于内容是按列组织的(由字段
colPos
标识),因此每列的排序是独立的。
通过这种方式,您可以为每个
colPos
拥有多个
排序链


在您的定义中,插入的tt\U内容记录没有
colPos
可能在对记录进行排序时会导致混乱,并且重写所有
排序
-值时不考虑
colPos
字段



如果您的记录中出现的顺序由另一个字段(例如标题)给出,则可以发现类似的混乱。如果定义了
sortby=title
,记录将按此顺序显示,直到TYPO3认为必须对
排序
字段重新编号。这将导致数字覆盖标题。(**不要使用
sortby=
,但要使用
orderBy=

我唯一能指出的是:“排序”字段通常由TYPO3本身管理(它设置在tt_content TCA中的
ctrl/sortby
)。因此,每当有人决定编辑/移动/删除/添加tt_内容记录时,排序字段可能会在某些条件下更新。在这种关系中使用不同的字段进行排序可能值得一试。问题是,他甚至不尊重pid。或事件列(添加该列以在tt_内容和事件之间建立关系)。但正如我所说,它并不总是这样,所以我不能真正地复制它,比如用xdebug调试它。你可以尝试用移动记录来触发重新编号。当然,您应该进行数据备份(或在备份中工作)。我怀疑在一个触发事件中,诉诸于一个以上的页面。
        'content' => [
        'exclude' => 0,
        'label' => 'Content',
        'config' => [
            'type' => 'inline',
            'foreign_table' => 'tt_content',
            'foreign_sortby' => 'sorting',
            'foreign_field' => 'event',
            'foreign_record_defaults' => [
            ],
            'maxitems' => 9999,
            'appearance' => [
                'collapse' => 1,
                'levelLinksPosition' => 'top',
                'showSynchronizationLink' => 1,
                'showPossibleLocalizationRecords' => 1,
                'showAllLocalizationLink' => 1,
                'useSortable' => 1,
                'enabledControls' => [
                    'dragdrop' => 1
                ],
            ],
        ],
    ],