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

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

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

给ECSHOP添加全国分站:

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

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

  1. //-- ecshop用品商城获取城市分站插件

  2. function get_city () {

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

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

  5. if ($list) {

  6. return $list;

  7. }

  8. return false;

  9. }

复制代码

继续在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="https://www.ecshop119.com/images/logo.gif" /></a></div>

  7. //-- ecshop商城城市分站

  8. <p>玩具商城全国各地分站

  9. {foreach from=$citys item=c}

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

  11. {/foreach}

  12. </p>

  13. <div class="f_r log">

  14. <ul>

  15. <li class="userInfo">

  16. {insert_scripts files='transport.js,utils.js'}

  17. <font id="ECS_MEMBERZONE">{* ECSHOP 提醒您:根据用户id来调用member_info.lbi显示不同的界面 *}{insert name='member_info'} </font>

  18. </li>

  19. <!--{if $navigator_list.top}-->

  20. <li id="topNav" class="clearfix">

  21. <!-- {foreach name=nav_top_list from=$navigator_list.top item=nav} -->

  22. <a href="{$nav.url}" <!-- {if $nav.opennew eq 1} --> target="_blank" <!-- {/if} -->>{$nav.name}</a>

  23. <!-- {if !$smarty.foreach.nav_top_list.last} -->

  24. |

  25. <!-- {/if} -->

  26. <!-- {/foreach} -->

  27. <div class="topNavR"></div>

  28. </li>

  29. <!-- {/if} -->

  30. </ul>

  31. </div>

  32. </div>

  33. <div class="blank"></div>

  34. <div id="mainNav" class="clearfix">

  35. <a href="../index.php"{if $navigator_list.config.index eq 1} class="cur"{/if}>{$lang.home}<span></span></a>

  36. <!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->

  37. <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>

  38. <!-- {/foreach} -->

  39. </div>

  40. <!--search start-->

  41. <div id="search" class="clearfix">

  42. <div class="keys f_l">

  43. <script type="text/javascript">

  44. {literal}

  45. <!--

  46. function checkSearchForm()

  47. {

  48. if(document.getElementByIdx_xx_x_x('keyword').value)

  49. {

  50. return true;

  51. }

  52. else

  53. {

  54. alert("{$lang.no_keywords}");

  55. return false;

  56. }

  57. }

  58. -->

  59. {/literal}

  60. </script>

  61. {if $searchkeywords}

  62. {$lang.hot_search} :

  63. {foreach from=$searchkeywords item=val}

  64. <a href="search.php?keywords={$val|escape:url}">{$val}</a>

  65. {/foreach}

  66. {/if}

  67. </div>

  68. <form id="searchForm" name="searchForm" method="get" action="search.php" **ubmit="return checkSearchForm()" class="f_r" style="_position:relative; top:5px;">

  69. <select name="category" id="category" class="B_input">

  70. <option value="0">{$lang.all_category}</option>

  71. {$category_list}

  72. </select>

  73. <input name="keywords" type="text" id="keyword" value="{$search_keywords|escape}" class="B_input" style="width:110px;"/>

  74. <input name="imageField" type="submit" value="" class="go" style="cursor:pointer;" />

  75. <a href="search.php?act=advanced_search">{$lang.advanced_search}</a>

  76. </form>

  77. </div>

  78. <!--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>

文章转载:http://www.gehut.cn/

(0)

相关推荐