簡體   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