从模板文件访问自定义块字段 -- theming 领域 和 blocks 领域 drupal 相关 的问题

Accessing custom block fields from a template file


1
vote

问题

中文

我有一个侧边栏区域"侧边栏广告" 并放置在该区域中是"映像" 类型的"侧栏广告" ,其具有两个字段"图像" 和"链接" 。

当我使用 {{ page.sidebar_ad }} 输出我的页面上的块时,我得到图像,链接彼此分开,即预期。我无法弄清楚的是,我现在一直在左右5个小时,是如何单独引用字段,所以我可以包裹图像周围的链接。

有谁知道如何引用这些字段?我是错误的方式吗?

我通过覆盖特定的块模板和引用来成功地提出了链接URL:

  {% block content %}         <a href="{{ content.field_link.0['#url'].uri }}"></a> {% endblock %}   

引用图像URL仍然露出我。

英文原文

I have a sidebar region "Sidebar Ad" and placed in that region is the custom block "Sidebar Ad" of type "Image" which has two fields "Image" and "Link".

When I output the block on my page using {{ page.sidebar_ad }}, I get the image and the link separate from each other, which is to be expected. What I can't figure out, and I've been trying for around 5 hours now, is how to reference the fields separately so I can wrap the link around the image.

Does anyone know how to reference those fields? Am I going about this the wrong way?

I've successfully pulled the link URL by overriding the specific block template and referencing:

{% block content %}         <a href="{{ content.field_link.0['#url'].uri }}"></a> {% endblock %} 

Referencing the image URL still eludes me.

     
   
   

回答列表

1
 
vote

这是最终解决方案。

  {% block content %}     <a href="{{ content.field_link.0['#url'].uri }}">         <img src="{{ file_url(content.field_image.0['#item'].entity.fileuri) }}" alt="{{ content.field_image.0['#item'].alt }}">     </a> {% endblock %}   
 

This was the final solution.

{% block content %}     <a href="{{ content.field_link.0['#url'].uri }}">         <img src="{{ file_url(content.field_image.0['#item'].entity.fileuri) }}" alt="{{ content.field_image.0['#item'].alt }}">     </a> {% endblock %} 
 
 

相关问题

