[英]v:link:typolink with aditionalParams to set language via flux.field.select
I try to create a Content Element to create links to other languages. 我尝试创建一个内容元素来创建到其他语言的链接。 I think this is possible with just a content element and I do not need a own view helper for this. 我认为仅凭内容元素就可以实现,而我不需要自己的视图助手。
What I have so far: 到目前为止,我有:
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
<f:layout name="Content" />
<f:section name="Configuration">
<flux:form id="landingpage-language" label="Landingpage Language" options="{icon: 'Icons/Content/Example.gif', group: 'My Ele'}">
<flux:field.input name="title" label="Title"/>
</flux:form>
<flux:form.section name="languages" label="Languages">
<flux:form.object name="language" label="Language">
<flux:field.input name="languagename" label="Language Visible Name"/>
<flux:field.select name="language" label="System Language" items="{
0:{0:'English',1:'&L=1'},
1:{0:'German',1:'&L=2'}
}" />
<flux:field.input name="url" label="URL">
<flux:wizard.link/>
</flux:field.input>
</flux:form.object>
</flux:form.section>
</f:section>
<f:section name="Preview">
Preview
</f:section>
<f:section name="Main">
<h2>{title}</h2>
<ul class="languages">
<f:for each="{languages}" as="langele">
<li><v:link.typolink configuration="{parameter: langele.language.url, additionalParams: langele.language.language}">{langele.language.languagename} {langele.language.language}</v:link.typolink></li>
</f:for>
</ul>
</f:section>
This works but I have 2 problems I can't solve yet: 这可行,但我有2个尚无法解决的问题:
1. additionalParams 1. AdditionalParams
Right now the select items have the values like &L=1
. 现在,选择项的值类似于&L=1
。 I had to do it this way cause I was not able to add the &L=
directly in the typolink configuration. 我必须这样做,因为我无法直接在typolink配置中添加&L=
。 What I would like to have is something like that: 我想要的是这样的:
<v:link.typolink configuration="{parameter: langele.language.url, additionalParams: '&L='langele.language.language}">
With this I could have just the ID in the select-items. 这样我可以在选择项中只有ID。 Is this possible and if so, how? 这可能吗?如果可以,怎么办?
2. select items Query 2.选择项目查询
The documentation says it is possible to fill the items of the flux:field.select
with a query. 该文档说可以用查询填充flux:field.select
的项目。 But I can not find any example. 但是我找不到任何例子。 What I would like to have is all the languages configured in typo3 in this select-box. 我想要的是在此选择框中在typo3中配置的所有语言。 Is this possible and if so, how? 这可能吗?如果可以,怎么办?
something correction in fluxform: 校正fluxform:
<flux:field.select name="language" label="System Language"
items="{1:'English',2:'German'}" />
you can use fluid typolink instead of vhs viewhelper 您可以使用流畅的typolink代替vhs viewhelper
<f:for each="{languages}" as="langele">
<li><f:link.typolink parameter="{langele.language.url}" additionalParams="&L={langele.language.language}">{langele.language.languagename} {langele.language.language}</f:link.typolink></li>
</f:for>
But as per your need, I suggest to you use fluid page link: 但是根据您的需要,我建议您使用流畅的页面链接:
<f:for each="{languages}" as="langele">
<li><f:link.page pageUid="{langele.language.url}" additionalParams="{L:'{langele.language.language}'}">{langele.language.languagename} {langele.language.language}</f:link.page></li>
</f:for>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.