我设法构建了一个Slider(作为自己的内容元素),并且在表“ tt_content”上有一列读取表“ slider”的记录,并且只返回记录数。
现在,当我在后端布局上创建一个滑块元素时,我希望有一个列表,其中包含当前正在显示给该特定滑块元素的图像。像这样:
现在在我的 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。
您能告诉我我该怎么做吗?我一直在网上寻找解决方案,但是似乎没有人提出这样的问题。
最诚挚的问候,
答案 0 :(得分:0)
我想表格滑块不是直接指向图像引用,而是指向本身包含图像引用的记录。因此,使用当前的代码,您将无法获得预期的结果,因为它仅包含连接的滑块数量,而这些滑块不能直接解析为文件引用。
因此,您应该首先获取连接到该字段的滑块,以获取实际的文件引用字段,然后为每个滑块生成一个缩略图,最后将其放入一个缩略图集合中以进行链接,就像在代码中所做的那样
所以您可能想看看\TYPO3\CMS\Frontend\Hooks\PageLayoutView\ImagePreviewRenderer
利用
\TYPO3\CMS\Backend\Utility\BackendUtility::resolveFileReferences
正是出于这个目的。 它甚至基于您正在使用的同一个钩子,因此它应该以相同的方式工作。