中文地址格式的顯示,和修改之前做了些中文化的工作,因為近期一段時間不穩定,放下了沒有完成,
其中之一是,地址顯示的中文化修改試驗,大致上是可以用的,不過還需要其他的細緻配合,
現在先放上來,希望有興趣的朋友一起討論,加以改善,大家一同分享成果!
現在這修改主要針對是,在新會員登記時的資料登記表格,
經修改後的效果,可在下面圖像 chinese_login.gif 中看到,修改時間順利的約用十分鍾。
不過在修改前,請用以下的準備,也是我一般修改的習慣---------------------------------------------------------------------------------
1.
在做任何動作之前,請先備份 !!!!!!!!!!!!!2. 在中文和英文語系,都分開使用不同的佈景模板,在這修改更加要這樣,可則會互相干擾
3. 肯定要用「優先取代」
以下修改,是在 v1.2.6 試驗的-----------------------------------------
需修改檔案,原檔案在 /includes/templates/template_default/templates tpl_login_default.php
把它複製到
/includes/templates/YOUR_TEMPLATE/templates tpl_login_default.php
修改行號 128 至 135 ,其實只是姓氏和名字在表格上下的對掉
<tr>
<td class="main"><?php echo ENTRY_FIRST_NAME; ?></td>
<td class="main"><?php echo zen_draw_input_field('firstname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname', '40')) . ' ' . (zen_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_FIRST_NAME_TEXT . '</span>': ''); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_LAST_NAME; ?></td>
<td class="main"><?php echo zen_draw_input_field('lastname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_lastname', '40')) . ' ' . (zen_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_LAST_NAME_TEXT . '</span>': ''); ?></td>
</tr>
修改後成為
<tr>
<td class="main"><?php echo ENTRY_LAST_NAME; ?></td>
<td class="main"><?php echo zen_draw_input_field('lastname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_lastname', '40')) . ' ' . (zen_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_LAST_NAME_TEXT . '</span>': ''); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_FIRST_NAME; ?></td>
<td class="main"><?php echo zen_draw_input_field('firstname', '', zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname', '40')) . ' ' . (zen_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_FIRST_NAME_TEXT . '</span>': ''); ?></td>
</tr>
修改行號 194
<td class="plainBox"><?php require(DIR_WS_BLOCKS . 'blk_address_format_us.php'); ?></td>
成為
<td class="plainBox"><?php require(DIR_WS_BLOCKS . 'blk_address_format_tw.php'); ?></td>
其實是要調動下面新加入的地址格式檔案 blk_address_format_tw.php, 它也是表格上下的對掉而已。
新增的檔案應該放在 - 注意這是沒有優先取代的,請備份
---------------------------------------------------------------------------------------
/includes/blocks/blk_address_format_tw.php
blk_address_format_tw.php 的檔案內容是
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="main"><?php echo ENTRY_COUNTRY; ?></td>
<td class="main"> <?php echo zen_get_country_list('country', $selected_country) . ' ' . (zen_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>
</tr>
<?php
if (ACCOUNT_SUBURB == 'true') {
?>
<tr>
<td class="main"><?php echo ENTRY_STATE; ?></td>
<td class="main">
<?php
if ($process == true) {
if ($entry_state_has_zones == true) {
$zones_array = array();
$zones_query = "select zone_name
from " . TABLE_ZONES . "
where zone_country_id = '" . (int)$country . "'
order by zone_name";
$zones_values = $db->Execute($zones_query);
while (!$zones_values->EOF) {
$zones_array[] = array('id' =>$zones_values->fields['zone_name'], 'text' =>$zones_values->fields['zone_name']);
$zones_values->MoveNext();
}
echo zen_draw_pull_down_menu('state', $zones_array, $zone_name);
} else {
echo zen_draw_input_field('state', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_state', '40'));
}
} else {
echo zen_draw_input_field('state', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_state', '40'));
}
if (zen_not_null(ENTRY_STATE_TEXT)) echo ' <span class="inputRequirement">' . ENTRY_STATE_TEXT . '</span>';?> </td>
</tr>
<?php
}
?>
<tr>
<td class="main"><?php echo ENTRY_CITY; ?></td>
<td class="main"><?php echo zen_draw_input_field('city', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_city', '40')) . ' ' . (zen_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">' . ENTRY_CITY_TEXT . '</span>': ''); ?></td>
</tr>
<?php
if (ACCOUNT_STATE == 'true') {
?>
<tr>
<td class="main"><?php echo ENTRY_STREET_ADDRESS; ?></td>
<td class="main"><?php echo zen_draw_input_field('street_address', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_street_address', '40')) . ' ' . (zen_not_null(ENTRY_STREET_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_STREET_ADDRESS_TEXT . '</span>': ''); ?></td>
</tr>
<?php
}
?>
<tr>
<td class="main"><?php echo ENTRY_SUBURB; ?></td>
<td class="main"><?php echo zen_draw_input_field('suburb', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_suburb', '40')) . ' ' . (zen_not_null(ENTRY_SUBURB_TEXT) ? '<span class="inputRequirement">' . ENTRY_SUBURB_TEXT . '</span>': ''); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_POST_CODE; ?></td>
<?php
$selected_country = ($_POST['country']) ? $country : SHOW_CREATE_ACCOUNT_DEFAULT_COUNTRY;
?>
<td class="main"><?php echo zen_draw_input_field('postcode', '', zen_set_field_length(TABLE_ADDRESS_BOOK, 'entry_postcode', '40')) . ' ' . (zen_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">' . ENTRY_POST_CODE_TEXT . '</span>': ''); ?></td>
</tr>
</table>
另外有一快速的修改調整,在這順便一提,它會在地址目錄、和訂單等中看到的-----------------------------------------------------------------------------------------------------------
現存在資料庫中,預設有五種地址格式,不過都不合用,所以新增第 6 種格式
#6 - 新增中文用的格式,
$lastname $firstname$cr$country$cr$state$cr$city$cr$streets$cr( $postcode )
$country / $state / $city
請使用 phpadmin 在資料庫的表格 address_format, 新增第 6 個記錄,並輸入以下的資料
address_format_id6
address_format$lastname $firstname$cr$country$cr$state$cr$city$cr$streets$cr( $postcode )
address_summary$country / $state / $city
之後,在後台管理頁,設置國家地區------------------------------------------------------------
=>
地區/稅金
* 國 - 家
在國家中,去到第 11 頁,選擇 => Taiwan (台灣),
把 => 地址格式: 6
<== 把它設定成 6, 預設是 1 再到 =>
--------------------------------------------------------------
配置設定
* Customer Details
Create Account Default Country ID Taiwan
把它設定為 Taiwan (台灣) 好了這裡的修改已經完成,您可以到 login 登錄頁面、通訊錄和新發出的訂單確認通知中,看看新的效果。
修改後的檔案亦放上,提供給大家試驗修改,有好的結果請大家回報交流!
另外還有其他需要修改調整的,如國家、地區定義的中文化等,也有電郵的問題等,有時間另文詳細討論。[附件已被管理員刪除]