Fluid Partials

Teile zur (mehrfachen) Einbindung in Templates.

Wichtige Elemente hier:

  • Conditions
  • Iteration in Schleifen mit Counter
  • Formatierung von Datumsangaben
<f:if condition="{blogheadline}">
  <h2>{blogheadline}</h2>
</f:if>
  
<f:if condition="{kommentarheadline}">
  <h2>{kommentarheadline}</h2>
</f:if>
  
<f:for each="{blogs}" as="blog">
  <div class="div_kasten">
    <h2>{blog.titel}</h2>
    {blog.name}
    <f:format.date format="d.m.Y">
      {blog.datum}
    </f:format.date>, 
    <f:format.date format="H:i:s">
      {blog.datum}
    </f:format.date>
    
    <f:if condition="{blog.kommentar}">
      <f:for each="{blog.kommentar}" as="kommentar" iteration="kommentarIteration">
        <f:if condition="{kommentarIteration.index}==0">
          <f:if condition="{kommentarIteration.total}==1">
            <f:then>
              {kommentarIteration.total} Kommentar
            </f:then>
            <f:else>
              {kommentarIteration.total} Kommentare
            </f:else>
          </f:if> 
        </f:if> 
      </f:for>
    </f:if>
    
    {blog.kurzfassung}
    
    <f:link.action action="show" class="button blog-button" arguments="{blog: blog}">
      Beitrag lesen
    </f:link.action>
    
  </div>
</f:for>

Wichtige Elemente hier:

  • Conditions mit Abfrage übergebener Werte
  • Generierung von Links mit Übergabe von Plugin und Action
  • Formatierung von Links als Buttons
<f:for each="{blogcounter}" as="count" iteration="blogIteration">
  <f:if condition="{count}=={blogoffset}">
    <f:then>
      <f:link.action 
        action="list" 
        pluginName="Tag" 
        class="button blog_button" 
        arguments="{blog: blog, offset: count, tagid: blogtaglink}">
        <strong>{count}</strong>
      </f:link.action> 
    </f:then>
    <f:else>
      <f:link.action 
        action="list" 
        pluginName="Tag" 
        class="button blog_button" 
        arguments="{blog: blog, offset: count, tagid: blogtaglink}">
        {count}
      </f:link.action> 
    </f:else>
  </f:if>
</f:for> 

Beispiel für Eingabefelder in einem Formular

<label for="name">
  <f:translate key="tx_ibkblog_domain_model_blog.name" />
</label><br />
  <f:form.textfield property="name" /><br />
<label for="email">
  <f:translate key="tx_ibkblog_domain_model_blog.email" />
</label><br />
  <f:form.textfield property="email" /><br />
<label for="titel">
  <f:translate key="tx_ibkblog_domain_model_blog.titel" />
</label><br />
  <f:form.textfield property="titel" /><br />
<label for="kurzfassung">
  <f:translate key="tx_ibkblog_domain_model_blog.kurzfassung" />
</label><br />
  <f:form.textarea property="kurzfassung" cols="40" rows="15" /><br />
<label for="inhalt">
  <f:translate key="tx_ibkblog_domain_model_blog.inhalt" />
</label><br />
  <f:form.textarea property="inhalt" cols="40" rows="15" /><br />
<label for="datum">
  <f:translate key="tx_ibkblog_domain_model_blog.datum" />
</label><br />
  <f:form.textfield property="datum"  value="{blog.datum->f:format.date()}" /><br />
<label for="link">
  <f:translate key="tx_ibkblog_domain_model_blog.link" />
</label><br />
  <f:form.textfield property="link" /><br />
  

Formular für eine Volltextsuche

  
<f:section name="main">
  
  <f:form action="searchList" name="search" pluginName="Blog">
  
    <fieldset class="field_search">
    
      <f:form.textfield 
        id="searchWord" 
        name="searchWord" 
        value="{searchWord}" 
        class="search-form-input" />    
        
      <f:form.submit 
        value="Im Blog suchen" 
        name="Im Blog suchen" 
        class="search-form-button" />
        
    </fieldset>
    
  </f:form>
  
</f:section>  
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • fluid_partials.txt
  • Zuletzt geändert: 20/09/2018 23:31
  • von Thomas Berscheid