如何连续主题各个字段? -- views 领域 和 theming 领域 和 8 领域 drupal 相关 的问题

How can I theme individual fields in a row?


2
vote

问题

中文

我难以做些什么我认为应该是相对简单的drupal 8观点。

我有一个名为国家的内容类型。我想在视图块中显示我的主页上的3个最新国家节点。每个国家/地区都在容器Div上的"视图行" 类。我正在使用 views--view--unformatted--countries--block_1.html.twig 来主题输出。

我想输出类似于以下标记的内容:

  <a class="view-row-1" href="/link/to/node">     <img src="source-of-teaser-image.png">     <h3>Title of node</h3> </a>  <a class="view-row-2" href="/link/to/node">     <img src="source-of-teaser-image.png">     <h3>Title of node</h3> </a>  <a class="view-row-3" href="/link/to/node">     <img src="source-of-teaser-image.png">     <h3>Title of node</h3> </a>   

我正在访问模板中的各个字段。 如果我使用视图模式,我可以访问单个字段。如果在视图中选择"显示字段" ,则可以为"查看结果计数器" 和"路径" 添加一个字段,这将允许我添加"View-Row-N" 类并将标记链接到节点,但我无法单独访问这些字段。我有 {{ row.content }} 变量,但是任何尝试进一步挖掘变量(例如,content.field_name)都给了我,并调用 {{ dump(row.content) }} 崩溃网站。

i无法将此作为视图模式输出2个原因。我无法在视图模式下访问"查看结果计数器" 或"路径" 字段,即使我有这些变量,某些字段也将嵌套在其他字段中(图像和标题嵌套在其中)

我觉得这应该真的像

一样简单
  <a class="view-row-{{ row.content.view_result_counter }}" href="{{ row.content.path }}">   

等,但我尝试了我能想到的一切。我完全在错误的路径上吗?

英文原文

I'm having trouble doing something that I think should be relatively simple Drupal 8 views.

I have a content type called Countries. I would like to display the 3 latest country nodes on my homepage in a views block. Each country is displayed with the class "views-row" on the container div. I am using views--view--unformatted--countries--block_1.html.twig to theme the output.

I would like to output something like the following markup:

<a class="view-row-1" href="/link/to/node">     <img src="source-of-teaser-image.png">     <h3>Title of node</h3> </a>  <a class="view-row-2" href="/link/to/node">     <img src="source-of-teaser-image.png">     <h3>Title of node</h3> </a>  <a class="view-row-3" href="/link/to/node">     <img src="source-of-teaser-image.png">     <h3>Title of node</h3> </a> 

The problem I'm having is accessing individual fields in the template. If I use a view mode, I can access individual fields. If I select "show fields" in the view, I can add a field for "view result counter" and "path", which would allow me to add the "view-row-N" class and link the a tag to the node, but I can't get access to the fields individually. I have the {{ row.content }} variable, but any attempt to dig further into the variable (eg row.content.field_name) gives me nothing and calling a {{ dump(row.content) }} crashes the website.

I can't output this as a view mode for 2 reasons. I don't have access to the "view result counter" or "path" fields in a view mode and, even if I had these variables, some fields would be nested inside others (The image and title are nested inside the )

I feel this should really be as simple as

<a class="view-row-{{ row.content.view_result_counter }}" href="{{ row.content.path }}"> 

etc but I've tried everything I can think of. Am I completely on the wrong path?

        

回答列表

5
 
vote
vote
最佳答案
 

你在错误的轨道上。如果要在Twig中重写字段是如何构建的,则必须使用模板 views-view-fields.html.twig

但最简单的方法是重写ui视图中的字段的结果。这是"覆盖了使用自定义文本" "的此字段的输出。如果在最后一个字段上应用此文件并将所有先前的字段隐藏在"中的选项" 排除"中,则可以看到" 替换模式"中的所有字段的枝条变量您能够重写如问题所示的示例中的完整行。

 

You are on the wrong track. If you want to rewrite in twig how the fields are built to a row, you have to use the template views-view-fields.html.twig.

But the simplest method would be to rewrite the result of the fields in views ui. This is the option "Override the output of this field with custom text". If you apply this on the last field and hide all previous fields with the option "Exclude from display", you can see the twig variables for all fields in "Replacement patterns" and you are able to rewrite the complete row like the example you have shown in the question.

 
 

相关问题

1  公开过滤器不在块中工作  ( Exposed filter does not work in a block ) 
我的视图显示了内容类型的节点。具有暴露的过滤器,我可以减少结果列表(例如,显示类别的所有条目)。 我有一个视图页面和视图块(具有相同的视图配置)。 在页面上,公开的过滤器在没有问题的情况下工作。 使用块外露过滤器不起作用,在使用外露过滤器时无响应。过滤似乎已经死了。 你能帮忙解决这个问题吗?谢谢。 ...

0  如何使用搜索API /模糊搜索排序标题?  ( How to sort by title using search api fuzzy search ) 
在d7我正在使用 fuzzysearch 以及一个相当长的列表的表视图联系人。到目前为止,这非常适合 - 搜索"磨坊" 将列出所有"米勒" 条目。问题是:没有选项来排序除相关性, id ,内容类型,随机或 PHP 。 如果表格被任何字段可供选择,那么它可能是常规表视图中的任何字段 - 或者至少由标题字段。我不确定我...

0  查看设置菜单选项卡不起作用  ( Views settings menu tabs not working ) 
我认为模块视图有菜单选项卡的问题。 我是一个使用这样的设置菜单选项卡创建了一个简单的视图。 用户的自定义视图 自定义路径 设置菜单选项卡 上下文过滤器和设置 我转到URL:exampleary.com/user/1/display并获得错误 runtimeexce...

0  将条件添加到hook_views_query_alter()的条件  ( Add conditional where condition to hook views query alter ) 
我被抓住了几个试图做以下的观点。 在MySQL中存在可能性在哪里可以在哪里评估某些变量/操作以根据结果/值应用不同的条件,如常见的if / else块,是有没有办法使用add_where()或任何其他类似方法执行它? 当一个名为$ scope的变量的值是g且不同的情况下,我需要将一个条件应用于查询的位置,并且有任何方...

3  视图 - 保护用户分配的内容免受直接URL访问权限  ( Views protect user assigned content from direct url access ) 
我想使用视图从头开始创建一个限制区域。 我想实现的: 管理员创建了一张相册并将其分配给摄影师 photo>一位摄影师能够登录网站,并查看分配给它们的专辑列表 摄影师可以将照片上传到相册 如果非记录用户通过键入其URL来访问专辑,则会被拒绝 理想情况下,在一张专辑中的照片(文件本身)也受到保护,我知道文件访问限制是一...

2  如何在视图中获取网站URL查看自定义文本?  ( How to get site url with twig in views custom text ) 
在drupal 8中,我尝试在视图自定义文本字段中获取绝对站点URL。 我添加了 {{ url('view.frontpage.page_1') }} ,给我example.com/node drupal docs Say <代码> {{ url('view.frontpage') }} 会这样做,但它只是给...

1  检索视图结果  ( Retrieve the result of a view ) 
我正在尝试从Drupal 8中的视图管理代码的结果。 我尝试了: $view = views_get_view_result('name_views', 'block_1'); 但我找不到我在视图中公开的字段 ...

2  在同一数据库中共享数据,能够编辑数据  ( Sharing data in the same database being able to edit data ) 
我正在寻找Drupal能够在同一数据库中的外部表中访问和修改数据的方法。 ropal和脚本都需要访问相同的数据。 重复/迁移不是一个选项,因为数据应该是实时可用的。 数据位于同一数据库中,但另一个脚本有其自己的表。 我们目前使用数据模块和视图来显示来自外部表的数据,并运行良好。 我们很难找到一种方法来在Drup...

2  Drupal 7的SQL SQL呼叫'节点'并检索图像?  ( How does drupal 7s sql call for node and retrieve an image ) 
我在我的一个视图中显示了以下查询: SELECT node.nid AS nid, node.title AS node_title, node.created AS node_created, node.sticky AS node_sticky, 'node' AS field_data_field_fe...

1  预处理视图视图字段查找查看块名称  ( Preprocess views view field find view block name ) 
我需要查找块视图名称,以便我可以将它添加到Drupal 8中的hook_preprocess_views_view_field中的if语句。我该怎么做?当我使用kint($变量['字段'])查找变量drupal爆炸,所以我甚至不知道变量是否存在 /** * Implements hook_preprocess_...

0  视图幻灯片在引导主题中并不响应  ( Views slideshow is not being responsive in bootstrap theme ) 
我创建了3个图像。每个图像尺寸为1300 x 600。 我创建了内容类型幻灯片。 我将3个内容添加到幻灯片中。 我创建了一个视图幻灯片。 我应用了我的css: .view-slideshowv .views-slideshow-cycle-main-frame.views_slideshow_cycle_...

1  视图暴露过滤器。访问用户  ( Views exposed filters get access to user ) 
我有许多节点的"简单视图" 的视图。如果节点与此用户的链接,我需要访问用户。 例如,我有节点"自定义访问" 和字段"field_link_user" ,具有值"james" (是指向Drupal用户James的链接)。当James转到"简单的视图" 时,它只看到1个节点"自定义访问" 。 我知道,它正在观看中的exp...

0  搜索API没有标题中的单词返回结果  ( Search api isnt returning results with words in the title ) 
我刚刚安装了搜索API并设置了服务器和索引。然后我设置一个视图页面并公开搜索过滤器选项。搜索所有字段工作,但由于某种原因它不搜索标题。可能是什么问题?我尝试在索引上关闭所有字段,刚刚留下标题字段选项,并且仍然无法正常工作。 ...

0  Drupal 8:根据视图中的分类法添加自定义类  ( Drupal 8 add custom class according to taxonomy in views ) 
我有内容类型汽车,有三个领域:汽车模型,年模型和类别(分类学期)。在分类学期,我有三个名单:沃尔沃,丰田和宝马。 在下面的图片中,我添加了一个名为网格项的自定义类,并且除此之外,我想添加一个类别名称,如沃尔沃,丰田或宝马。如果替换模式可用,我可以添加类别名称:/ 在源代码中,您可以看到我有类网格项目,我希望将...

2  使用付款方式创建商务订单列表视图  ( Create an commerce order list view with payment method ) 
我想用选择的付款方式创建简单的订单列表。 问题:如果客户立即通过结帐进程(不返回从结帐查看和更改付款方式),则只有一个订单的一个支付方法,即确定。 但是,如果客户从Checkout Page返回并更改付款方式,然后完成结账 - 订单有2个支付方法。 现在,内部视图我可以添加与商务单位的关系:付款交易,导致重复。...

0  如何将标题从一个视图链接到另一个视图的页面  ( How to link a title from one view to a page of another view ) 
我创建了一个内容类型x。 我添加了4个内容。 我的内容看起来像这样。 我创建了一个视图页面。 (xxx.com/mypage), 我创建了放置在侧栏中的视图块。 (显示xxx.com/mypage的侧栏), 这就是页面的样子, 每次单击侧栏中的标题,我喜欢显示相应的视图页面。目...

1  添加URL前缀  ( Adding a url prefix ) 
我们目前有一个产品目录,具有这样的URL结构: www.domain.com/catelog/product-category www.domain.com/catelog/product-category/product-1 前进我们希望提供与欧盟相同类别的略有不同的目录,而是欧盟的产品子集。希望是构建...

0  首页视图是否有可能为每个预告片项使用不同的图像样式?  ( Is it possible for the front page view to use a different image style for each t ) 
我尝试构建一个复杂的网格UI,对于列表中的每个连续项,具有不同的图像大小和宽高比。如何为每个项目选择不同的图像样式? ...

2  如何根据标题创建重复实体视图,显示最近创建的实体  ( How to create a view of duplicate entities based on title showing the most rece ) 
我已经调查了一些接近我的要求的解决方案,但不是一个实际解决这个问题,我认为非常常见,用例: 经常使用馈送后,有重复的实体创建了相同的标题。除了防止这种情况发生的方法外,我想找到一个解决方案来列出标题已经使用的最近创建的实体。 列出了最新的重复项时,我想使用视图批量操作批量删除它们。 我的方法如下: 创建一个列出某个...

0  在生成寻呼机之前,从视图结果编程地删除实体  ( Remove entities programmatically from view results before pager is generated ) 
我想从View结果(视图核心模块)中删除某些实体,在生成视图的寻呼机之前。 现在,我在 hook_views_post_execute()中执行它。这里的问题是,视图页面上的结果数量不同。每页应该有10个结果,而不是7,8或6等。 我不想创建一个视图过滤器,这需要手动交互在WebBrowser中的视图接口中。 我还尝...




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


Licensed under cc by-sa 3.0 with attribution required.