我的TYPO3 4.7.17扩展程序包含以下代码: (控制器)
public function listJobPublicAction(Tx_Htmjob10_Domain_Model_JobDemand $jobDemand = NULL) {
$nrAllJobs = $this->jobRepository->countAll();
...
$this->view->assign('jobs', $jobs);
}
和我的扩展程序视图:
<f:cObject typoscriptObjectPath="lib.count2">{nrAllJobs}</f:cObject>
我的TYPOScript:
lib.count2= HTML
lib.count2{
value.current = 1
value.wrap = <strong>|</strong>
}
这适用于TYPO3扩展程序中的流体模板
我想在流体部分中使用nrAllJobs,但无效。这是一个空行。
<f:layout name="Default" />
<f:cObject typoscriptObjectPath="lib.count2">{nrAllJobs}</f:cObject>
如何从Fluid partial访问PHP变量(不是 TYPO3扩展中的流体模板)?
答案 0 :(得分:1)
要将值传递给TyposcriptObject,你做得对:
<f:cObject typoscriptObjectPath="lib.count2">{nrAllJobs}</f:cObject>
正如您所提到的,这可以在Fluidtemplate中使用,但不能在Partial中使用。一个简单的猜测:你是否已将模板中的变量传递给部分?像这样:
<f:render partial="MyPartial" arguments="{_all}" />
请注意,arguments
必须是数组或关键字_all
,只需将所有varibales传递给partial。如果您只想传递变量,请使用{nrAllJobs:nrAllJobs}
如果将yout变量传递给partial,则在模板中使用f:cObject ViewHelper或部分是没有区别的。
但是,正如其他人所提到的那样,您可以显示变量的值而不必绕过TypoScript对象。只需{nrAllJobs}
,但仍要确保将变量传递给您的副本。
答案 1 :(得分:0)
我不认为cObject函数是这样的。 它是:
<f:cObject typoscriptObjectPath="lib.myObject"></f:cObject>
所以你的变量是这里的lib.myObject。
也许你试试:
<strong>{nrAllJobs}</strong>
在流体模板中。