官方微博: 腾讯  
首页 > ECSHOP教程 > ECSHOP二次开发 > ECSHOP二次开发教程 > ECSHOP全国多城市分站功能

ECSHOP全国多城市分站功能

ECSHOP教程 / ecshop 教程网(www.ecshop119.com) 2013-07-06

ecshop中添加分站实现1个商城N个城市页面 有利于搜索优化

很多朋友在问:“ECSHOP如何实现地方分站 ”,“EC可以实现分站网店吗?? ”,“能不能增加“城市分站”的功能 ”,“增加各城市分页(非分站非IP,只是一个页面),大大优化搜索! ”等诸如此类的问题,但是都没能找到一个好的答案。下面这段代码是笔者在网上找到,希望EC高手们继续补充完善,ecshop如果能实现像58同城哪样的功能肯定是使用ECSHOP的所有朋友的福音。

下面是笔都用以下代码做出来的效果图:

给ECSHOP添加全国分站:

首们在ECSHOP数据库ecs_region表中,可以发现字段parent_id为1的值就是咱们想要的全国各地分站名(region_name)

通过在ECSHOP商城根目下的index.php文件中增加1个函数:

  1.  
  2. //-- ecshop用品商城获取城市分站插件
  3.  
  4. function get_city () {
  5. $sql = "SELECT * FROM ".$GLOBALS['ecs']->table('region')." WHERE `parent_id` =1 ";
  6. $list = $GLOBALS['db']->getAll($sql);
  7.  
  8. if ($list) {
  9. return $list;
  10. }
  11.  
  12. return false;
  13. }

复制代码

继续在index.php中搜索:


  1. //-- 判断是否存在缓存,如果存在则调用缓存,反之读取相应内容

复制代码


在以上内容的下方增加:

  1. $smarty->assign('citys', get_city ()); // 城市分站

复制代码

最后在ECSHOP模板themes/你的模板/index..dwt文件中相应的地方增加:

  1. <p>全国分站
  2. {foreach from=$citys item=c}
  3. <a href="http://www.ecshop119.com/">{$c.region_name }</a>
  4. {/foreach}
  5. </p>

复制代码

商城是在红色部份代码处增加的,当然你也可以根据实际需要增加在别的位置。

  1. <meta http-equiv="Content-Type" content="text/html; charset=gbk">
  2. <script type="text/javascript">
  3. var process_request = "{$lang.process_request}";
  4. </script>
  5. <div class="block clearfix">
  6. <div class="f_l"><a href=http://www.ecshop119.com  name="top"><img src="http://www.ecshop119.com/images/logo.gif" /></a></div>
  7.  
  8.  
  9. //-- ecshop商城城市分站
  10.  
  11. <p>玩具商城全国各地分站
  12. {foreach from=$citys item=c}
  13. <a href="http://www.ecshop119.com/">{$c.region_name }</a>
  14. {/foreach}
  15. </p>
  16.  
  17.  
  18. <div class="f_r log">
  19. <ul>
  20. <li class="userInfo">
  21. {insert_scripts files='transport.js,utils.js'}
  22. <font id="ECS_MEMBERZONE">{* ECSHOP 提醒您:根据用户id来调用member_info.lbi显示不同的界面 *}{insert name='member_info'} </font>
  23. </li>
  24. <!--{if $navigator_list.top}-->
  25. <li id="topNav" class="clearfix">
  26. <!-- {foreach name=nav_top_list from=$navigator_list.top item=nav} -->
  27. <a href="{$nav.url}" <!-- {if $nav.opennew eq 1} --> target="_blank" <!-- {/if} -->>{$nav.name}</a>
  28. <!-- {if !$smarty.foreach.nav_top_list.last} -->
  29. |
  30. <!-- {/if} -->
  31. <!-- {/foreach} -->
  32. <div class="topNavR"></div>
  33. </li>
  34. <!-- {/if} -->
  35. </ul>
  36. </div>
  37. </div>
  38. <div class="blank"></div>
  39. <div id="mainNav" class="clearfix">
  40. <a href="../index.php"{if $navigator_list.config.index eq 1} class="cur"{/if}>{$lang.home}<span></span></a>
  41. <!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
  42. <a href="{$nav.url}" {if $nav.opennew eq 1}target="_blank" {/if} {if $nav.active eq 1} class="cur"{/if}>{$nav.name}<span></span></a>
  43. <!-- {/foreach} -->
  44. </div>
  45. <!--search start-->
  46. <div id="search" class="clearfix">
  47. <div class="keys f_l">
  48. <script type="text/javascript">
  49. {literal}
  50. <!--
  51. function checkSearchForm()
  52. {
  53. if(document.getElementByIdx_xx_x_x('keyword').value)
  54. {
  55. return true;
  56. }
  57. else
  58. {
  59. alert("{$lang.no_keywords}");
  60. return false;
  61. }
  62. }
  63. -->
  64. {/literal}
  65. </script>
  66. {if $searchkeywords}
  67. {$lang.hot_search} :
  68. {foreach from=$searchkeywords item=val}
  69. <a href="search.php?keywords={$val|escape:url}">{$val}</a>
  70. {/foreach}
  71. {/if}
  72. </div>
  73. <form id="searchForm" name="searchForm" method="get" action="search.php" **ubmit="return checkSearchForm()" class="f_r" style="_position:relative; top:5px;">
  74. <select name="category" id="category" class="B_input">
  75. <option value="0">{$lang.all_category}</option>
  76. {$category_list}
  77. </select>
  78. <input name="keywords" type="text" id="keyword" value="{$search_keywords|escape}" class="B_input" style="width:110px;"/>
  79. <input name="imageField" type="submit" value="" class="go" style="cursor:pointer;" />
  80. <a href="search.php?act=advanced_search">{$lang.advanced_search}</a>
  81. </form>
  82. </div>
  83. <!--search end-->

复制代码


通过修改以上2个文件,ECSHOP全国分站就可以在首页上显示出来了,但是要想让ecshop实现58同城哪样的功能,还有待进一步完善。

在ECSHOP数据库ecs_region表中,可以发现字段parent_id为1的值就是咱们想要的全国各地分站名(region_name)

通过在ECSHOP商城根目下的index.php文件中增加1个函数:





//-- ecshop商城获取城市分站插件



function get_city () {

$sql = "SELECT * FROM ".$GLOBALS['ecs']->table('region')." WHERE `parent_id` =1 ";

$list = $GLOBALS['db']->getAll($sql);



if ($list) {

return $list;

}



return false;

}



继续在index.php中搜索:





//-- 判断是否存在缓存,如果存在则调用缓存,反之读取相应内容








在以上内容的下方增加:



$smarty->assign('citys', get_city ()); // 城市分站



最后在ECSHOP模板themes/你的模板/index.dwt文件中相应的地方增加:



<p>全国分站:

{foreach from=$citys item=c}

<a href="http://www.ecshop119.com/">{$c.region_name }</a>

{/foreach}

</p>

转载请注明:ECshop119模板屋-ECshop教程网(全国最专业的ECSHOP插件制作商-专业ECSHOP二次开发)

帮助目录

在线反馈

可以将问题或建议反馈给我们。

提交在线反馈

与网友交流ECSHOP开发修改。

加入QQ群交流