[英]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.