【问题标题】:CS Cart 4 How to assigned a variable to a tpl fileCS Cart 4 如何将变量分配给 tpl 文件
【发布时间】:2014-07-11 15:04:29
【问题描述】:

我想在我们的 CS-Cart 商店的产品页面上向我们的用户显示国家代码。

我试过 {$user_data.b_country} 什么没用。

Smarty 调试控制台也没有显示此信息,所以我想我必须先将此变量分配给view.tpl 文件。

我该如何解决这个问题?

【问题讨论】:

    标签: variables smarty assign cs-cart


    【解决方案1】:

    你应该试试:

    {$cart.user_data.b_country}
    

    【讨论】:

    • 不幸的是这不起作用我已经尝试过了,变量没有根据 {debug} 传递给模板:-(
    • 所以也许你应该首先检查 Smarty 中哪些变量是可见的。您应该在 PHP 中运行 $smarty->debugging = true; 并使用从 PHP 分配的变量打开新窗口
    【解决方案2】:

    在调用 tpl 上的变量之前,您需要分配给数组变量 $user_data b_country 是个人资料的一部分,客户可以拥有多个个人资料

    下面的脚本将从主要配置文件中获取 b_country

    1。 添加文件

    app/addons/my_changes/init.php
    

    有内容

    <?php
    
    if (!defined('BOOTSTRAP')) { die('Access denied'); }
    
    fn_register_hooks(
        'sucess_user_login'
    );
    

    2。 添加文件

    app/addons/my_changes/func.php
    

    有内容

    <?php
    
    if (!defined('BOOTSTRAP')) { die('Access denied'); }
    
        function fn_my_changes_sucess_user_login(&$udata, $auth){
            if(!isset($auth['b_country']) && $auth['user_id']>0){
                $auth['b_country'] = db_get_field('SELECT b_country FROM `?:user_profiles` WHERE user_id = ?i AND profile_type = ?s', $auth['user_id'], 'P');
            }   
        }
    

    3。 现在你可以在 tpl 中使用了

    {$auth.b_country}
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多