Drupal 7:有没有办法为 drupal 电子邮件字段创建格式化程序

Posted

技术标签:

【中文标题】Drupal 7:有没有办法为 drupal 电子邮件字段创建格式化程序【英文标题】:Drupal 7 : Is there a way to create a formatter for drupal email field 【发布时间】:2017-03-02 04:34:47 【问题描述】:

有没有办法为drupal电子邮件字段创建格式化程序,以便在视图表中查看时解密。

我尝试使用下面的代码为它创建一个格式化程序

function MYMODULE_field_formatter_info() 
  return array(
    'views_decrypt_field' => array(
      'label' => t('Decrypt this field'),
      'field types' => array('textfield'),
    ),
  );


function MYMODULE_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) 
  $settings = $display['settings'];
  $element = array();
  if ($display['type'] == 'views_decrypt_field') 
    dsm($items);
  
  return $element;

当我运行此代码时,“textfield”类型的其他字段会显示此格式化程序。 我正在尝试为所有“文本”类型字段创建一个通用格式化程序,以便如果它们被加密,那么我可以在视图中使用这个格式化程序来解密它们。

注意:电子邮件字段未在 VIEW 的字段设置中显示任何格式化程序下拉菜单。

【问题讨论】:

【参考方案1】:

您需要使用此页面中的所有功能列表:https://api.drupal.org/api/drupal/modules!field!field.api.php/group/field_formatter/7.x

hook_field_formatter_info => 公开 Field API 格式化程序类型。

hook_field_formatter_info_alter => 对 Field API 格式化程序类型进行更改。

hook_field_formatter_prepare_view => 允许格式化程序加载正在显示的字段值的信息。

hook_field_formatter_view => 为字段值构建可渲染数组。

【讨论】:

以上是关于Drupal 7:有没有办法为 drupal 电子邮件字段创建格式化程序的主要内容,如果未能解决你的问题,请参考以下文章

drupal 7中使用mime邮件模块的电子邮件

在视图中,Drupal 7,有没有办法显示从一个节点显示的字段总数?

带有 ubercart 的 drupal 6 或 7

自动将 drupal 7 内容类型转换为代码。内容类型生成器代码?

Drupal 7 发送不带附件的电子邮件

Drupal 7 - Drupal 角色的有机组管理员