Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 类型3存储PID和电流_Typo3_Typoscript_Fluid_Extbase - Fatal编程技术网

Typo3 类型3存储PID和电流

Typo3 类型3存储PID和电流,typo3,typoscript,fluid,extbase,Typo3,Typoscript,Fluid,Extbase,我构建了一个简单的注释extbase扩展,我希望在项目扩展(也叫extbase)中包含它。项目扩展中的流体代码如下所示: <f:for each="{project.reports}" as="report"> ...Content... {report -> f:cObject(typoscriptObjectPath: 'lib.comments')} </f:for> lib.comments = USER lib.comments {

我构建了一个简单的注释extbase扩展,我希望在项目扩展(也叫extbase)中包含它。项目扩展中的流体代码如下所示:

<f:for each="{project.reports}" as="report">
    ...Content...
    {report -> f:cObject(typoscriptObjectPath: 'lib.comments')}
</f:for>
lib.comments = USER
lib.comments  {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = Comments
    pluginName = Comments
    persistence.storagePid = ?
}
StoragePid应该与报告id匹配,因此我尝试: persistence.storagePid.cObject=文本 persistence.storagePid.cObject.current=1


但它不起作用。有人知道将“当前”设置为storagePid的正确方法吗?

您可以通过将方法放在存储库的开头来禁用存储PID检查:

public function initializeObject() {
    $this->defaultQuerySettings->setRespectStoragePage(FALSE);
}
然后使用当前页面的
id
,将其作为公共参数传递给repositories finder,并包含为公共约束

当然,您获取的当前页面的UID与往常一样:

$currentUid = $GLOBALS['TSFE']->id;

您可以通过将方法放在存储库的开头来禁用存储PID检查:

public function initializeObject() {
    $this->defaultQuerySettings->setRespectStoragePage(FALSE);
}
然后使用当前页面的
id
,将其作为公共参数传递给repositories finder,并包含为公共约束

当然,您获取的当前页面的UID与往常一样:

$currentUid = $GLOBALS['TSFE']->id;

persistence.storagePid.field=uid

与“report->f:cObject”一起传递的“report”的所有字段都将可用于stdWrap属性.field

你也可以这样做

persistence.storagePid.debugData = 1

列出$cObj->data的所有可用字段

与“report->f:cObject”一起传递的“report”的所有字段都将可用于stdWrap属性.field

你也可以这样做

persistence.storagePid.debugData = 1

为了列出$cObj->data的所有可用字段,我不知道我是否正确理解了您的意思。我将注释包括3-5次(在for数组中)。我不想将storagePid设置为当前页面,进一步设置我在“报告”中设置的id。lib.comments=TEXT lib.comments.current=1可以正常工作。但是为什么不作为一个cObject呢?那么,配置中当前的
是什么意思呢?对不起,我没有;我不明白:/I是指stdWrap属性当前。当我在fluid中设置以下代码时:{report->f:cObject(typoscriptObjectPath:'lib.comments')}-是“report”当前的。因此,如果我在typoscript中设置此选项:lib.comments=TEXT lib.comments.current=1,流体将呈现字段报告。我有完全相同的问题,并尝试使用.current和.field从cObject流体视图帮助器获取值。如上所述,它在创建cObject文本时工作正常,但如果它是USER或USER_INT,则似乎不可能。有人知道如何从流体模板到打字用户函数获取值吗?嗨,Marcus,我不知道我是否正确理解了您。我将注释包括3-5次(在for数组中)。我不想将storagePid设置为当前页面,进一步设置我在“报告”中设置的id。lib.comments=TEXT lib.comments.current=1可以正常工作。但是为什么不作为一个cObject呢?那么,配置中当前的
是什么意思呢?对不起,我没有;我不明白:/I是指stdWrap属性当前。当我在fluid中设置以下代码时:{report->f:cObject(typoscriptObjectPath:'lib.comments')}-是“report”当前的。因此,如果我在typoscript中设置此选项:lib.comments=TEXT lib.comments.current=1,流体将呈现字段报告。我有完全相同的问题,并尝试使用.current和.field从cObject流体视图帮助器获取值。如上所述,当创建一个cObject文本时,它可以很好地工作,但是如果它是USER或USER_INT,那么它似乎是不可能的。有人知道如何从fluid template到TypoScript用户函数获取值吗?