繁体   English   中英

TYPO3 extbase访问排序

[英]TYPO3 extbase access sorting

当使用流体调试数组时,我看到一个嵌套数组lige:

building
 [+]floor
    [+]room

单击+时,子数组将按UID而不是我在存储库中指定的“排序”进行扩展排序。

protected $defaultOrderings = array(
    'sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
);

我可以以某种方式访问​​排序值吗? 还是可以以某种方式强制TYPO3在排序后对自己的数组进行排序?

排序字段不应手动设置。

如果要对条目进行排序,请使用像Typo3后端这样的DataHandler。

这是一个解决方案: TYPO3 CommandController:如何设置Extbase对象的表字段“排序”?

“单击+”表示您未按照在TCA中指定的方式对子对象进行排序?

子对象上的排序丢失了,因为默认情况下,Extbases PersistenceRepository仅按对象本身指定的顺序排序。 但这没什么大不了的,您只需要使用defaultOrderings属性或在构建查询时指定子属性的排序即可:

class FloorRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

    // Order by BE sorting
    protected $defaultOrderings = array(
        'sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
        'room.sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
    );

    ...

 }

这应为您提供一个楼层的房间,按房间的排序而定,在每个楼层中,房间均按其排序而排序。

您可以通过在模型中将其定义为整数并创建相关的吸气剂(如果需要,可以使用定标器)来访问排序属性

受保护的$ sorting

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM