[英]TYPO3 extbase access sorting
当使用流体调试数组时,我看到一个嵌套数组lige:
building
[+]floor
[+]room
单击+时,子数组将按UID而不是我在存储库中指定的“排序”进行扩展排序。
protected $defaultOrderings = array(
'sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
);
我可以以某种方式访问排序值吗? 还是可以以某种方式强制TYPO3在排序后对自己的数组进行排序?
排序字段不应手动设置。
如果要对条目进行排序,请使用像Typo3后端这样的DataHandler。
“单击+”表示您未按照在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.