TYPO3内联元素排序无法正常工作

TYPO3内联元素排序无法正常工作,typo3,typo3-8.7.x,typo3-tca,Typo3,Typo3 8.7.x,Typo3 Tca,在这篇文章之后,我能够实现我想要的。现在的问题是,当我把一个孩子拉上拉下时,排序的功能就不起作用了 图像: 现在,当我将孩子们移动到不同的位置时(使用箭头或汉堡菜单标志),新的订单将保存在后端,但在前端,订单不会更改。我认为这与数据库有关,但现在我不知道该怎么办 编辑: 在我的数据库中,我有列排序,每一项都是不同的。如何使用此列对元素进行排序 代码示例: <f:for each="{myContent}" as="content"> <f:format.html&

在这篇文章之后,我能够实现我想要的。现在的问题是,当我把一个孩子拉上拉下时,排序的功能就不起作用了

图像:

现在,当我将孩子们移动到不同的位置时(使用箭头或汉堡菜单标志),新的订单将保存在后端,但在前端,订单不会更改。我认为这与数据库有关,但现在我不知道该怎么办

编辑: 在我的数据库中,我有列排序,每一项都是不同的。如何使用此列对元素进行排序

代码示例:

<f:for each="{myContent}" as="content">
      <f:format.html>{content.data.content_text}</f:format.html>
</f:for>

{content.data.content_text}
有什么想法吗


提前感谢,

在获取内联元素时,需要考虑排序列。这将主要发生在DB请求中,该请求可能在域控制器中完成。也许你需要重新定义一些方法

如果使用TYPO3的内置功能,则需要相应地配置关系。

通过查看,我找到了值
foreign\u sortby
,您在其中声明排序字段。也许您只是使用默认字段
排序

我终于找到了问题。因为我没有域模型,所以我使用DataProcessing来获取我的对象。所以,我所要做的就是添加一行
orderBy=sorting
。代码如下所示:

myElement < lib.contentElement
myElement {
    templateRootPaths.10 = {$Private}Templates/ContentElements/
    partialRootPaths.10 = {$Private}Partials/ContentElements/
    templateName = myElement.html
    dataProcessing {
        330 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
        330 {
            table = myElement_table
            pidInList = this
            where.field = uid 
            where.dataWrap = tt_content = |
            orderBy = sorting
            as = myElement
            dataProcessing {
                370 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
                370 {
                    references.fieldName = image
                    as = images
                }
            }
        }
    }
}
myElement
问题解决了


非常感谢@Bernd Wilke,感谢你在我所有的打字错误3问题上帮助我

我没有域控制器。我只是在数据库中有一个排序列,并在TCA上定义。这意味着我必须添加一个名为foreign\u sortby的列,以便保存新的排序值,对吗?不。您需要在TCA中声明一个选项
foreign\u sortby
(我假设它来自引用的so问题)使用值
sorting
(这是TYPO3中排序的默认列名)和o course,您需要在引用表中使用该列。查看链接的手册。