Zen-cart中国家表的管理比较粗糙,特别是在要对应国家下拉列表进行调整时,比如把常用的国家调整到最前面,那么就需要扩展一下国家表字段了。
涉及到国家表管理的是admin/countries.php文件,需要对这个文件做一些改动: ///////////////////////$cnt = $db->metaColumns(TABLE_COUNTRIES);if(!isset($cnt[strtoupper('countries_name_cn')])){ $db->Execute("ALTER TABLE ".TABLE_COUNTRIES." ADD countries_name_cn VARCHAR( 64 ) NULL DEFAULT ''");}if(!isset($cnt[strtoupper('order_by')])){ $db->Execute("ALTER TABLE ".TABLE_COUNTRIES." ADD order_by int(11) NOT NULL DEFAULT '0'");}
///////////////////////
这样可以添加中文名称和排序码,排序码添加了之后还要修改两个获取国家下拉列表的函数(前台后台分别对应一个): #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 { /////////////////////// $cnt = $db->metaColumns(TABLE_COUNTRIES); if(!isset($cnt[strtoupper('order_by')])){ $db->Execute("ALTER TABLE ".TABLE_COUNTRIES." ADD order_by int(11) NOT NULL DEFAULT '0'"); } /////////////////////// $countries = "select countries_id, countries_name 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->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); } /////////////////////// $cnt = $db->metaColumns(TABLE_COUNTRIES); if(!isset($cnt[strtoupper('countries_name_cn')])){ $db->Execute("ALTER TABLE ".TABLE_COUNTRIES." ADD countries_name_cn VARCHAR( 64 ) NULL DEFAULT ''"); } if(!isset($cnt[strtoupper('order_by')])){ $db->Execute("ALTER TABLE ".TABLE_COUNTRIES." ADD order_by int(11) NOT NULL DEFAULT '0'"); } /////////////////////// $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; }
函数中加入了判断对应字段是否存在的逻辑,防止出错。 (责任编辑:最模板) |





ecshop转盘积分抽奖插件
人气:7377
ecshop内衣模板兰缪2010版
人气:723
ecshop仿oppo整站模板2015版
人气:999
ecshop也买酒2012最新模板
人气:2991
ecshop仿凡客2011免费模板整
人气:4511
Revo大型电子商务网站mag
人气:140