0  如果href = x,则在主菜单中更改链接的网址  ( Change url of link in main menu if href x ) 
我认为这将很简单,但我发现很难。 如果URL是某个URL,我想更改主菜单中设置的链接的URL。 我一直在看主题_menu_link()。我在我的template.php 中放下了以下内容 function MYTHEME_menu_link(array $variables) { $element = ...

2  如何在滚动时使浅色粘滞?  ( How to make views header sticky while scrolling ) 
我使用drupal视图创建了报告,我使用了apiews_merge_rows模块。现在我想创建报表表的粘性标题。可以请帮助我。 ...

2  如何将表单作为桌子呈现?  ( How do i render a form as a table ) 
默认表单布局具有在单个div标签中包装的每个表单元素,带有标签和内部输入。我想整齐地展示一些东西,并为现场标签创建一个列,以及输入区域的另一列。 我可以看到这一点以两种方式之一完成: - 我可以使用表元素或div创建一个表,并将标签与输入分开。我会用枝条吗? - 或者,也许有一个创造性的方法可以使用CSS与默认结...

4  如何在自定义菜单项中将默认的“显示为adjoard”设置为true  ( How to set the default show as expanded to true in a custom menu item ) 
我正在自定义模块中创建一系列菜单。该网站还有自定义主题。有没有办法在主题或模块中,将菜单"显示为扩展" 到真实。这样,如果我移动我的网站,卸载,或者,它会回到框中的方式。 ...

3  配置/安装目录的目的是什么?  ( What is the purpose of the config install directory ) 
我试图在omega / config /安装下使用omega主题并在很多文件下找到了很多文件。例如。 block.block.omega_account_menu.yml,block.block.omega_branding.yml,omega.layout.omega_default.yml。我想知道这些文件的功能...

2  读取字段值并将其传递给仅针对节点页面的段样式Atributes  ( Read field value and pass it to section style atributes only for node page ) 
我在内容类型中有一个颜色字段 - &gt;页面字段。我想读取此字段的值,并将此值传递为主内容的元素的背景颜色(Bootstrap Subtheme)( - 从页面,TLP.php)。并且仅适用于节点类型 - &gt;页面。 在我的template.php中,我试图使用函数theme_preprocess_page。我...

12  如何修剪身体文本(Field_Body)?  ( How to trim body text field body ) 
我为一个节点创建了一个节点的视图,该节点显示了呈现实体的内容。其中,我在枝花模板中输出身体字段: {{ content.field_body }} 现在,我想将文本限制为200个字符并放三个点。我测试了三种不同的方式来做到这一点,但没有任何工作。问题是,每种方式都计算并修剪HTML字符。 1:我添加了"管...

5  将CSS / JS添加到特定视图?  ( Add css js to particular view ) 
我遇到了解如何将库视为查看。我希望我的资产包含在/ foo中但不包括在/酒吧。我在这个不止一次且从我的理解中读过文档,这是通过使用预处理来实现的,例如: function my_theme_preprocess_page(&$variables) { if($variables['is_front']){ ...

0  TB-Megamenu如何单击“在移动设备中打开/关闭子菜单  ( Tb megamenu how to click to open close sub menu in mobile ) 
我们试图在移动浏览器上"点击" 菜单选项时仅显示子菜单。此功能在悬停时良好工作,但有些移动设备不适用于悬停。我们需要能够单击子菜单标题以便向下删除,然后再次单击它们以折叠它们。 ...

1  配置导出不适用于名称下划线的子主题  ( Configuration export not working for sub theme that has underscore in name ) 
今天有一个奇怪的问题,我有一个名为'rrre_theme'的子主题(bootstrap)。我可以在命名方面确认我在我的子主题中没有任何错误。我的位置块,一般都谈论笨拙的业务。当它发生导出我的配置时,我运行 drush cex vcs 其中,其中VCS是我 99887661 中定义的默认配置目录。到目前为止所以标准。但...

1  适当的方法来调用jQuery UI菜单小部件  ( Proper way to invoke jquery ui menu widget ) 
我正在尝试使用jQuery UI菜单小部件的菜单。 这里是我在preprocess_page hook内的模板 - preprocess.php中添加的内容: drupal_add_js('(function ($) { jQuery(document).ready(function () { jQuery( ...

1  使用Drupal_add_css以基于术语引用动态添加内联CSS  ( Using drupal add css to dynamically add inline css based on term reference ) 
我正在尝试创建一个名为 .bg-unit-color 的css类,这将根据所选的分类参考文献改变 我已经设置了一个课程类别分类,然后使用jQuery ColorPicker模块在其中设置一个颜色字段。我已经到了我可以在我的节点中呈现颜色的那一点 - example.tpl.php文件: <?php $term=...

2  从错误模糊时从哪里调用函数?  ( Where are functions being called from when errors are vague ) 
我有以下错误在浏览网站时随机显示。难以繁殖,也很难调试。我能够在错误状态下获得它,并在重新加载期间保持它,以便我调试它。 我试图进入有问题的代码,它驻留在中包含/ theme.inc 但是当转到那行1525时。它并没有真正告诉我很多。错误指出它缺少TPL文件,但没有说出哪一个,因为我假设它是由于$ template...

0  Bootstrap进度条缺少样式选项  ( Bootstrap progress bar missing style option ) 
drupal 8使用引导主题。我正在尝试在表格上创建一个进度条。我在一个没有问题的块中完成了它,但在形式中,它会失去"样式" 选项,并显示空白进度条。 我把这个: $form['pr_bar'] = [ '#markup' => '<div class="progress"> ...

4  如何显示多字段值的逗号分隔列表?  ( How to display a comma separated list of multiple field values ) 
如何将每个分类学术语值呈现为内联逗号分隔列表(或者在我的字段模板 field--node--field-tags.html.twig 文件中或甚至在视觉上添加CSS? ...

1  如何在提交自定义表单时调用模板?  ( How to call template when custom form is submitted ) 
我已经创建了自定义表单并在提交表单上,我需要从数据库获取数据,并且需要在不同模板中显示井结构化格式的内容。 我能够在提交时创建表单,我能够从数据库获取数据,但是我无法通过,将结果与另一个模板和显示该模板上的数据显示。我也尝试过 function nexposed_menu() { $items = arra...

1  我可以使用style.php吗?  ( Can i use a style php ) 
我想知道我是否可以将一个主题的样式表从style.css更改为style.php和drupal将使用它?我试过它,它没有用。 当然,我确实在Template.php中更改了文件名。还有什么我需要考虑的吗? ...

2  为什么没有加载这个模块库?  ( Why isnt this module library loaded ) 
我正在使用以下代码。 wk_elastic.info.yml name: Blablabla description: Blablabla package: BlaBlaBla type: module core: 8.x libraries: - wk_elastic/list-js depen...

6  从模块覆盖主题模板,而不实现主题  ( Override theme template from module without implementing a theme ) 
我有一个项目在d8上,我不使用任何自定义主题,我对一切使用默认七个主题,因为不需要任何视觉主题。 所以我的问题:是否有可能使用模块覆盖主题模板?没有实施主题? 我有一个我想要在节点模板中添加自定义第三方生成的值的情况。 这就是我所做的: 实现自定义模板: function MYMODULE_draft2submi...

1  无法安装mayo主题  ( Cant install mayo theme ) 
安装Mayo后,我刷新我的主站点并获取此错误消息: 致命错误:调用未定义的方法drupal core config configfactory :: geteDaitient()In / var / www / fs1 / 38 / [用户名] /public_html/themes/mayo/mayo.th...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.