tt_news: 修改图片src
为了能够使用延迟加载,我需要修改src tt_news 图像输出的属性如下所示:
<img src="/foo/bar/baz.png" … /> // <-- before
<img data-original="/foo/bar/baz.png" … /> // <-- after, no src!
我已经尝试过:
plugin.tt_news.displayList.content_stdWrap {
parseFunc < lib.parseFunc_RTE
HTMLparser = 1
HTMLparser.keepNonMatchedTags = 1
HTMLparser.tags.img.fixAttrib.src.unset = 1
}
但无济于事,因为
- 有问题的图像不是通过 RTE 插入的,而是通过“正常”媒体集成插入的。
- 在取消设置之前,这不会将
src
属性复制到data-original
。
那么,除了拔头发之外,我还应该做什么呢?
In order to be able to use lazy loading, I need to modify the src
attribute of tt_news' image output like so:
<img src="/foo/bar/baz.png" … /> // <-- before
<img data-original="/foo/bar/baz.png" … /> // <-- after, no src!
I have tried:
plugin.tt_news.displayList.content_stdWrap {
parseFunc < lib.parseFunc_RTE
HTMLparser = 1
HTMLparser.keepNonMatchedTags = 1
HTMLparser.tags.img.fixAttrib.src.unset = 1
}
but to no avail, since
- The image in question is not being inserted via RTE, but the "normal" media integration.
- That wouldn't copy the
src
attribute over todata-original
before unsetting.
So, what should I do aside from pulling my hair out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这无法通过打字稿解决,因为 src 属性是硬编码在 cImage 函数中:
我看到修改 src 属性的唯一方法是通过用户函数。 tt_news 为用户函数提供了一个钩子,允许自定义处理图像(参见 class.tx_ttnews.php 的第 2150 行)。
示例:
插入以下拼写错误:
而文件 user_ttnewsImageMarkerFunc.php 包含:
大部分代码是从 class.tx_ttnews.php 复制的。重要的一行如下(在两个函数中):
然后您将获得以下图像标签:
This cannot be solved via typoscript, because the src attribute is hard coded in the cImage function:
The only way I see to modify the src attribute is through a user function. tt_news provides a hook for a user function that allows the custom processing of images (see line 2150 of class.tx_ttnews.php).
Example:
Insert the following typoscript:
Whereas the file user_ttnewsImageMarkerFunc.php contains:
Most of this code is copied from class.tx_ttnews.php. The important line is the following (in each of the two functions):
Then you'll get the following image tags:
2019年tt_news依然存在。我将它与 TYPO3 8 LTS 一起使用,该版本来自 github 因为它不再出现在官方扩展存储库中。 (对于新项目使用“新闻”)
所以我认为,因为 tt_news 必须在 TYPO3 9 中更新,所以直接破解代码是合法的,通过更改 tt_news/Classes/Plugin/TtNews.php 如下:
In 2019 tt_news is still around. I use it with TYPO3 8 LTS, the version from github as its not anymore in the official extension repository. (For new Projects use "news")
So I think, because tt_news has to be updated in TYPO3 9, its legit to just hack the code directly, by changing tt_news/Classes/Plugin/TtNews.php like this: