使用hook_views_pre_render()将字段更改为URL链接 -- views 领域 和 hooks 领域 drupal 相关 的问题

Use hook_views_pre_render() to change field to url link


1
vote

问题

中文

我想在视图中读取hook_views_pre_render(),并将字段输出更改为可点击的链接。

这里是代码:

  function sbn_views_pre_render(ViewExecutable $view) {     // https://drupal.stackexchange.com/questions/272495/how-to-get-views-field-names-values-for-hook-views-pre-render     if ($view->id() == 'find_paragraphs') {       foreach ($view->result as $key => $value) {         $parent_id_value =  $value->_entity->parent_id->getValue()[0]['value'];         $parent_type_value =  $value->_entity->parent_type->getValue()[0]['value'];         $private_files = $value->_entity->field_private_files->getValue()[0]['value'];         if ($parent_type_value == 'node') {           $link = '<a href="/node/'.$parent_id_value.'">'.$parent_id_value.'</a>';           // $value->_entity->set('parent_id', $link);                 }         if ($parent_type_value == 'paragraph') {         }       }     } }   

使用标准的HTML编码格式化$ LINK值不起作用。有关如何格式化此挂钩中链接的任何想法,以便渲染字段是可点击的链接?

英文原文

I want to use hook_views_pre_render() to read in a view and change a field output to a clickable link.

Here is code:

function sbn_views_pre_render(ViewExecutable $view) {     // https://drupal.stackexchange.com/questions/272495/how-to-get-views-field-names-values-for-hook-views-pre-render     if ($view->id() == 'find_paragraphs') {       foreach ($view->result as $key => $value) {         $parent_id_value =  $value->_entity->parent_id->getValue()[0]['value'];         $parent_type_value =  $value->_entity->parent_type->getValue()[0]['value'];         $private_files = $value->_entity->field_private_files->getValue()[0]['value'];         if ($parent_type_value == 'node') {           $link = '<a href="/node/'.$parent_id_value.'">'.$parent_id_value.'</a>';           // $value->_entity->set('parent_id', $link);                 }         if ($parent_type_value == 'paragraph') {         }       }     } } 

Formatting the $link value using standard html coding does not work. Any ideas on how to format the link from within this hook so that the rendered field is a clickable link?

     
         
         

回答列表

0
 
vote

我没有能够弄清楚如何使用hook_views_pre_render()有条件地改变字段,但我确实弄清楚了如何在views ui:

字段 - &gt;父ID-&gt;重写结果 - &gt; 用自定义文本覆盖此字段的输出:

  {% if parent_type == 'paragraph' %} <a href="/find-paragraphs?id={{ parent_id }}">{{ parent_id }}</a> {% else %} <a href="/node/{{ parent_id }}">{{ parent_id }}</a> {% endif %}   
 

I have not been able to figure out how to conditionally change field to link using hook_views_pre_render(), but I did figure out how to do it within the Views UI:

Fields->Parent ID->Rewrite results->Override the output of this field with custom text:

{% if parent_type == 'paragraph' %} <a href="/find-paragraphs?id={{ parent_id }}">{{ parent_id }}</a> {% else %} <a href="/node/{{ parent_id }}">{{ parent_id }}</a> {% endif %} 
 
 

相关问题

0  用分类权重排序  ( Sort by taxonomy weight ) 
我有一个内容类型"成员" ,带有一个名为"成员角色" 的分类术语,它是一个多价值字段。每个成员最多可包含3个成员角色。 我已经创建了一个视图,以参考分类场与分类学术语重量排序的成员。但问题是每个成员在视图结果页面中重复3次。 我的问题是如何删除重复项,并且仅在多价字段(成员角色)中的最后一个值排序。 ...

2  如何在自定义字段中使用替换模式?  ( How can i use a replacement pattern in a custom field ) 
我刚刚在视图中创建了一个新的自定义字段,但我想在该字段中使用替换模式。是否有可能这样做? class CustomButtonField extends FieldPluginBase { /** * {@inheritdoc} */ public function usesGroupBy(...

0  只在首页上完全显示最近的帖子,其他人  ( Fully display only most recent post on front page furl the others ) 
目前我的首页只会为我所有新帖子显示一款预告片。 我知道我可以转到 Structure > Views > Frontpage 并将其更改为 show Content | Full ,它将在首页上显示每个帖子的完整帖子。 我想做的是,虽然只是我最近的帖子的全部帖子,然后是所有其他帖子的速度。 是可以这样做吗? ...

1  如何在视图模板中单独访问链接字段(URL和文本)值?  ( How to access link fields url and text value separately in views template ) 
我的视图块有一个名为 field_link 的链接字段,附加到内容类型命名为 products ,和我正在尝试在视图模板 views-view-unformatted.html.twig 中单独访问链接字段值(URL和Text)。 以下代码给出格式化的html。 {{ row.content['#view']....

0  配置导入错误  ( Configuration import error ) 
我在本地系统中有drupal8。我想将我的生产环境配置导入我当地的。所以我正在运行 醉汉cim -y 我收到以下错误。 Unexpected error during import with operation update for core.entity_view_display.paragraph.card...

0  我们可以访问视图 - 查看-unformatted.twig中的段落字段吗?  ( Can we access paragraph field in views view unformatted twig ) 
有没有办法访问视图中的视图中的段落中的字段 - 查看-unformatted.twig。 我想在打印行之前执行检查段落的字段 这样的东西 {% for row in rows %} {% set row_classes = [ default_row_class ? 'views-row'...

3  如何在视图块上获取总行数  ( How to get total number of rows on a block of a view ) 
在 hook_block_view_alter() 我需要获得这个块显示的总行数。 例如,我有一个下列块的视图: 在 hook_block_view_alter() 我做了适当的检查,以便杂草不必要的块,并获得上图所示的一个。 function mymodule_block_view_alter(array...

1  为什么我不能从上下文过滤器评估的URL中删除%20?  ( Why cant i remove the 20 from a url evaluated by a contextual filter ) 
我用上下文过滤器创建了一个具有分类术语的上下文过滤器,具有两个单词,使得空间在URL上创建%20。我发现解决方案是检查"转换空间" 框中的"转换空间" 框,但仍然不会摆脱URL。有人在这里知道为什么?我正在附加视图的配置的屏幕镜头和我使用pathauto模块设置的URL模式。谢谢! ...

0  在URL中发送视图字段 - Drupal  ( Send view field in url drupal ) 
我有一个使用drupal 8视图中的嵌入式过滤器创建的搜索页面。在我有一个字段的字段列表中 - [field_program_id]。在单击此按钮时,我还有一个按钮"了解更多" ,我希望通过[Field_program_id]并显示该页面中的程序的详细信息。不知道从哪里开始。任何指导?! 我的视图如下所示: ...

0  在preprocess_views_view_field中调用另一个字段  ( Call another field inside preprocess views view field ) 
如何访问Preprocess_views_view_field中另一个字段的值。 这是一个例子: function homename_preprocess_views_view_field(&amp; $变量){ $ view = $ Variables ['View']; $字段= $ Variables...

0  在MySQL中的视图中使用分类学曝光过滤器只能使用61个表加入  ( Using taxonomy exposed filter in a view ends in mysql can only use 61 tables in ) 
场景 一个名为300分类术语的国家的分层词汇,每个国家/地区,缩进,如: 美国(1级) 安圭拉(2级) 安提瓜y巴布达(2级) ......(2级) 欧洲(1级) 奥地利(2级) 亚美尼亚(2级) ......(2级) 一个名为Office的内容类型...

1  如何添加自定义串行程序来更改REST导出的输出  ( How to add a custom serializer to alter the output of rest export ) 
响应/输出的一个视图,我想添加一个额外的行。 所以我在我的模块中创建了一个自定义串行程序。 文件的路径为: My_Module/src/Plugin/views/style/HindiCustomSerializer.php 这里我扩展了 core/modules/rest/src/Plugin/views...

1  分类学期组内容,但随后还列出了每一行中的所有术语  ( Group content by taxonomy term but then also list all terms in each row ) 
我正在寻找创建视图的帮助。 我有一个内容类型,事情。事情有一个领域,您可以在分类,类别中选择多个术语。我希望我的观点看起来像这样: 类别1 事物1 第1类 第2类 事物2 第1类 第3类 类别2 事1 第1类 第2类 所以基本上,我想按照条款进行组,然后列出每件事下面...

0  如何在Twig [Views.view.unformatted]中获取翻译内容?  ( How to get translated content in twig views view unformatted ) 
我正在尝试在我的自定义视图 - 视图 - 未格式化的枝条文件中获取翻译节点标题。 以下是我在Twig文件中检索我的节点标题的方式 <div class="col-md-6 title"> {% for row in rows %} <strong>{{ row.content['#row']._en...

0  包含包含空字段值的计数聚合  ( Aggregation with count that includes empty field values ) 
我看到了关于聚合的其他问题,但我没有找到类似于我需要的东西。 我有一个通过启用聚合的视图,结果由字段值(文本字段)分组,也与该字段的计数进行分组。 一切都好,但我想包括空值的数量,我不能让这件事工作...... 现在我有类似的东西 | FIELD VALUE | COUNT | |-------------...

1  仅在一个特定视图中隐藏/删除JS-View-DOM-ID  ( Hide remove js view dom id in just one specific view ) 
我找到了,带有ID"JS-View-DOM-ID" 的div来自视图 - View.html.twig。由于我想渲染一个View输出,而没有任何Drupals HTML标记,我已经捕获了上下文链接,我可以转向特定视图。然后我将视图格式设置为未使用的格式,并从此视图模板中删除了所有不需要的HTML标记。 现在我得到...

1  如何从视图中摆脱数字的大课程?  ( How to get rid of large classes with numbers from views ) 
这是那个类的目的: class="js-view-dom-id-0fc70eec09ba01f6b7c7867ee7e19f7dcec1ee8b64de9dc8b791865caf299ec7" 从Twig模板更改此类是安全的? 谢谢。 ...

0  如何在搜索API查询中更改条件运算符?  ( How to change the condition operator in the search api query ) 
我在我的搜索API视图页面上有一个日期字段面滤镜。 当我在过滤器中选择日期时,搜索API会显示那些具有在日期字段中选择的日期值的结果。 我想显示那些具有大于或等于日期平面滤波器中所选择的日期值的结果。 是可能的吗?我用搜索API查询挂钩检查,但我看不到任何有用的功能来改变条件。 ...

0  组合字段过滤器和缺少自定义搜索API字段  ( Combined fields filters and missing custom search api fields ) 
drupal 8 我正在使用搜索API和视图来搜索来自多种内容和介质类型的几个字段。例如,我有一个自定义"描述" 字段为Media-&gt;文件所以用户可以将可搜索的摘要字段添加到他们上传到网站的PDF。 虽然我可以将其设置为使用公开的过滤器和"或" 过滤器分组搜索所有字段,这导致每个字段的曝光过滤器........

0  关于内容,选择分类父母,并展示所有的孩子  ( On content choose the taxonomy parent and display all the children ) 
我有一个基于分类分类的分类字段的内容类型,具有3个级别。我使用简单的分层选择(SHS)来选择并显示术语。 我希望有一个在每个内容页面上显示所选择的术语的视图,但是当我选择父术语时,我也想要显示所有子项而不选择其中每一个。 我用内容进行了一个内容视图:ID上下文过滤器。作为格式化器,我使用SHS,但它只在所选深度显...




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


Licensed under cc by-sa 3.0 with attribution required.