【问题标题】:Drupal retrieve first name instead of name/realname?Drupal检索名字而不是姓名/实名?
【发布时间】:2018-03-22 17:25:53
【问题描述】:

如何检索名字而不是姓名(原始用户名)或实名,以便在电子邮件模板变量 !username 中使用它?

$variables['!username'] = $params['account']->realname;

http://cgit.drupalcode.org/faq_ask/tree/faq_ask.module?id=be753ca5c5fe51f33c0515999ceb3a4179298da8#n1052

不确定这是否与实名有关,或者“帐户”在哪里定义...?

我创建了一个 名字的字段,它被 LDAP 拉取以提供实名并具有 token [user:field-first-name]

我能以某种方式从令牌中提取它吗?

更新 - 使用用户负载的代码:

$account = user_load($expert->uid);
        $params = array(
          'category' => is_object($term)?$term->tid:-1,
          'question' => $node->title,
          'question_details' => $node->detailed_question,
          'nid' => $node->nid,
          'creator' => theme('username', array('account' => user_load($node->uid), 'plain' => TRUE)),
          'account' => $account,
        );

我试过了

$account = user_load($expert->uid);
$first_name = $account->field_first_name['und'][0]['value'];
        $params = array(
          'category' => is_object($term)?$term->tid:-1,
          'question' => $node->title,
          'question_details' => $node->detailed_question,
          'nid' => $node->nid,
          'creator' => theme('username', array('account' => user_load($node->uid), 'plain' => TRUE)),
          'account' => $first_name,

【问题讨论】:

    标签: php drupal drupal-7


    【解决方案1】:

    如果您为名字创建了一个自定义字段并希望使用用户电子邮件访问它,您可以这样做:

    $user = user_load_by_mail($mail); 
    $first_name = $user->field_first_name['und'][0]['value'];
    

    【讨论】:

    • 非常感谢丹妮拉的帮助!我试过了,但还不能让它工作。我更新了上面的代码,我注意到它使用 user_load 代替。我也可以使用它吗,或者它只能与 user_load_by_mail 一起使用,请参阅cgit.drupalcode.org/faq_ask/tree/…
    • 该代码也适用于 user_load($user->uid); .因此,调试您的代码并确保 $expert 变量包含用户 objetc。
    • 非常感谢,我刚刚发现我可以使用 dpm 查看可用字段 "dpm($account) " :) 确认该字段存在 :) 我管理通过简单地添加“->field_first_name['und'][0]['value']”来使其工作,现在我学会了将字段对象拉入变量中,再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多