我需要使用我的扩展程序呈现来自 tt_content 的特定内容。
我怎样才能做到这一点?
\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer ?
我需要使用我的扩展程序呈现来自 tt_content 的特定内容。
我怎样才能做到这一点?
\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer ?
在 Extbase 中,扩展$this->cObj
在当前范围内不再可用,因此您需要先获取它,然后才能使用:
$cObj = $this->configurationManager->getContentObject();
$ttContentConfig = array(
'tables' => 'tt_content',
'source' => 123,
'dontCheckPid' => 1
);
$content .= $cObj->RECORDS($ttContentConfig);
您也可以从控制器执行此操作。如果我理解你的问题,你可能想试试这个
$cObject = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer');
您可以使用 Typoscript CONTENT 对象并将其传递给流畅的 ViewHelper:
lib.myContent = CONTENT
lib.myContent {
table = tt_content
select {
pidInList = yourPid
where = uid=yourContentElementID
}
}
在使用 Fluid 的扩展中:
<f:cObject typoscriptObjectPath="lib.myContent" />
您还可以通过 viewHelper 传递值,请参见此处
以下脚本将使用 PI 基本扩展。
$uid = $this->cObj->data['uid'];
if ($this->cObj->data['_LOCALIZED_UID']) {
$uid = $this->cObj->data['_LOCALIZED_UID'];
}
以下脚本将用于 EXT BASE 扩展。
$this->contentObj = $this->configurationManager->getContentObject();
$uid = $this->contentObj->data['uid'];
有关 TYPO3 的更多信息,您可以访问我的博客