2016-09-10 2 views
2

Я хочу отобразить новость из расширения новостей, но в подробном представлении я хочу отобразить все изображения кроме первое изображение. Я пробовал это, ища решения через итерацию, но где-то все еще произошла ошибка.Tx_news detail view skip first picture

Код:

{namespace n=GeorgRinger\News\ViewHelpers} 

<f:for each="{media}" as="mediaElement" iteration="iter"> 
    <f:if condition="{iter.index}" >1> 
    <div class="mediaelement mediaelement-image"> 
     <f:if condition="{mediaElement.link}"> 
     <f:then> 
      <f:link.page pageUid="{mediaElement.link}" target="{n:targetLink(link:mediaElement.link)}"> 
      <f:image image="{mediaElement}" title="{mediaElement.title}" alt="{mediaElement.alternative}" maxWidth="{settings.detail.media.image.maxWidth}" maxHeight="{settings.detail.media.image.maxHeight}" /> 
      </f:link.page> 
     </f:then> 
     <f:else> 
      <f:if condition="{settings.detail.media.image.lightbox.enabled}"> 
      <f:then> 
       <a href="{f:uri.image(image:'{mediaElement}', width:'{settings.detail.media.image.lightbox.width}', height:'{settings.detail.media.image.lightbox.height}')}" title="{mediaElement.title}" class="{settings.detail.media.image.lightbox.class}" rel="{settings.detail.media.image.lightbox.rel}"> 
       <f:image image="{mediaElement}" title="{mediaElement.title}" alt="{mediaElement.alternative}" maxWidth="{settings.detail.media.image.maxWidth}" maxHeight="{settings.detail.media.image.maxHeight}" /> 
       </a> 
      </f:then> 
      <f:else> 
       <f:image image="{mediaElement}" title="{mediaElement.title}" alt="{mediaElement.alternative}" maxWidth="{settings.detail.media.image.maxWidth}" maxHeight="{settings.detail.media.image.maxHeight}" /> 
      </f:else> 
      </f:if> 
     </f:else> 
     </f:if> 
    </div> 
    <f:if condition="{mediaElement.description}"> 
     <p class="news-img-caption"> 
     {mediaElement.description} 
     </p> 
    </f:if> 
    </f:if> 
</f:else> 

Возможно, кто-то может помочь?

ответ

3

У вас есть ошибка синтаксиса в вашем f:if:

<f:if condition="{iter.index}" >1> 

Должно быть:.

<f:if condition="{iter.index} > 1"> 

(цитата неуместной - пробел после > просто для красивости

+0

Я изменил ошибку на , но изображение не отображается. Есть ли еще одна ошибка? –

+1

Остальное, кажется, все в порядке. Возможно, вы не правильно переопределили файлы шаблонов, а частичное не было визуализировано? –

+0

Частичный FalMediaImage является правильным или я должен изменить подробный вид моего шаблона? –

0

К сожалению, я работали неправильно, но не FalMediaImage необходимо настроить, но FalMediaContainer.

<f:if condition="{media}"> 
<!-- fal media files --> 
    <div class="news-img-wrap"> 
    <f:for each="{media}" as="mediaElement" iteration="iter"> 
     <f:if condition="{iter.index} >0"> 

     <div class="outer"> 
      <f:if condition="{mediaElement.originalResource.type} == 2"> 
      <f:render partial="Detail/FalMediaImage" arguments="{mediaElement: mediaElement, settings:settings}"/> 
      </f:if> 
      <f:if condition="{mediaElement.originalResource.type} == 4"> 
      <f:render partial="Detail/FalMediaVideo" arguments="{mediaElement: mediaElement, settings:settings}"/> 
      </f:if> 
      <f:if condition="{mediaElement.originalResource.type} == 5"> 
      <f:render partial="Detail/FalMediaImage" arguments="{mediaElement: mediaElement, settings:settings}"/> 
      </f:if> 
     </div> 
     </f:if> 
    </f:for> 
    </div> 
</f:if> 

Возможно, это поможет кому-то еще, у кого такая же проблема, как и я?