如何在Typo3中使用流体显示多个图像?
我想用流体在前端显示两张图片。
我尝试了以下内容:
- 添加一个模型“ totromimages.php”:
<?php
/**
* carouselStartseiteMultipleImages
*
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
* @lazy
*/
protected $carouselStartseiteMultipleImages = NULL;
/**
* Constructor
*
* @return AbstractObject
*/
public function __construct() {
// ObjectStorage is needed to reference multiple files to one field
// see also @var before variable and @return before the respective get() method
$this->carouselStartseiteMultipleImages = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
}
/**
* returns carouselStartseiteMultipleImages
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage
*/
public function getcarouselStartseiteMultipleImages() {
return $this->carouselStartseiteMultipleImages;
}
/**
* sets carouselStartseiteMultipleImages
*
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $carouselStartseiteMultipleImages
* @return void
*/
public function setcarouselStartseiteMultipleImages($carouselStartseiteMultipleImages) {
$this->carouselStartseiteMultipleImages = $carouselStartseiteMultipleImages;
}
?>
- 添加TCA中提交的一个:
'tx_carousel_startseite_angebote_image' => array(
'exclude' => 1,
'label' => 'Image für Klassen- & Gruppenreisen (links)',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'carouselStartseiteMultipleImages',
array('minitems'=>0,'maxitems'=>2),
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
),
我的子项目名称的表格 tx_carousel_startseite_angebote_item
。图像的fild名称为 tx_carousel_startseite_angebote_image
。
在我的html文件中:
<f:for each="{https://mydomain/.tx_carousel_startseite_angebote_image}" as="pic">
<f:image src="{pic.originalResource.publicUrl}" alt="{pic.originalResource.alternative}" title="{pic.originalResource.title}" ></f:image>
{pic.originalResource.description}
</f:for>
但是我的图像没有在前端显示,并且存在错误:
Oops, an error occurred! Code: 202207040952376ac3ea67
我还试图在html-file中写下这种流体:
<f:for each="{item.data.tx_carousel_startseite_angebote_image.0}" as="pic1">
<f:image src="pic1" class="carousel-startseite-angebote-image" height="580" width="600" alt="{pic1.properties.alt}" title="{pic1.properties.title}" />
</f:for>
然后没有错误,但是图像没有出现。
,但我无法显示我的图片。如何在前端显示多个图像?感谢您的帮助。
添加: 我现在添加了两个错字,现在在我的错字中:
tt_content.carousel_startseite_angebote >
tt_content.carousel_startseite_angebote =< lib.contentElement
tt_content.carousel_startseite_angebote {
templateName = CarouselStartseiteAngebote
templateRootPaths.150 = EXT:myExtentionkey/Resources/Private/Templates/ContentElements/
partialRootPaths.150 = EXT:myExtentionkey/Resources/Private/Partials/ContentElements/
layoutRootPaths.150 = EXT:myExtentionkey/Resources/Private/Layouts/ContentElements/
dataProcessing {
15 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
15 {
as = images
references.fieldName = tx_carousel_startseite_angebote_image
references.table = tx_carousel_startseite_angebote_item
sorting = title
sorting.direction = descending
}
20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
20 {
table = tx_carousel_startseite_angebote_item
pidInList.field = pid
where {
data = field:uid
intval = 1
wrap = tt_content=|
}
orderBy = sorting
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = background_image
as = backgroundImage
}
20 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
20 {
references {
table = tx_carousel_startseite_angebote_item
fieldName = tx_carousel_startseite_angebote_image
}
as = csaMultipleImages
}
没有数据...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的图像字段只有图像的数量,因此无法直接访问和显示。取而代之的是,您应该在错别字渲染定义中添加文件processor,以解决与文件的关系。
对于一个自定义内容元素,它看起来像这样:
流体输出会像这样处理:
请参见文档和更详细的示例: https://docs.typo3.org/m/typo3/reference-reference-typoscript/11.5/en-us/contentobjects/contentobjects/fluidtemplate/dataprocessing/filesprocessing/filesprocessor.html#typoscript
Your image field just holds the count of images, so its not possible to access and display it directly. Instead you should add a FileProcessor in your typoscript rendering definition to resolve the relations to your files.
For a custom content element it could look like this:
Fluid output is then handled like this:
See docs and more detailed example here: https://docs.typo3.org/m/typo3/reference-typoscript/11.5/en-us/ContentObjects/Fluidtemplate/DataProcessing/FilesProcessor.html#typoscript