【问题标题】:How to get format settings of field in drupal 8?如何在 drupal 8 中获取字段的格式设置?
【发布时间】:2017-05-30 04:48:26
【问题描述】:

我有一个 drupal 8 项目,我的客户要求我获取内容类型字段的格式设置,以响应移动应用程序的 api。我创建了一个新模块,并试图获取格式设置的数据。但一直没有成功。我只是得到一个字段的所有设置,但没有显示内容类型中的字段设置。

在下图中,我想获取格式列的所有数据,并将其显示为 json。请帮我。非常感谢!

【问题讨论】:

标签: field drupal-8


【解决方案1】:

如果要提取特定字段的格式化程序设置,可以使用此选项:

/** @var \Drupal\Core\Entity\EntityDisplayRepository $entityDisplayRepository */
$entityDisplayRepository = \Drupal::service('entity_display.repository');
$productViewDisplay = $entityDisplayRepository->getViewDisplay('node', 'page', 'teaser' /* optional */);
$all_formatters_settings = $productViewDisplay->get('content');

$formatter_settings = $all_formatters_settings['field_my_field'];

如果您需要获取小部件的设置,您可以类似地调用存储库中的函数getFormDisplay而不是getViewDisplay:

/** @var \Drupal\Core\Entity\EntityDisplayRepository $entityDisplayRepository */
$entityDisplayRepository = \Drupal::service('entity_display.repository');
$productViewDisplay = $entityDisplayRepository->getFormDisplay('node', 'page', 'teaser' /* optional */);
$all_formatters_settings = $productViewDisplay->get('content');

$formatter_settings = $all_formatters_settings['field_my_field'];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多