【问题标题】:Drupal 7: How do i display a custom field value in my blockDrupal 7:如何在我的块中显示自定义字段值
【发布时间】:2012-01-15 03:23:02
【问题描述】:

drupal 大师,我寻求您的智慧。

  1. 我有一个 twitter 块,这是带有 twitter 用户名的 twitter 块的代码,该用户名是硬编码的。

    }).render().setUser('kathylynn').start();
    
  2. 我遇到的问题是,我想从我的用户个人资料中提取用户名,其中用户已经将他们的 Twitter 帐户保存在我在个人资料下创建的文本字段中。

我已经在网上搜索了几天,但似乎找不到正确的代码来让它工作,因为我想用登录用户保存的 Twitter 帐户替换“kathylynn”用户配置文件下的文本字段。请帮忙。

【问题讨论】:

    标签: drupal-7 field


    【解决方案1】:

    使用视图模块。

    将基于用户的视图创建为块。 在视图中创建基于用户 ID 的上下文过滤器。提供当前用户登录 ID 的默认参数 调用用户 twitter 字段。 将该字段重写为

    }).render().setUser('[field_twittername]').start();

    我是凭记忆做的,所以如果它不起作用,请告诉我。

    【讨论】:

    • 谢谢大家,我两个都试过了,它们都为我工作!欠你一个!希望我能给你们买一杯咖啡!
    【解决方案2】:

    假设您将此代码直接添加到自定义块体中,只需将过滤器更改为 PHP code 类型并使用以下内容:

    global $user;
    
    // Get a fully loaded user object
    $account = user_load($user->uid);
    
    // Grab the twitter username from the field
    $twitter_username = $account->field_name_of_twitter_field[$account->language][0]['value'];
    
    // Print your (presumably javascript) code
    print "...}).render().setUser('" . $twitter_username . "').start();";
    

    【讨论】:

    • 谢谢大家,我两个都试过了,它们都为我工作!欠你一个!希望我能给你们买一杯咖啡!
    猜你喜欢
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多