Typo3 / Fluid:使用uid和pid呈现新闻内容

时间:2018-08-22 08:22:35

标签: typo3 fluid

从外部扩展程序加载内容时遇到问题。 我要加载所有选定的新闻条目。

如果我调试流体,则会收到以下数据:uid = 2 / pid = 7

但仅是标题,正文,……

是否可以使用流畅的和/或VHS的viewhelper渲染内容?  我需要获取所选新闻条目的所有信息。

记录来自扩展名“ news”,并应显示新闻条目的标题和说明。

在我的后端TCA中,我通过以下方式访问新闻条目:
'foreign_table'=>'tx_news_domain_model_news',
'MM'=>'tx_news_domain_model_news_ttcontent_mm',

但是在我的前端渲染中,我只能访问新闻“ uid”和“ pid”,但仅此而已。
我的Fluid代码如下:

<f:for each="{entries}" as="entry">
    <f:for each="{entry.news}" as="news">
        ### HERE is only the access to the uid and pid ########
    </f:for>
</f:for>

我通过以下方式在控制器(类/控制器)中传递了条目:

$entries = $this->entriesRepository->findAll();
$this->view->assign('entries', $entries);

我已经创建了自己的扩展名,并且希望访问扩展名“ news”的条目。

非常感谢。

1 个答案:

答案 0 :(得分:1)

我假设您有entry记录的模型,其中news是属性,而您有news记录的模型。如果是这样,则需要确保您的news模型从新闻扩展名扩展了该模型。这样,所有字段都将可用。

因此,在您的entry模型中,您将拥有类似的东西:

/*
 * News
 *
 * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Your\Extension\Domain\Model\News>
 */
protected $news;

您的news模型类定义为:

namespace Your\Extension\Domain\Model;

class News extends \GeorgRinger\News\Domain\Model\News {

如果您不扩展新闻,还可以从entry模型中的新闻扩展名直接链接到该模型。这样,您就不需要自己的news模型:

/*
 * News
 *
 * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\GeorgRinger\News\Domain\Model\News>
 */
protected $news;