Database 如何在Typo3 6.1.5中使用PHP从我的扩展中的tt_内容呈现内容对象

Database 如何在Typo3 6.1.5中使用PHP从我的扩展中的tt_内容呈现内容对象,database,plugins,typo3,frontend,typo3-6.1.x,Database,Plugins,Typo3,Frontend,Typo3 6.1.x,我需要使用我的扩展呈现tt_内容中的特定内容 我该怎么做 \Extbase extensions中的TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer?$this->cObj在当前范围内不再可用,因此您需要先获取它,然后才能使用: $cObj = $this->configurationManager->getContentObject(); $ttContentConfig = array( 'tables'

我需要使用我的扩展呈现tt_内容中的特定内容

我该怎么做


\Extbase extensions中的TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer?

$this->cObj在当前范围内不再可用,因此您需要先获取它,然后才能使用:

$cObj = $this->configurationManager->getContentObject();

$ttContentConfig = array(
    'tables'       => 'tt_content',
    'source'       => 123,
    'dontCheckPid' => 1
);

$content .= $cObj->RECORDS($ttContentConfig);

可以使用打字脚本并将其传递给流体视图辅助对象:

lib.myContent = CONTENT
lib.myContent {
  table = tt_content
  select {
    pidInList = yourPid
    where = uid=yourContentElementID
  }
}
在使用流体的扩展中:

<f:cObject typoscriptObjectPath="lib.myContent" />


您还可以通过viewHelper传递值,请参见

您也可以通过控制器传递值。如果我理解你的问题,你可以试试这个

$cObject=\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer');

以下脚本将使用PI基扩展

$uid = $this->cObj->data['uid'];

if ($this->cObj->data['_LOCALIZED_UID']) {
    $uid = $this->cObj->data['_LOCALIZED_UID'];
}
$this->contentObj = $this->configurationManager->getContentObject();
$uid = $this->contentObj->data['uid'];

以下脚本将在EXT BASE extension中使用

$uid = $this->cObj->data['uid'];

if ($this->cObj->data['_LOCALIZED_UID']) {
    $uid = $this->cObj->data['_LOCALIZED_UID'];
}
$this->contentObj = $this->configurationManager->getContentObject();
$uid = $this->contentObj->data['uid'];
有关TYPO3内容的更多信息,请访问我的


请详细说明您想要做什么,结果应该是什么,您试图让它工作的是什么。结果是:致命错误:对……@dusty中的非对象调用成员函数RECORDS()。那么问题是为什么
$this->cObj
不给您一个cObject。在普通的ext中,
$this->cObj
应该给你一个cObject。您可以尝试:
t3lib\u div::makeInstance('tslib\u cObj')->记录($tt\u content\u conf)如果这不起作用,您必须发布有关您的应用程序的更多信息extention@dusty对于nbar,您应该更加注意
pi_base
编码和Extbase@biesior你是对的。我的解决方案是pi_基地。当您使用Extbase时,您应该使用带有流体对象的Daniels soltuion。在这种情况下,您对我文章的编辑暗示,即使使用extbase,这仍然是一条可行之路,我不确定这是否有帮助。@nbar为什么?Daniel的解决方案认为您在运行时知道
yourPid
yourContentElementID
(因此它只是硬编码的)。我还有另外一种情况:使用BE模块,我在一个页面上创建不同类型的tt_内容,但用于我的ext的不同父记录。前端插件仅根据显示的父记录的当前UID显示选定的内容。使用TS无法完成此任务,使用您显示的(我编辑过的)任务,可以迭代DB结果,只获取所需的内容。最后,我看不出在不需要时使用冗余TS的理由…此链接已失效。你有这个ViewHelper吗?