分析ecshop三级地区下拉的使用

2009-08-07 17:10 来源:www.chinab4c.com 作者:ecshop专家

     ecshop中的三级地区下拉,已经封装的非常好用了。只需要在PHP文件中声明,然后在模板中调用就可以了。在网络上找的一些资料,大部分都很难使用,所以在使用ecshop处理区域的时候,相当的方面,也相当的好用。

     下面将介绍,如何在注册页面处理三级地区下拉的问题。

     1:PHP中增加下面代码.

     include_once(ROOT_PATH . 'includes/lib_transaction.php');
    include_once(ROOT_PATH . 'languages/' .$_CFG['lang']. '/shopping_flow.php');
    $smarty->assign('lang',  $_LANG);

    /* 取得国家列表、商店所在国家、商店所在国家的省列表 */
    $smarty->assign('country_list',       get_regions());
    $smarty->assign('shop_province_list', get_regions(1, $_CFG['shop_country']));

   以上是包含了处理地区的ecshop函数get_regions()函数,传入参数,可以返回该级别地区的所有地方名称.

   2:ecshop的smarty模板中,加入以下代码.

   <select name="country" id="selCountries_{$sn}" onchange="region.changed(this, 1, 'selProvinces_{$sn}')">
       <option value="0">-国家-</option>
       <!-- {foreach from=$country_list item=country} -->
       <option value="{$country.region_id}" {if $consignee.country eq $country.region_id}selected{/if}>{$country.region_name}</option>
       <!-- {/foreach} -->
   </select>
               
       <select name="province" id="selProvinces_{$sn}" onchange="region.changed(this, 2, 'selCities_{$sn}')">
       <option value="0">-省份-</option>
       <!-- {foreach from=$province_list.$sn item=province} -->
       <option value="{$province.region_id}" {if $consignee.province eq $province.region_id}selected{/if}>{$province.region_name}</option>
       <!-- {/foreach} -->
       </select>
       <select name="city" id="selCities_{$sn}" onchange="region.changed(this, 3, 'selDistricts_{$sn}')">
       <option value="0">-城市-</option>
       <!-- {foreach from=$city_list.$sn item=city} -->
       <option value="{$city.region_id}" {if $consignee.city eq $city.region_id}selected{/if}>{$city.region_name}</option>
       <!-- {/foreach} -->
       </select>
       <select name="district" id="selDistricts_{$sn}" {if !$district_list.$sn}style="display:none"{/if}>
       <option value="0">-地区-</option>
       <!-- {foreach from=$district_list.$sn item=district} -->
       <option value="{$district.region_id}" {if $consignee.district eq $district.region_id}selected{/if}>{$district.region_name}</option>
       <!-- {/foreach} -->
       </select>

        这个是区域选择生成的下拉.

    3:加入需要的JS脚本,用来控制下拉.

    {insert_scripts files='utils.js,transport.js,region.js,shopping_flow.js'}

    最后完成了ECSHOP三级地区下拉的使用。

   相关文章:

   ecshop中模板函数的处理

   zen cart语言模板的选择

  设置ecshop2.7.0模板

   来源:中国B4C电子商务