2

我想从新闻扩展中渲染一个新闻项目,但是在详细视图中我想渲染第一张图像之外的所有图像。我已经尝试过了,通过迭代寻求解决方案,但是某个地方仍然发生了故障。

代码是:

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

也许有人能够提供帮助?

4

2 回答 2

3

您的f:if:中有语法错误

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

应该:

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

(引用错位 - 后面的空格>只是为了漂亮。

于 2016-09-10T10:31:43.037 回答
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>

也许它会帮助和我有同样问题的其他人?

于 2016-09-10T23:10:59.017 回答