ECSHOP仿趣玩导航分类效果实现

ECShop仿京东手机版开发实战指南 本文还有配套的精品资源,点击获取 简介:ECShop是流行的开源电商解决方案,提供多设备兼容的wap版以优化移动购物体验。本项目深入探讨如何实现ECShop手机版,重点模仿京东移动版的界面设计、功能实现、用户体验、个性化服务、支付与安全和客户服务等方面的特性。开发者需利用CSS3、JavaScript和ECShop扩展模块进行二次开发或集成现有资源,以提供专业级的移动购物环... 阅读详情


简单看了一下首页的加载文件,有点晕了。后来仔细一看,还好,这个不是用js实现的,也没有加载jquery.因为这方面相对较弱,所以心理有恐惧。


这个导航的具体实现过程还是纯DIV+CSS来实现的。


废话不多说,下面看完整实现过程。


首先,作为测试用,我们还是自己建一个php页面,和dwt页面。

首先建立一个test.php页面.

代码:

<?php

define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');

if ((DEBUG_MODE & 2) != 2)
{
    $smarty->caching = true;
}
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i";

if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))
{
    $Loaction = 'mobile/';

    if (!empty($Loaction))
    {
        ecs_header("Location: $Loaction\n");

        exit;
    }

}
assign_template();
$smarty->display("test.dwt");
?>

标红的一行注意一定要加在里面,因为这里面有传递$nav.middle导航的数据。

下面建立test.dwt文件。

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>趣玩导航测试</title>
<link href="./themes/quwan/nav.css" rel="stylesheet" type="text/css" /><

</head>
<body>
<?php
    require_once("themes/quwan/util.php");
?>
<div id="mainNav" class="clearfix">
    <ul class="u1" onmouseover="this.className='u1" onmouseout="this.className='u1'"   {if $navigator_list.config.index eq 1} id="cur"                 {/if}  >
      <a  class="a1 home_a"  href="../index.php">{$lang.home} </a>
    </ul>
    <!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
 
     <img style="float:left; padding:0 0px; "  src="../images/meun_line.gif">
     <ul class="u1" onmouseover="this.className='u1 u1_over'" onmouseout="this.className='u1'"  {if $nav.active eq 1} id="cur"   {/if} >
  
      <a class="a1" href="{$nav.url}" {if $nav.opennew eq 1}target="_blank" {/if}>{$nav.name}</a>
<?php
                          $subcates = get_subcate_byurl($GLOBALS['smarty']->_var['nav']['url']);
                         if($subcates!=false)
                        {
                            if(count($subcates)>0)
                            {
                                echo "<table cellpadding='0' border='0' cellspacing='0px' class='sub_nav'    ><tr >";
                               
                                if($subcates)
                                {
                               
                               
                                foreach($subcates as $cate)
                               
                               
                                {
                                echo "<td valign='top'><div style=' width:125px; padding-left:1px;border-top:10px solid #fff'>";
                               
                                    echo "<a href='".$cate['url']."'  >".$cate['name']."</a>";
                                   
                                    if($cate['children'])
                                    {
                                    foreach($cate['children'] as $subcate)
                                    {
                                        echo "<a href='".$subcate['url']."' class='level_2'>".$subcate['name']."</a>";
                                    }
                                    }
                                   
                                 echo "</div></td>";   
                                }
                               
                               
                                }
                               
                                echo "</tr></table>";
                            }
                        }
                     ?>
 
 
  </ul>
 
 <!-- {/foreach} -->
</div>
</body>
</html>
代码我都尽量简化,方便大家看。当然,一个模板页头部不可能这么写的。

这个就是导航的div布局。标红的一行包含了一个php文件,里面写了几个函数,这个导航只调用了其中的一个函数,该函数的目的是调用分类下的子分类。为了代码少,所以此处只把这个函数的内容贴上来。你有趣玩的模板自己去看看。很简单。


获取子分类:

代码:

function get_subcate_byurl($url)
{
    $rs = strpos($url,"category");
    if($rs!==false)
    {
        preg_match("/\d+/i",$url,$matches);
        $cid = $matches[0];
        $cat_arr = array();
        $sql = "select * from ".$GLOBALS['ecs']->table('category')." where parent_id=".$cid." and is_show=1 ORDER BY sort_order ASC, cat_id ASC";
        $res = $GLOBALS['db']->getAll($sql);
       
        foreach($res as $idx => $row)
        {
            $cat_arr[$idx]['id']   = $row['cat_id'];
            $cat_arr[$idx]['name'] = $row['cat_name'];
            $cat_arr[$idx]['url']  = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);
            $cat_arr[$idx]['children'] = get_clild_list($row['cat_id']);
        }

        return $cat_arr;
    }
    else
    {
        return false;
    }
}

