Drupal 8 自定义模块中的视图标题
Drupal 8 customizing view title in module
我正在使用以下代码将视图标题更改为自定义标题:
function MYMODULE_preprocess_page_title(&$variables) {
if (some logic to check if this is the correct view)
$variables['title] = 'Something Different!';
}
这可以更改 <h1>
标签内内容区域的标题,但不会更改浏览器选项卡的标题(在 <html><header><title>...</title>
中)。
更改视图标题以同时反映在页面 body 和浏览器标题中的正确方法是什么?
这将取决于您如何构建或使用什么主题,例如使用默认系统主题更改 HTML 标题,它使用类似这样的东西
https://github.com/drupal/drupal/blob/8.4.x/core/modules/system/templates/html.html.twig#L32
<title>{{ head_title|safe_join(' | ') }}</title>
在这种情况下,您需要查看它的值是什么,我建议在页面预处理器中查找值。
This 页面应该可以提供帮助。
tl;dr 您可以在 *.routing.yml
文件中设置标题(静态或动态),也可以通过在标记数组中设置 #title
来设置标题。
我正在使用以下代码将视图标题更改为自定义标题:
function MYMODULE_preprocess_page_title(&$variables) {
if (some logic to check if this is the correct view)
$variables['title] = 'Something Different!';
}
这可以更改 <h1>
标签内内容区域的标题,但不会更改浏览器选项卡的标题(在 <html><header><title>...</title>
中)。
更改视图标题以同时反映在页面 body 和浏览器标题中的正确方法是什么?
这将取决于您如何构建或使用什么主题,例如使用默认系统主题更改 HTML 标题,它使用类似这样的东西 https://github.com/drupal/drupal/blob/8.4.x/core/modules/system/templates/html.html.twig#L32
<title>{{ head_title|safe_join(' | ') }}</title>
在这种情况下,您需要查看它的值是什么,我建议在页面预处理器中查找值。
This 页面应该可以提供帮助。
tl;dr 您可以在 *.routing.yml
文件中设置标题(静态或动态),也可以通过在标记数组中设置 #title
来设置标题。