【问题标题】:Tx_news detail view skip first picturetx_news 详细视图跳过第一张图片
【发布时间】:2016-09-10 10:27:19
【问题描述】:

我想渲染来自新闻扩展的新闻项目,但在详细视图中我想渲染所有图像除了第一张图像。这个我试过了,通过迭代寻求解决方案,但还是有什么地方出现了故障。

代码是:

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

也许有人能帮忙?

【问题讨论】:

    标签: typo3 fluid typo3-7.6.x tx-news


    【解决方案1】:

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

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

    应该是:

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

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

    【讨论】:

    • 我通过 更改了错误,但是没有显示图片。还有其他错误吗?
    • 其余的似乎都还好。也许您没有正确覆盖模板文件并且部分没有被渲染?
    • 部分 FalMediaImage 是正确的还是我必须更改模板的详细视图?
    • 这完全取决于您的设置、扩展版本和扩展配置 - 我认为您应该将此作为一个新问题提出,并尽可能多地包含您的预期行为和当前设置。
    【解决方案2】:

    对不起,我在错误的部分工作。不是 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>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2020-10-30
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      相关资源
      最近更新 更多