【问题标题】:TYPO3 6.2: Image-Slider with Hyperlink from Page RessourcesTYPO3 6.2:带有来自页面资源的超链接的图像滑块
【发布时间】:2014-09-19 07:27:39
【问题描述】:

我从页面资源中做了一个运行良好的图像滑块。现在我正在尝试使用资源中也提供的链接来超链接这些图像。这是我目前所拥有的:

TS:

lib.headerimage = COA_INT
lib.headerimage {
    1 = COA
    1 {
        stdWrap.required = 1
        stdWrap.outerWrap.cObject = TEXT
        stdWrap.outerWrap.cObject.value = <li><img src=" | " /></li>

        2 = IMG_RESOURCE
        2 {
            file {
                import.data = levelmedia:-1, slide
                import.listNum = 0
                treatIdAsReference = 1
            }
        }   
    }
    2 < .1
    2.2.file.import.listNum = 1
    3 < .1
    3.2.file.import.listNum = 2
}

布局:

<div class="headerimage">
    <ul>
        <f:render section="headerimage" />
    </ul>
</div>

这会产生预期的 HTML 输出

<ul>
    <li>
        <img />
    </li>
</ul>

但我想要以下输出

<ul>
    <li>
        <a href="link_from_page_ressource">
            <img />
        </a>
    </li>
</ul>

如何在我的图片中获取这些链接?

提前致谢

更新

解决方案:

lib.headerimage = COA
lib.headerimage {
    1 = FILES
    1 {
        references {
            data = levelmedia:-1, slide
        }
        renderObj = COA
        renderObj {
            wrap = <li>|</li>

            1 = IMAGE
            1 {
                file.import.data = file:current:publicUrl
                altText.data = file:current:title
                stdWrap.typolink.parameter.data = file:current:link
            }
        }
    }
}

【问题讨论】:

  • 不要使用 COA_INT,它不会被缓存,并且会完全禁用使用 nc_staticfilecache 静态缓存页面的可能性。改用 COA

标签: typo3 typoscript typo3-6.2.x


【解决方案1】:

您应该使用FILES 来处理这个问题。使用类似的东西(未经测试!)

lib.headerimage = COA
lib.headerimage {
    wrap = <ul>|</ul>

    10 = FILES
    10 {
        references {
            data = levelmedia:-1, slide
        }

        renderObj = COA
        renderObj {
            10 = IMAGE
            10 {
                file.import.data = file:current:publicUrl
                altText.data = file:current:title
                stdWrap.typolink.parameter.data = file:current:link
                wrap = <li>|</li>
            }
        }
    }
}

【讨论】:

  • 这几乎是我想要的。但是...生成的 HTML 看起来像这样:
    而我想要
    有没有办法得到这个HTML?
  • 好的,知道了。我的问题已更新为我的新代码。非常感谢!
【解决方案2】:

你可以试试这个吗?

lib.headerimage = COA
lib.headerimage {
   wrap = <ul>|</ul>

        1 = IMAGE
        1 {
            file {
                import.data = levelmedia:-1, slide
                import.listNum = 0
                treatIdAsReference = 1
            }
            stdWrap.typolink.parameter.data = file:current:link
            stdWrap.outerWrap = <ul>|</ul>
        }   

    2 < .1
    2.file.import.listNum = 1
    3 < .1
    3.file.import.listNum = 2
}

【讨论】:

  • 哦,梅雷克是第一个! :-) 他应该工作得更好,尝试两者
  • 谢谢,我使用了 Merec 的那个,并稍微修改了一下以适应我预期的 HTML 输出
【解决方案3】:
lib.randomImage = COA_INT
lib.randomImage.10 = FILES
lib.randomImage.10.sorting = rand()
lib.randomImage.10 {
  references {
    table = pages
    data = levelmedia:-1, slide
    treatIdAsReference = 1
  }
  maxItems= 1
  renderObj = COA
  renderObj {
    10 = IMAGE
    10 {
      file {
        import {
          data = file:current:publicUrl
        }
      }
    }
  }
  stdWrap {
    wrap = |
  }
}

参考链接:http://www.t3hut.com/blog/post/news/detail/News/random-image-from-page-resources-files-in-typo3-62.html

这个 ts 对我有用!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2021-05-06
    • 2019-09-22
    • 2021-03-09
    相关资源
    最近更新 更多