0

我设法构建了一个滑块(作为自己的内容元素),在表“tt_content”上我有一列读取表“滑块”的记录,它只返回记录的数量。

现在,当我在后端布局上创建一个滑块元素时,我想要一个列表,其中包含当前显示在该特定滑块元素上的图像。像这样:

图片

现在在我的SliderPreviewRenderer.php我有以下

public function preProcess(
      PageLayoutView &$parentObject,
      &$drawItem,
      &$headerContent,
      &$itemContent,
      array &$row
   )
   {
      if ($row['CType'] === 'slider') {
        $headerContent = '<strong>' . $parentObject->CType_labels[$row['CType']] . '</strong><br/>';
        $itemContent .= '<p class="title">Images:</p>';
        $itemContent .= $parentObject->linkEditContent($parentObject->getThumbCodeUnlinked($row, 'tt_content', 'slider') . '<br />');

         $drawItem = false;
      }
   }

现在我刚刚阅读了它位于 tt_content 上的列(我猜)。使用此代码,我只得到第一张图像,没有别的。

我想要的第二件事是设置。设置保存在不同的表中。我怎样才能得到设置呢?设置保存在“slidersettings”表中。我没有代码,因为我不知道如何实现。滑块设置的外键是“slider_settings_relation”,它返回一个整数。关系是 1-1。

你能告诉我我该怎么做吗?我一直在网上寻找解决方案,但似乎还没有人有这样的问题。

此致,

4

1 回答 1

0

我猜表格滑块不是直接指向图像引用,而是指向本身包含图像引用的记录。因此,使用您当前的代码,您不会得到预期的结果,因为它只包含连接滑块的数量,不能直接作为文件引用解析。

因此,您应该首先获取连接到该字段的滑块以获取实际的文件引用字段,然后为每个字段生成一个缩略图,最后将其放入要链接的缩略图集合中,就像您的代码中已经完成的那样。

所以你可能想看看\TYPO3\CMS\Frontend\Hooks\PageLayoutView\ImagePreviewRenderer

它利用

\TYPO3\CMS\Backend\Utility\BackendUtility::resolveFileReferences

正是为了这个目的。它甚至基于您正在使用的同一个钩子,因此它应该以相同的方式工作。

于 2018-07-19T16:07:36.490 回答