推56论坛

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

QQ登录

只需一步,快速开始

    查看: 79|回复: 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站长论坛就够了!个性签名请到个人资料里面修改……

    本版积分规则

    关闭

    推56站长论坛推荐上一条 /3 下一条

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

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

    王宝臣旗下网站 推56论坛(www.tui56.com|ask.tui56.com|blog.tui56.com|daohang.tui56.com)

    Powered by Discuz! X3.4 Licensed

    ©2001-2013 Comsenz Inc.

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