2016-04-12 5 views
0

他の言語へのリンクを作成するためにコンテンツ要素を作成しようとしています。私はこれがコンテンツ要素だけで可能だと思うし、私はこれのために独自のビューヘルパーを必要としません。v:link:typelink with aditionalパラメータ:flux.field.selectで言語を設定する

{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> 

これは動作しますが、私は、私はまだ解決できない2つの問題を抱えて:

1.今additionalParams

選択項目が持っている私がこれまで持って何

値は&L=1です。私は&L=を直接typolink設定に追加することができなかったので、このようにしなければなりませんでした。私は選択-項目にだけIDを持つことができます。これにより

<v:link.typolink configuration="{parameter: langele.language.url, additionalParams: '&L='langele.language.language}"> 

:私は何がしたいと、そのようなものです。 これは可能ですか?あれば、どうですか?

2.選択項目クエリ

ドキュメント、クエリでflux:field.selectの項目を記入することが可能であると言います。しかし、私は例を見つけることができません。私が望むのは、この選択ボックスでtypo3で設定されたすべての言語です。 これは可能ですか?あれば、どうですか?

答えて

2

fluxformで補正何か:

:流体のページのリンクを使用して、あなたが

<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> 

なViewHelper代わりにVHSの流体typolinkにを使用することができますしかし、あなたの必要性に従って、私はあなたにお勧め

<flux:field.select name="language" label="System Language" 
items="{1:'English',2:'German'}" /> 

<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> 
+0

ありがとうございます。フラックスフォームには、私がこの方法(これはより短く、より良い)を使用するときに、キー値として文字列を使用できないと思いますか?また、 'flux:field.select'で設定された言語を使う方法も知っていますか? – nbar

+0

文字列をキー値として - 英語とドイツ語を意味しましたか?あなたの質問は理解できませんでした」また、設定された言語を流暢に使用する方法について考えていますか:field.select? –

+0

私は「de」のようなものを意味する:「ドイツ語」。私の質問は2番目の質問です。元のスレッドで「クエリを選択」を選択します。基本的には、このselect-fieldでtypo3で設定された言語を使用したいと思います。 '01' => array( 'GETvar' => 'L'、 のように "preVars"を設定することができるリアルURLコンフィグレーションファイルでは、 'de'または 'en'の場合は – nbar

関連する問題