好,做到这一步,我们的div页面写好,里面的ul也用foreach循环调用了子分类数据。唯一差的就是样式。因为我说了,这个是DIV+CSS布局的。

我们现在看一下做到这一步的效果。



那么,下面就差一件事情没做,就是把这些CSS找出来。对这个导航进行排版。

首先。我们修改一下CSS链接地址。

<link href="./themes/quwan/nav.css" rel="stylesheet" type="text/css" />

看到了,我上面在test.dwt里面已经重新定位了CSS页面。

我们在quwan目录下面新建一个nav.css文件,在里面写上所有的关于此导航的代码就OK。


nav.CSS代码:


body {background:#fff;font-size:12px;font-family:Arial;line-height:150%;color:#666;margin:0;padding:0;
background: url(images/index_bg.jpg) repeat-x;
background-image: url(images/index_bg.jpg);
background-repeat-x: repeat;
background-repeat-y: no-repeat;
background-attachment: initial;
background-position-x: initial;
background-position-y: initial;
background-origin: initial;
background-clip: initial;
background-color: initial;
}


div {margin:0 auto;padding:0;}
h1,h2,h3,h4,h5,h6,ul,li,dl,dt,dd,form,img,p {border:none;list-style-type:none;margin:0;padding:0;}
a{ color:#666; text-decoration:none}
a:hover{ color:#c00; text-decoration:underline}
.block {width:960px;height:auto ; overflow:hidden}

#mainNav_out {border-bottom:1px solid #cdcdcd;background:#c60c0d;width:100%;}
#mainNav {width:960px;height:36px;position:relative;z-index:999;margin:0 auto;  background:url(images/meun_bg.gif) repeat-x}
#mainNav .a1 {color:#fff;float:left;
width: 86px;
height: 36px;
line-height: 36px;
text-align: center;
font-family: "微软雅黑";
font-weight: 800;
font-size: 14px; }

#mainNav .ul_l{ display:none}
#mainNav .ul_r{ display:none}
#mainNav .u1_over .ul_l{ display:block; position:absolute; left:0; top:8px;}
#mainNav .u1_over .ul_r{ display:block; position:absolute; right:0; top:8px;}

.dot_l,.dot_r{ display:none}

#mainNav .u1_over .dot_l{ display:block; position:absolute; left:0; top:27px; border:1px solid #fff }
#mainNav .u1_over .dot_r{ display:block; position:absolute; right:0; top:27px; border:1px solid #fff }

#mainNav .u1_over .a1{ background:#880104; color:#ffffff; height:36px;}
#mainNav .u1_over .home_a{height:21px; background:#fff; overflow:hidden}
#mainNav .u1_over .home_a  .dot_l,#mainNav .u1_over .home_a  .dot_r{ display:none}

#mainNav #cur .a1{background:#880104; color:#ffffff;
width: 86px;
height: 36px;
display: block;
line-height: 36px;
text-align: center;
font-family: "微软雅黑";
font-weight: 800;
color: white;
font-size: 14px;}
#mainNav #cur .ul_l{ display:block; position:absolute; left:0; top:8px;}
#mainNav #cur .ul_r{ display:block; position:absolute; right:0; top:8px;}


#mainNav .meun_float {height:27px;line-height:27px; float:right; line-height:22px; padding-top:3px; }
#mainNav .meun_float *{ vertical-align:middle}
#mainNav .meun_float a{ color:#FFF; text-decoration:none;  height:27px;line-height:27px;}
#mainNav .meun_float b{ font-weight:bold; font-size:12px;line-height:27px;}

#mainNav .img2 {position:absolute;left:635px;top:2px; z-index:99999;}

#mainNav .u1 .sub_nav{ display:none;}
#mainNav .u1 {height:36px; width:86px;line-height:36px;float:left;position:relative;z-index:999; }

#mainNav .u1_over .sub_nav {position:absolute;top:36px; left:-2px;display:block; background:#FFF; border:2px solid #c90809; border-top:none; padding:0px 0}
#mainNav .u1_over .sub_nav td{ width:125px; background:url(images/td_bg.gif) no-repeat ; border-bottom:10px solid #fff;}

#mainNav  .sub_nav a {color:#c60c0d; font-weight:bold ; text-decoration:none; width:115px;display:block; padding-left:10px; height:32px; line-height:32px;}
#mainNav  .sub_nav a:hover{ text-decoration:underline}
#mainNav  .sub_nav .level_2{ font-weight:normal; color:#666}
#mainNav  .sub_nav .level_2:hover{ font-weight:normal; background:#fff5e9; color:#c90809}

 

好,到此,这个分类导航就全部完成。
看效果就是下面这样。

相对来说,趣玩的这套模板还是比较规范的,值得大家去研究一下。


