簡體   English   中英

如何使用TYPO3 extbase從子對象獲取父信息

[英]How to get parent Information from child object with TYPO3 extbase

我有一個經典的課程和日期關系(一門課程有很多日期)。 接下來的課程將在頁面上列出。 我使用按startDate排序的普通findAll()方法加載了所有日期。 現在,我需要上級課程信息才能顯示課程詳細信息。

在日期控制器中,我有

/**
 * Course
 *
 * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\ITServicePN\ItspnKurse\Domain\Model\Kurse>
 */
protected $kurse = NULL;

/**
 * Returns the Courses
 * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\ITServicePN\ItspnKurse\Domain\Model\Kurse> $kurse
 */
public function getKurse() {
    return $this->kurse;
}

這將為我返回使用f:debug {date.kurse}的過程:

TYPO3\CMS\Extbase\Persistence\ObjectStorageprototypeobject (1 items) ... => ITServicePN\ItspnKurse\Domain\Model\Kurseprototypepersistent entity (uid=8, pid=51)
      title => 'The name of the course' ...

但是,當我嘗試訪問{date.kurse.title}時,我遇到了TYPO3異常:

#1: PHP Warning: spl_object_hash() expects parameter 1 to be object, string given in /var/www/vhosts/it-service-pn.de/cetba/typo3_src-6.2.3/typo3/sysext/extbase/Classes/Persistence/ObjectStorage.php line 174

怎樣做才能使父母通過extbase和fluid正確地獲取對象信息?

根據您的模型, kurse是一個ObjectStorage。 這意味着當訪問流體中的date.kurse ,您將獲得一個Array。 您可以使用for-Viewhelper在流體中迭代該數組

<f:for each="{date.kurse}" as="kurs">
    Kurs: {kurs.title}
</f:for>

您還可以打印迭代索引以獲取編號的kurses列表。

<f:for each="{date.kurse}" as="kurs" iteration="i">
    {i.cycle}. Kurs: {kurs.title}
</f:for>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM