Answers:
阅读文档(https://api.drupal.org/api/drupal/core!modules!views!src!ViewExecutable.php/class/ViewExecutable/8)之后,我尝试了以下操作(有效):
$view = \Drupal\views\Views::getView('your_view_id');
$view->setDisplay('your_display_id');
$displayObj = $view->getDisplay();
//$displayPluginTitle = $displayObj->pluginTitle()->render();
//$displayTitle = $displayObj->getOption('title');
$displayName = $displayObj->display['display_title'];
NB1:我在TranslatableMarkup对象上使用了render函数,这就是pluginTitle函数返回的内容。在那里可以使用其他功能,例如getUntranslatedString
NB2:我误解了OP。:-)注释掉了代码的错误部分,该部分返回了显示插件的标题,而不是请求的显示标题。NB3:我误会了OP。再次!:-)注释掉了代码的错误部分,该部分返回了显示器的标题,而不是请求的显示器名称。出于我的辩护,该属性被标记为“显示名称”,其名称为“ display_title”(如OP中所述)。
Views示例的屏幕截图:
还有一个测试脚本,该脚本获取显示的标题(带有输出):
干杯!
以下代码取决于ctools_views模块。
$view = \Drupal\views\Views::getView('your_view_id');
$view->setDisplay('your_display_id');
$displayObj = $view->getDisplay();
$displayName = $displayObj->display['display_title'];
要获得显示标题,只需要以下代码。
$view = \Drupal\views\Views::getView('your_view_id');
$view->setDisplay('your_display_id');
$displayName = $view->getTitle();