答案 0 :(得分:1)
这样做的一种方法(我认为EXT:news希望你这样做的方式)是提供自定义媒体渲染器。但是,您应该首先了解媒体呈现如何在EXT中发生:新闻。以下文本假定扩展版本为3.0.1。
EXT:news通过将media
- 对象(Tx_News_Domain_Model_Media
的实例)传递到媒体渲染器列表来呈现媒体。每个渲染器都会告诉它是否能够在询问时呈现媒体元素。渲染器按给定顺序询问,第一个回答“是”的渲染器将渲染媒体元素。
渲染器是简单的类,必须实现接口Tx_News_MediaRenderer_MediaInterface
或Tx_News_MediaRenderer_FalMediaInterface
(如果使用FAL)。
使用ViewHelper <n:mediaFactory>
触发所描述的媒体渲染过程。这个ViewHelper有4个参数:
有趣的部分是ViewHelper的“类”参数。在默认模板中,它被设置为TypoScript设置plugin.tx_news.interfaces.media.video
的值,因此如果您愿意,也可以使用纯TypoScript定义列表。
您需要注册自己的媒体渲染器对象,该对象会将“rel = 0”参数添加到使用过的视频网址中。要做到这一点,您需要一个扩展,可以是您可以控制的现有扩展,也可以是一个简单的新扩展。此扩展应提供实现Tx_News_MediaRenderer_MediaInterface
接口的类,并根据需要呈现视频。您可以复制课程Tx_News_MediaRenderer_Video_Youtube
中的几乎所有内容。
然后,您需要将该类的名称添加到<n:mediaFactory>
- ViewHelper的调用中,例如将其添加到提到的TypoScript设置中。确保它替换默认的Youtube MediaRenderer,或者在列表中位于它之前。