之前说想要整理一篇趣玩首页轮播的实现效果:看了一下。

<script src="themes/<?php echo $GLOBALS['_CFG']['template']; ?>/js/jquery1.4.1.js"></script>
<script src="themes/<?php echo $GLOBALS['_CFG']['template']; ?>/js/hp1.js"></script>

它里面有加载jquery,和js.这个要实现效果同时还要实现后台管理控制。这样才算比较完善。所以这个推一段时间整理。


the end!


ECSHOP仿凡客诚品宽屏模板 - 免费下载与应用指南 68ECShop社区是一个为ECSHOP用户提供资源分享和交流平台的在线社区。它不仅聚集了众多电子商务爱好者、开发人员、设计人员以及经验丰富的商家,还提供了一系列帮助用户解决技术难题、提升电商运营效率的工具和服务。社区的目的是创造一个互助合作的环境,通过分享资源、讨论问题、提供解决方案,来推动ECSHOP平台的健康发展和电子商务技术的进步。目标用户包括但不限于以下几类人群:新手商家:正在寻找开设和管理网上商店的初学者。经验丰富的商家:希望扩展知识、改进现有电商解决方案的专业人士。 阅读详情

相关推荐

打造专业电商平台 - ECShop仿京东商城模板实战教程

本文还有配套的精品资源,点击获取 简介:ECShop是基于PHP和MySQL的开源电商平台,旨在提供强大的在线商店解决方案。本教程详细介绍了一款模仿京东商城风格的ECShop模板设计,包括用户体验优化、响应式布局、商品管理、购物车结算、商品详情、促销活动、客户服务、安全性、安装定制、维护升级以及性能优化等各个方面。用户通过本教程能够了解到如何使用ECShop模板快速搭建起具...

weixin_35906794的博客 952

ECSHOP 小程序底部滑出效果,淡入效果,底部菜单导航,加入购物车

ecshop 小程序 实现底部滑出效果

lch198548的博客 5098

ECSHOP仿京东电商模板构建与优化

本文还有配套的精品资源,点击获取 简介:本项目展示了如何将ECSHOP电子商务平台定制为类似京东的界面和用户体验。涵盖从外观设计到功能实现的全面定制,包括修复ECSHOP模板存在的bug,以及提供与京东商城相似的布局设计、功能模块和页面样式。此外,考虑到性能和多设备兼容性,项目还强调响应式设计以及用户界面的交互优化。提供详细的安装和配置说明,确保开发者能够顺利应用模板,并注...

weixin_33308579的博客 666

ecshop简单三部实现导航分类二级菜单

