2016-04-12 14 views
0

Diğer dillere bağlantılar oluşturmak için bir İçerik Öğesi oluşturmaya çalışıyorum. Bunun sadece bir içerik öğesiyle mümkün olduğunu düşünüyorum ve bunun için kendi görüş yardımcılarına ihtiyacım yok.v: link: aditionalParams ile typolink ile flux.field.select üzerinden dil ayarı

Ne var bugüne kadar:

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

Bu işler ama ben henüz çözemez 2 sorunları var:

Şu anda öğeleri seçin sahip

1. additionalParams &L=1 gibi değerler. Bu şekilde yapmak zorunda kaldım çünkü &L= doğrudan typolink konfigürasyonuna ekleyemedim.

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

Bununla ben seçme-kalemlerinde sadece kimliğine sahip olabilir: Ne istiyorum böyle bir şeydir. Bu mümkün mü ve eğer öyleyse, nasıl?

2. öğeleri seçin

sorgula belgeler bir sorgu ile flux:field.select öğeleri doldurmak mümkün olduğunu söylüyor. Ama ben hiçbir örnek bulamıyorum. Sahip olmak istediğim, bu select-box'ta typo3'te yapılandırılan tüm dillerdir. Bu mümkün mü ve eğer öyleyse, nasıl? fluxform içinde

cevap

2

şey düzeltme:

<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 yerine sıvı typolink kullanabilirsiniz Ama senin lüzum göre, sana akışkan sayfa linki kullanınız önermek

<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

teşekkürler güzel çalışıyor. Bu şekilde kullandığımda (daha kısa ve daha güzel) akı biçimini tahmin ediyorum. Ayrıca flux: field.select'de yapılandırılmış dillerin nasıl kullanılacağı hakkında bir fikriniz mi var? Keyvalue olarak – nbar

+0

dizeleri - "İngilizce" ve "Almanca" mı demek istediniz? ve senin sorunun ne anlama geldiğini anlamadım "Ayrıca yapılandırılmış dilleri nasıl kullanacağına dair bir fikrin var mı: field.select?" –

+0

'de': 'Almanca' gibi bir şey demek istiyorum. Ve benim sorum ikinci soru '2'dir. Orijinal iş parçacığındaki Sorguyu seç. Temel olarak, bu select-alanında tipo3'te yapılandırılan dilleri kullanmak istiyorum. 'De' veya 'en' için – nbar

İlgili konular