首页 > 代码库 > Zencart 国家排序及中文名称的扩展

Zencart 国家排序及中文名称的扩展

技术分享

最终实现效果如上

具体步骤:

1. 手动或SQL修改数据表,增加2个字段

ALTER TABLE countries ADD `countries_name_cn` VARCHAR( 64 ) NULL DEFAULT ‘‘, ADD `order_by` int(11) NOT NULL DEFAULT 0;

2. 修改admin/countries.php文件,增加表单插入编辑功能, 共计7处,此处忽略具体代码。

3. 之后还要修改两个获取国家下拉列表的函数(前台后台分别对应一个)

#includes/functions/functions_lookups.php

  function zen_get_countries($countries_id = ‘‘, $with_iso_codes = false) {    global $db;    $countries_array = array();    if (zen_not_null($countries_id)) {~~    } else {      $countries = "select countries_id, countries_name, countries_name_cn                    from " . TABLE_COUNTRIES . "                    order by order_by, countries_name";      $countries_values = $db->Execute($countries);      while (!$countries_values->EOF) {        $countries_array[] = array(‘countries_id‘ => $countries_values->fields[‘countries_id‘],                                   ‘countries_name‘ => $countries_values->fields[‘countries_name‘]." - ".$countries_values->fields[‘countries_name_cn‘]);        $countries_values->MoveNext();      }    }    return $countries_array;  }

#admin/includes/functions/general.php

  function zen_get_countries($default = ‘‘) {    global $db;    $countries_array = array();    if ($default) {      $countries_array[] = array(‘id‘ => ‘‘,                                 ‘text‘ => $default);    }    $countries = $db->Execute("select countries_id, countries_name,countries_name_cn                               from " . TABLE_COUNTRIES . "                               order by order_by, countries_name");    while (!$countries->EOF) {      $countries_array[] = array(‘id‘ => $countries->fields[‘countries_id‘],                                 ‘text‘ => $countries->fields[‘countries_name‘]." - ".$countries->fields[‘countries_name_cn‘]);      $countries->MoveNext();    }    return $countries_array;  }

最终效果

技术分享

如果不是特别需要,后台函数也可不修改。

   

 

Zencart 国家排序及中文名称的扩展