大家好,
我已经配置了我的页面模板,以便我可以创建FAL关系。我能够读取当前页面的数据并吐出图像。
但我真正想要的是我可以向上滑动 - 如果当前页面上没有FAL关系,那么我想查看父页面中的图像 - 如果父级本身没有,则查看父级父页面FAL关系(等等 - 直到我在根页面。)
阅读文档后,内容可能会出现类似内容,但我找不到任何有关如何使用页面资源执行此操作的提示。
希望有人可以提供帮助
马库斯
答案 0 :(得分:1)
VHS ViewHelper无法实现,因为资源/记录/ FalViewHelper不像Content / GetViewHelper那样支持内容滑动。你能做什么:
使用您的解决方案撰写功能请求或发出拉取请求。
或
编写自己的ViewHelper。
或
使用旧的(或坏的?)typoscript:
lib.slider = FILES
lib.slider {
references {
data = levelmedia:-1, slide
}
renderObj = COA
renderObj {
10 = IMAGE
10 {
file.import.data = file:current:publicUrl
file.width = 960
titleText.data = file:current:title
wrap = <li>|</li>
}
}
stdWrap.wrap = <ul>|</ul>
}
并在您的模板中使用它,如:
<f:cObject typoscriptObjectPath="lib.slider" />
答案 1 :(得分:1)
您可以将vhs viewhelper v:page.resource与幻灯片参数结合使用,vhs版本2.3.3支持。
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<v:page.resources.fal table="pages" field="media" uid="{page.uid}" as="images" slide="-1" >
<f:for each="{images}" as="image">
<f:image src="{image.url}" alt="{image.alternative} {image.name}" title="{image.title}" />
</f:for>
</v:page.resources.fal>
第一个元素的内联语法示例
<v:resource.image identifier="{v:page.resources.fal(field: 'media', uid: '{page.uid}' slide:'-1') -> v:iterator.extract(key: 'id') -> v:iterator.first()}" treatIdAsReference="1" maxWidth="1500"/>
答案 2 :(得分:0)
对于TYPO3 8.7
,您必须使用TypoScript,vhs
和v:page.resources.fal
不再起作用(issue)-在我的情况下。参见上面N1ck的示例。
我将Subpage-Sitemap与来自页面属性(媒体/资源)的图像一起使用。
流体:
<f:if condition="{menu}">
<ul class="ce-menu ce-menu-1">
<f:for each="{menu}" as="page">
<li>
<a href="{page.link}"{f:if(condition: page.target, then: ' target="{page.target}"')} title="{page.title}">
<f:format.raw>{page.title}</f:format.raw>
<f:cObject typoscriptObjectPath="lib.mediaResources" data="{uid:'{page.data.uid}'}" />
</a>
</li>
</f:for>
</ul>
</f:if>
TypoScript:
lib.mediaResources = FILES
lib.mediaResources {
references {
table = pages
#Seiten-ID ubergabe
uid.dataWrap= {field:uid}
fieldName = media
}
renderObj = IMAGE
renderObj {
file.width = 50c
file.height = 50c
file.import.data = file:current:uid
file.crop.data = file:current:crop
file.treatIdAsReference = 1
altText.data = file:current:title
params = class="ce-menu-1-image"
wrap = |
}
}
工作完美,没有vhs-Extension。使用FLUID的解决方案会很好。