【问题标题】:Drupal 7 commerce module billing country selection based on userDrupal 7 商务模块基于用户的计费国家选择
【发布时间】:2014-12-16 05:57:47
【问题描述】:

我对 Drupal 7 商务模块有疑问。

我们在主页上有一个国家下拉菜单,用户可以选择任何国家进行购物。

Once in commerce 结算部分目前将默认国家/地区显示为加拿大。我在这里要做的是基于主页国家选择,我必须在计费部分中为国家下拉菜单设置相同的值。请任何人知道我可以如何实现这一点?

我是 Drupal 的新手

相同类型的问题可以在这里找到https://drupal.stackexchange.com/questions/120858/prepopulating-county-state-field-ajax-driven-field

【问题讨论】:

    标签: php drupal


    【解决方案1】:

    你不能找回在主页上选择的这个国家吗?也许它出现在网址上,您可以使用current_path来获取它? 在首页被选中如何处理?

    编辑: 如果您可以在任何地方访问它,那么您可能可以在自定义模块中使用 hook_widget_form_alter,如下所示:

    function YOUR_MODULE_field_widget_form_alter(&$element, &$form_state, $context) {
        $element['#address']['country'] = 'US';
    }
    

    将“YOUR_MODULE”替换为您的模块名称。并通过用户所在国家/地区的 ISO 更改“US”。您还应该在 form_id 上添加一个条件语句,以仅在结帐表单上应用此更改。 我希望它有效!

    【讨论】:

    • 我让用户在会话中选择了国家/地区值,我需要在结帐页面中将此值显示为计费国家/地区值。
    • 我已经编辑了我之前的评论,希望您可以尝试一下。
    • 太棒了!如果确实有效,您能否将此答案设置为正确答案。谢谢。
    • 我试图投赞成票,但我是堆栈溢出的新用户,目前我的声誉较低。至少需要 15 名声望才能投票。还有其他方法可以将此答案设置为正确答案吗?
    • 在我的答案旁边,您应该可以选择它。 (在投票小部件下)。 Here
    猜你喜欢
    • 2018-02-15
    • 1970-01-01
    • 2013-08-29
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2011-10-31
    相关资源
    最近更新 更多