ecshop后台如何设置多语言选择

2011-10-12 00:38 来源:www.chinab4c.com 作者:ecshop专家

     当我们将ecshop拿来做多语言系统,或者是用来做贸易交易的时候。可能ecshop前台可以制作成语言系统选择切换的。ecshop多语言系统。但是如果我们后台想实现ecshop多语言切换,如何是好呢。想设置不同的管理员,有不同的ecshop多语言切换系统的时候。我们就必须对ecshop后台如何设置多语言选择进行分析。

     首先,我们可以记录每个管理员,他所对应的语言项,后台可以做成编辑形式。然后在ecshop的管理员编辑里面,选择他对应的语言包。在登陆的时候,记录该语言包字段。通过session动态的去判断和调用ecshop语言包.

    1:修改ecshop数据库 alter table tom_admin_user add column is_lan int(1) default 0;

2:admin/templates/privilege_info.htm
 <tr>
    <td class="label">选择语言:</td>
    <td>
      <input type="radio" name="is_lan" value="1" {if $user.is_lan eq '1'}checked{/if}/>中文
   <input type="radio" name="is_lan" value="0" {if $user.is_lan eq '0'}checked{/if}/>蒙古语
   
   </td>
  </tr>


3:admin/privilege.php
 $sql = "INSERT INTO ".$ecs->table('admin_user')." (user_name, email, password, add_time, nav_list, action_list, role_id,is_lan) ".
           "VALUES ('".trim($_POST['user_name'])."', '".trim($_POST['email'])."', '$password', '$add_time', '$row[nav_list]', '$action_list', '$role_id','$_POST[is_lan]')";

4:admin/privilege.php的edit里面

$sql = "SELECT user_id, user_name, email, is_lan,password, agency_id, role_id FROM " .$ecs->table('admin_user').
           " WHERE user_id = '".$_REQUEST['id']."'";
    $user_info = $db->getRow($sql);

5:updata

  //更新管理员信息
    $sql = "UPDATE " .$ecs->table('admin_user'). " SET ".
           "user_name = '$admin_name', ".
     "is_lan = '$_POST[is_lan]', ".
           "email = '$admin_email' ".
           $action_list.
           $role_id.
           $password.
           $nav_list.
           "WHERE user_id = '$admin_id'";
 

6:admin/includes/lib_main.php修改以下函数

function set_admin_session($user_id, $username, $action_list, $last_time)
{
    $_SESSION['admin_id']    = $user_id;
    $_SESSION['admin_name']  = $username;
    $_SESSION['action_list'] = $action_list;
    $_SESSION['last_check']  = $last_time; // 用于保存最后一次检查订单的时间
 $_SESSION['is_lan'] = $is_lan;
}

 

然后通过动态处理$_CFG['lang']来达到动态调用语言包的目的。

  来源:http://www.chinab4c.com