扩展TYPO3 8.7.X

时间:2019-04-15 16:28:16

标签: typo3 typo3-8.x typo3-extensions

我想在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?

0 个答案:

没有答案