1.在page_header.lbi对应的位置(你想显示导航的位置)插入   (注意下面的"themes/模板名称/util.php"中的"模板名称"改成你模板文件夹的名称)   php     require_once("themes/模板名称/util.php"); ?> div class="header-menu">               p {if $navigator_

cloudday的专栏 5211

ECSHOP仿趣玩网优惠套餐插件

ECSHOP仿趣玩网优惠套餐插件 可以进行借鉴 进行参考一下

仿趣玩网五屏带标题的jQuery幻灯效果 分享

NULL 博文链接:https://liuyouqian.iteye.com/blog/1317256

ECShop二次开发之首页导航栏管理

在安装了ECShop默认模板之后,为了方便学习,我们将案例数据也安装上去,安装过程就不详细说了。完成之后,我们会看到如下图的首页: 此时我们看到导航栏上面有:首页....EC论坛这一堆,我们要怎么样隐藏这些不要的信息呢,我们从后台就可以管理导航栏的信息。 通过后台:系统设置---自定义导航栏 就可以定义是否显示这些导航信息,并且还可以根据自己的需要添加新的导航栏信息。 把红框

Fubao Zheng的专栏 3672

js左右侧悬浮导航栏

网站页面左右侧悬浮导航条,最初导航条随滚动条移动,滚动条到达某一位置后,导航条固定在网页上。

Ecshop中导航栏中使用二级菜单显示并调用子分类

最近公司交给我一个任务,就是要我使用ecshop仿照某国外著名商城网站的模板,前台样式模仿就直接照抄照搬,整个过程还相对简单,但就在一个问题上卡住了,就是模板中有涉及主导航二级栏目显示分类商品问题,老实说,这一次是第一次认真使用ecshop的商城系统,以前使用都只是安装好后,在网上找个模板改几张图片就完成了,这次是自己从头到尾修改模板样式和布局,所以没有在ecshop下使用二级栏目的经验。于是打开

wangmj518的专栏 3263

仿趣玩网五屏带标题的jQuery幻灯效果

很好的幻灯效果,仿趣玩网五屏带标题的jQuery幻灯效果.希望对各位的网页美化有帮助

ECSHOP仿趣玩网优惠套餐插件,支持多套餐,支持勾选

ECSHOP仿趣玩网优惠套餐插件,支持多套餐,支持勾选,网上许多这个,但都不好安装或测试无果,本插件已经测试,并修正其他错误。

ecshop网站导航,html导航分类,分类导航,html分类式导航栏,html分类导航页面插件【有利于网站排名seo优化】

ecshop只有生成xml格式的网站地图,本插件实现ECSHOP网站地图归类生成一个html格式的网站导航地图插件。生成后在首页添加上sitemap.html,这样搜索引擎才可以顺利抓取你的url达到seo效果。

程序发烧猿's Blog 546

shopex仿趣玩

shopex仿趣玩,亲测可用,欢迎大家下载 !

实现Ecshop左侧商品分类导航特效

Ecshop的左侧导航在模板文件夹下的library的category_tree.lbi文件,因为echsop首页的子分类页都将调用该页面,为实现首页的侧导航特效,我们新件一文件,命名:category_tree_index.lbi,然后在首页调用即可。 Html代码如下:   商品导航                          {$cat.name|escape:h

Robote Blog 3252

【β-Boltzmann探索策略】

𝜀是一个介于0和1之间的参数,用于控制探索和利用的比例。当𝜀较大时,智能体更倾向于探索;当𝜀较小时,智能体更倾向于利用已知信息。

m0_59385870的博客 1084

HBuilderX结合Android Studio实现Uniapp安卓Apk高效离线打包指南

本文提供了一份详细的Uniapp安卓Apk离线打包实战指南。通过整合HBuilderX与Android Studio,手把手教你搭建本地编译环境、配置原生工程、执行核心打包流程,并分享快速更新资源和排查常见问题的技巧,助你彻底摆脱云端打包的排队依赖,实现高效、可控的应用构建。

weixin_28835551的博客 550

EcShop开发手册

Ecshop文件结构 ecshop文件架构说明 ECShop 结构图及各文件相应功能介绍 ECShop upload 的目录 ┣ activity.php 活动列表 ┣ affiche.php 广告处理文件 ┣ affiliate.php 生成商品列表 ┣ article.php 文章内容 ┣ article_cat.php文章分类 ┣ au...

dkopg24406的专栏 1541

高通CamX架构解析(一)——核心组件与数据流设计

本文深入解析高通CamX相机架构的核心组件与数据流设计。CamX采用模块化与数据驱动思想,将复杂处理流程拆解为Node、Pipeline、Session等独立组件,并通过CHI层实现硬件接口与定制功能的分离。文章详细阐述了从请求下发到结果返回的完整数据流,并提供了实用的调试与分析指南,帮助开发者理解这一高效、灵活的现代相机架构。

k8l9m0n的博客 235

ecshop导航栏自动显示三级或多级子栏目,多级频道分类,并实现css高亮显示

效果图 ecshop导航要达到的目标: 一,比如上图,当我访问三级分类,响应式布局,这个栏目时,最顶级的元件这个分类,要高亮显示 二,如果导航上面有商品或文章频道, 并且他们有子栏目,则全自动显示所有的子栏目. 三,如果这个导航有子分类,则统一显示下拉三角标志. 代码如下 一,在includes/lib_main.php 文件中,修改掉或另外重命名并重定义一个这个g

2362

库卡C4控制柜首次上电

本文详细介绍了如何使新购的库卡机器人(以KRC4为例)达到正常运行状态。首先,必须正确连接机器人尾部和控制柜底部的各种线缆,包括动力线缆、编码器线、SmartPad线和安全回路线缆等。特别强调,电源线和蓄电池线的正确连接至关重要,避免硬插以防损坏。此外,机器人与控制柜之间需连接地线以防止漏电。文章还提到,开机前需检查电机保护器开关,并确保所有线路连接正确。开机后,需提升用户权限至安全维护员级别,通过系统配置激活安全相关通讯参数。最后,文章详细解释了X11安全回路的接线方式,强调双通道信号的重要性,并提醒不同

2202_75959322的博客 1837

SAP CO实战:如何用KKA2/CJ88结果分析码搞定项目收入成本匹配(附真实案例)

本文深入解析了SAP CO模块中结果分析码KKA2/CJ88的核心应用,通过真实案例详细阐述了如何在成本波动剧烈的销售型项目中,运用结果分析实现收入与成本的精准匹配。文章重点拆解了不同结果分析方法的适用场景与财务影响,并提供了从配置、操作到问题排查的完整实战指南,帮助财务顾问提升项目财务管理能力。

qsc9012345的博客 606
上一篇: ECShop网站底部的文章用help.php文件打开
下一篇: ##778#高级手编EPST修复教程
ximo
博客等级 码龄24年 18粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值