我想在EXT中获取当前内容元素的UID。我使用DCE在前端渲染输出。该DCE实现了userfunc。在这个userfunc中,我想获取DCE的UID。我正在使用Typo3 8.7
我已经尝试了很多片段,但是其中大多数已经过时,或者我以错误的方式使用它们。
像$ncuid = $this->configurationManager->getContentObject()->data['uid'];
应该给我希望的结果。
但我只会收到此错误Call to a member function getContentObject() on null
如果我尝试在
public function getContentObject($cuid, $caller_two) {
$ncuid = $this->contentObj = $this->configurationManager->getContentObject();
$ncuid = $this->contentObj->data['uid'];
return $ncuid;
}
我收到此错误
Too few arguments to function Reevo\ReevoElearning\Output\FlexformValue::getContentObject(), 1 passed in G:\xampp\htdocs\arber\dummy-typo3\typo3conf\ext\reevo_elearning\Classes\Output\FlexformValue.php on line 88 and exactly 2 expected
有人对我有任何提示或解决方案吗?会很好!干杯!
编辑:也许您需要更多信息。
在我的DCE中,我想使用以下内容从userfunc php脚本中渲染出一些东西:
<f:cObject typoscriptObjectPath='lib.flexformvalue' />
在此用户功能中,我需要此DCE的内容元素ID进行查询
lib.flexformvalue = USER
lib.flexformvalue {
userFunc = Reevo\ReevoElearning\Output\FlexformValue->field
userFunc {
uid = TEXT
uid {
field = uid
wrap = |
}
nuid < .uid.field
newuid < .uid.field
field = nequizmaxtry
}
}
我尝试通过Typo3script获取它,并通过param将其传输到我的ext,就像你在上面看到的那样。这项工作。然后,我尝试使用以下命令将其保存到PHP文件中:
$this->contentObj = $this->configurationManager->getContentObject();
$ncuid = $this->contentObj->data['uid'];
但是我收到了错误Call to a member function getContentObject() on null
。
有人知道是否可以像我希望的那样获得DCE的ID?如果可以的话,我该如何获取ID?