遇到一个需求,后台有一个view list,现在希望在list的字段标签上添加title。
因为这个list是在后台管理界面的,并不是前台的list,所以也不可能去专门加一个自定义主题来覆写。在view里面是能简单为为字段标签添加div,h1,h2这些html标签或者class,但是不能配置自定义的其他属性。最后还是考虑用hook来实现。
参考:template_preprocess_views_view_table
在这个函数中有定义属性的地方,只需在这里添加一行代码即可。
$variables['header'][$field]['attributes']['title'] = $fields_desc[$field] ?? '';
这里有几个注意的地方:
1、因为我的drupal版本是9.3,这个demo是8.1的,所有有一个函数是已经被弃用的了:
$query = tablesort_get_query_parameters();
这里应该换成:
$query = \Drupal\Core\Utility\TableSort::getQueryParameters(\Drupal::request());
2、从文档复制过来的代码是没有引入依赖的
所以要加上这两行
use \Drupal\Component\Utility\Html;
use \Drupal\Core\Template\Attribute;