推56论坛

 找回密码
 立即注册(限中文)

QQ登录

只需一步,快速开始

查看: 529|回复: 0

[ECshop教程] ECSHOP全国多城市分站功能

[复制链接]
发表于 2018-4-28 13:19:36 | 显示全部楼层 |阅读模式
ecshop中添加分站实现1个商城N个城市页面 有利于搜索优化

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

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

给ECSHOP添加全国分站:

首们在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>
复制代码

商城是在红色部份代码处增加的,当然你也可以根据实际需要增加在别的位置。
  • <meta http-equiv="Content-Type" content="text/html; charset=gbk">
  • <script type="text/javascript">
  • var process_request = "{$lang.process_request}";
  • </script>
  • <div class="block clearfix">
  • <div class="f_l"><a href=http://www.ecshop119.com  name="top"><img src="http://www.ecshop119.com/images/logo.gif" /></a></div>
  • //-- ecshop商城城市分站
  • <p>玩具商城全国各地分站:
  • {foreach from=$citys item=c}
  • <a href="http://www.ecshop119.com/">{$c.region_name }</a>
  • {/foreach}
  • </p>
  • <div class="f_r log">
  • <ul>
  • <li class="userInfo">
  • {insert_scripts files='transport.js,utils.js'}
  • <font id="ECS_MEMBERZONE">{* ECSHOP 提醒您:根据用户id来调用member_info.lbi显示不同的界面 *}{insert name='member_info'} </font>
  • </li>
  • <!--{if $navigator_list.top}-->
  • <li id="topNav" class="clearfix">
  • <!-- {foreach name=nav_top_list from=$navigator_list.top item=nav} -->
  • <a href="{$nav.url}" <!-- {if $nav.opennew eq 1} --> target="_blank" <!-- {/if} -->>{$nav.name}</a>
  • <!-- {if !$smarty.foreach.nav_top_list.last} -->
  • |
  • <!-- {/if} -->
  • <!-- {/foreach} -->
  • <div class="topNavR"></div>
  • </li>
  • <!-- {/if} -->
  • </ul>
  • </div>
  • </div>
  • <div class="blank"></div>
  • <div id="mainNav" class="clearfix">
  • <a href="../index.php"{if $navigator_list.config.index eq 1} class="cur"{/if}>{$lang.home}<span></span></a>
  • <!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
  • <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>
  • <!-- {/foreach} -->
  • </div>
  • <!--search start-->
  • <div id="search" class="clearfix">
  • <div class="keys f_l">
  • <script type="text/javascript">
  • {literal}
  • <!--
  • function checkSearchForm()
  • {
  • if(document.getElementByIdx_xx_x_x('keyword').value)
  • {
  • return true;
  • }
  • else
  • {
  • alert("{$lang.no_keywords}");
  • return false;
  • }
  • }
  • -->
  • {/literal}
  • </script>
  • {if $searchkeywords}
  • {$lang.hot_search} :
  • {foreach from=$searchkeywords item=val}
  • <a href="search.php?keywords={$val|escape:url}">{$val}</a>
  • {/foreach}
  • {/if}
  • </div>
  • <form id="searchForm" name="searchForm" method="get" action="search.php" **ubmit="return checkSearchForm()" class="f_r" style="_position:relative; top:5px;">
  • <select name="category" id="category" class="B_input">
  • <option value="0">{$lang.all_category}</option>
  • {$category_list}
  • </select>
  • <input name="keywords" type="text" id="keyword" value="{$search_keywords|escape}" class="B_input" style="width:110px;"/>
  • <input name="imageField" type="submit" value="" class="go" style="cursor:pointer;" />
  • <a href="search.php?act=advanced_search">{$lang.advanced_search}</a>
  • </form>
  • </div>
  • <!--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>

学建站、学推广、学赚钱,上56站长论坛就够了!个性签名请到个人资料里面修改……

本版积分规则

站长QQ
在线咨询
咨询热线
QQ:405327411
站长

QQ|关于我们|联系我们|免责声明|网站导航|站长论坛 ( 豫ICP备11018337号-5

王宝臣旗下网站 推56论坛(www.tui56.com)站长论坛 SEO论坛 网络营销论坛 新手站长论坛 网络推广论坛 站长社区 站长网

Powered by Discuz! X3.4 Licensed

©2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表