我使用Drupal 8,并尝试主题视频-嵌入-iframe.html.twig的内容类型。使用当前的命名建议,这是不可能的。
我正在使用包含在一个名为视频的字段中的视频嵌入字段的媒体
这就是我到目前为止所做的。在“我的主题的模板”文件夹中的上面命名的字段模板中
{% if logged_in %}
<iframe{{ attributes }}{% if url is not empty %} src="{{ url }}{% if
query is not empty %}?{{ query | url_encode }}{% endif %}"{% endif
%}></iframe>
{% else %}
<div id="promotion">
<div id="promotion-image">
<div id ="promotion-bg">
<div id ="promotion-text">
<H1>Eine brilliante Überschrift</H1>
</div>
</div>
</div>
<span id="promotion-attribution">
<a href="http://somesite.com">Credit author of the background image</a></span>
</div>
{% endif %}
我不知道如何通过内容类型访问字段,以分离代码深化,如果您有内容类型,如页面和文章,有什么想法吗?
是否有一种方法可以填充全局变量,如登录,包含内容类型的mashine名称,而不需要自定义模块。换句话说,有一种方法可以填充var,例如
contenttype=anycotenttypehere在mytheme.theme文件中通过编写函数?为了能够显示视频取决于是否使用了contetnt类型,以及用户是否已登录
发布于 2016-12-19 11:33:15
这是不容易实现的,不是直接的。
默认情况下,媒体实体将自行呈现缓存,这意味着同一媒体可以在两个具有不同类型的不同节点中使用,只要它们使用相同的视图模式,就只能构建一次。虽然您可以在预处理的详细信息页上轻松地获取当前节点,并且可以根据路径更改呈现的媒体,但这可能会导致大量的变化,并且不会真正工作在显示多个节点的取笑器的视图和其他页面上。
要实现这样的目标,最容易的方法是定义两种不同的视图模式,一种来自一个节点类型,另一种来自另一个节点类型。
https://drupal.stackexchange.com/questions/223317
复制