首页建站经验 ecshop源码分析-ecshop二次开发

ecshop源码分析-ecshop二次开发

ecshop源码分析-ecshop二次开发Ecshop包括的文件夹有admin、api、cert、data、images、includes、js、languages、plugins、temp、theme、wap、widget这些文件夹,和根目录下…

ecshop源码分析-ecshop二次开发

Ecshop包括的文件夹有admin、api、cert、data、images、includes、js、languages、plugins、temp、theme、wap、widget这些文件夹,和根目录下的所有.php文件。这些文件和文件夹组成了整个ecshop。如果从软件工程角度分析ecshop的话,ecshop的二级可以看成admin和前台两个部分。admin主要是面向服务端的,而前台是面向客户端的,这是这两个部分的最明显的差别。下面给出ecshop的二级流程图:

此二级流程图给出了admin模块、前台显示模块和数据库模块之间的一个关系。从上面的图示可以看出,admin模块要对数据库进行读和写,这里的读和写组成了整个的后台的管理,包括商品的增加和删减、留言的管理、订单的处理等等。前台模块也要对数据库进行读和写,它的读写主要是完成交易的过程,写的内容基本都是和商品数量、点击数量这些在商品交易中一定要改变的数字。在admin模块也可以对前台显示部分进行写,这个写的过程主要是完成前台显示方式的改变,比如admin模块可以选择模板;同样也可以改变每个小模块在某个页面中是否显示,以及显示的位置(如果显示)。

Images文件夹:

这个文件夹下有子文件夹,在这些子文件夹下面存放着当前网站商品的原始图片和缩略图。这些子文件夹命名有规律的,它们的文件名是它们目录下商品加入的年月份。也就是说在同一个月份加入的商品,它们的图片是在同一个文件夹下的,且这个文件夹的名字就是当前的年月份。后台每添加一个带图片的商品,这边都会在某个文件夹下出现提交图片的副本。

Data文件夹:

这个文件夹是包括一些固定的数据,比如固定的配置、图片等等。在data这个文件夹下的config.php记录了数据库的一些固定的信息,afficheimg文件夹下存放这首页最中间的flash的图片源。实现将afficheimg文件夹下的图片加载到首页的flash中是通过文件夹flashdata下面文件夹dynfocus中的javascript来实现的。文件夹brandlogo下存放这有品牌商品的公司的logo,另外文件夹captcha下存放这验证码的背景图片。

Theme文件夹:

页面的显示是有theme这个文件夹全权负责的。而这些准备的数据是怎么在theme下的.dwt中显示的呢?数据是通过smarty加载进去的。在根目录下每个.php文件中都会有类似$smarty->assign(’page_title’, $position['title']);这样的句子,这样page_title在对应的dwt文件中就可以作为一个变量使用了。这样就将php文件很dwt文件很好的结合好了。

下面稍微说一下dwt这个文件。这个文件中大部分的信息是自动生成的。在dwt文件中都会看到这样的块,这个快就是用来确定每个模块显示的位置的,如果在后台将某个模块选择显示在“左边区域”,那么这个模块的代码会在上面的这个区域生成。当然在dwt文件中我们也会到处看到这里面的代码全都是自动生成的,要改也只能该.lbi文件。还有就是在出现之前,这两个标志之间不能直接编辑代码,要加入自己的代码必须要在和下一个BeginLibraryItem之前插入。

程序:

程序主要是包括(这里说的是关于前台的)根目录下的所有的php脚本、includes,js文件夹,这些所有的脚本完成了前台显示的数据准备。所以它们在整个ecshop的结构中占着相当重要的地位,对ecshop的修改也主要集中在这些脚本中,这些脚本的具体分析会在后期中一一给出。

在上一篇中给大家带来了ecshop的总体的框架。从总体上看ecshop,相信大家的思路应该很清楚。作为一个对开源项目修改者你来说,能对ecshop有个初步的了解就行了,下面我会给大家带来我在修改ecshop的过程中的一些体会。

记得在上一篇中我们聊到了Adobe的模板。下面我们来根据ecshop跟大家讨论一下模板。说到模板,这就是ecshop前台显示的主要文件,如果你能很好理解theme下模板文件和样式表文件,对于ecshop前台显示应该没有任何问题了。Ecshop中页面到底是怎么显示的呢?这个问题我们先放在一边,我们先研究一下ecshop是怎么将一系列从数据库中读取出来,然后传到显示页面中的。要解决这个问题我们要用根目录下的index.php和theme/default下的index.dwt来作为用例。之所以用对应的两个文件夹,是因为在index.dwt中要显示的数据是通过smarty从index.php中加载进来的。在index.php中有如下代码:

$position = assign_ur_here();

$smarty->assign('page_title', $position['title']); // 页面标题

$smarty->assign('ur_here', $position['ur_here']); // 当前位置

首先它是调用函数assign_ur_here,这样得到了变量$position,在变量$position中有title和ur_here这两个变量。在index.dwt中会有如下代码:

{$page_title}<title></p><p>是的,一旦$smarty->assign(’page_title’, $position['title'])执行完,$page_title就会在index.dwt中成为一个可以使用的变量。那么到目前为止我们知道如何从php脚本中往dwt文件中传我们需要的变量了。smarty就是通过这种机制将需要显示的内容传到对应的dwt文件中,这样就实现了页面与内容的分离。Php脚本中的数据我们已经有办法在dwt文件中得到了,下面就是要解决如何显示这些数据。凡是通过smarty加载到dwt文件中的变量,在显示的时候都是加上{}来显示的。如果加载过来的是数组那么就要通过smarty的循环来显示,如果我传进来一个数组是 $school并且数组的每个条目中有name,那么下面的代码就是实现在页面中显示数组的每个条目的name。</p><p>Foreach($school as $k)</p><p>{</p><p>echo $k[‘name’] . ‘ ’;</p><p>}</p><p>这样就会在页面中将数组的内容全部打印出来了。</p><p>下面我们来举个例子来说明一下dwt到底是怎么显示的。</p><p>在index.php中的某个地方写上 smarty->assign(‘test’, ‘This is just a test!’);</p><p>然后在index.dwt中某个地方写上{$test},然后在首页中就会有“This is a test!”。当然它显示的地方跟你把{$test}放在哪里有关系。当然这个位置是有规定的,dwt中不是任何的地方都可以编辑的,有些地方是不能动的,这些我们会在后面一一给出讲解。这个时候如果在你的首页中没有出现“This is a test!”这个内容,那么你也不要担心,因为ecshop中默认的cache是开着的,不能显示肯定是cache的问题,这个我们在后面也会给出讲解。今天就到这里,今天我们讨论了如何往dwt中传参数和参数的显示。下一次会给出上面遗留问题的讲解,Thanks。</p><p>大家好,今天我们来解决上次遗留下的问题。上次我们谈到了如何从php脚本中往dwt模板中传参数,同时我们留下了两个问题,第一是dwt中有的地方是不可以编辑的;第二是往dwt中传参数并且让它显示,它不一定显示出来。</p><p>首先我们来讨论一下第一个问题——为什么有的地方不可以编辑。我们通过讨论index.dwt来分析一下这个问题的原因。在index.dwt中我们会看到好多形如</p><p>这样的语句。如果对ecshop的后台的管理有点了解的朋友们对“左边区域”这几个字应该很熟悉吧!不错,在后台的模板管理->设置模板中你会看到如下的图片</p><p>从表面上看,大家都应该知道,比如“商品分类树”是在整个页面的中间区域显示。那么为什么在后台这边重新选择一下并且确定,在页面显示就会按照你的选择来显示呢了?它的实质是这样的,上面每个模块是对应一个库文件(就是theme下library下的lbi文件),当你把上面的这些按照你的布局设置好后点击确定,程序就会按照你的布局的选择将每个lbi文件的内容写入到index.dwt中,那么lbi文件中的内容往哪里写呢,这个时候上面的</p><p>这句话就起到作用了,比如上面“销售排行”是选择的右边区域,那么当你确定以后,程序会对index.dwt重写一边,其中“销售排行”对应的lbi(就是top10.lbi)中的内容会被完全的读取并且写到index.dwt中和之间。那么这个时候大家可能有一个疑问,如果有很多的内容要往右边区域写,那哪个先写呢?上面的图中有个“序号”,这个就是决定写的顺序的。下面是写之后index.dwt文件中和之间的一段代码:</p><p><p class="box"></p><p><p class="box_2"></p><p><p class="top10Tit">p></p><p><p class="top10List"></p><p><ul></p><p><li><img src="http://www.cuoxin.com/wen/2019/images/top_{$smarty.foreach.top_goods.iteration}.gif"> <a title="{$goods.name|escape:html}" href="http://www.cuoxin.com/wen/2019/11-02/{$goods.url}">{$goods.short_name}a></p><p>li>ul></p><p>p></p><p>p></p><p>p></p><p><p class="blank5">p></p><p>好的,到了这里相信大家应该清楚很多了,那么到底是为什么index.dwt中有些的地方是不可以编辑的。大家想一想上面这段代码是从哪边而来的,对的,是从top10.lbi中读取出来的,然后写到这里的,如果你编辑这里,然后下次再重新布局后,这边的内容不是要被重写掉了嘛!所以在index.dwt中类似和之间的内容是动态生成的,是不可编辑的,如果真的想编辑这边的内容,就就编辑对应的lbi文件。</p><p>相信大家已经清楚,为什么dwt文件中部分地方是不可编辑的。那么今天就和大家谈到这里,下次我们来研究一下cache的问题。我感觉这个很是头疼(如果你自己添加了session)。</p><p>上次我们主要讨论了关于模板的问题,最后我们留下了一个问题——cache的问题。我觉得这个问题到目前位置先不要讨论好,再往后一点我们再来分析这个问题。到现在我们知道了模板的一些操作了,但是我们还是很郁闷,因为我们只是在ecshop的前台框架的控制之下。那么我们如何能够脱离出来呢?如果我们能做到自己添加属于自己或者可以放自己想要放的东西的模板,那么应该算是到了一个更高的台阶来看ecshop了。</p><p>要做到添加一个模板就必须做到前台可以显示这个模板,后台可以编辑这个模板。下面我们一步一步教大家怎么添加一个属于自己的模板。在添加之前我们先稍微分析一下,对以一个模板,在前台一定有一个php文件和它对应(很显然这个php文件就是实现给这个模板文件传送数据的)。并且在后台可以编辑这个模板对于的模块,也就是在模板管理——设置模板中有你加的模板的选项。下面我们来添加一个home模板。首先在根目录下新建home.dwt和home.php。然后将index.dwt和index.php中的内容分别拷贝到home.dwt和home.php中。对于这个模板的内容完全由你自己决定,你的内容就会决定你要怎么修改home.dwt和home.php。当然这个模板的内容是受限制的,首先要home这个模板的候选的库文件是存在的。这个是什么意思呢?这句话的意思就是对于每个模板文件,可以调用的库文件是固定的,并且这些可以调用的库文件在文件admin/includes/lib_templete.php中定义的。首先要在后台将home这个模板放入到可设置内容的模板中,部分代码如下:</p><p>/* 可以设置内容的模板 */</p><p>$template_files = array(</p><p>'home.dwt',</p><p>'index.dwt',</p><p>'zhiku.dwt',</p><p>'article.dwt',</p><p>'article_cat.dwt',</p><p>'brand.dwt',</p><p>'category.dwt',</p><p>'user_clips.dwt',</p><p>'compare.dwt',</p><p>'gallery.dwt',</p><p>在上面的代码中就将home.dwt加入到后台的可编辑模板中,这个时候你就可以在后台的模板管理->设置模板中编辑home模板了。但是到这里我们发现一个很小的问题,那就是这个home模板在后台是显示成什么名字。其实这个很简单,只要在文件language/zh_cn/admin/template.php中添加$_LANG['template_files']['home'] = ‘home模板’;这样的语句,那么在后台看到的home模板的名称就是“home模板”,当然这里也可以设置成其他的名称。在上面我们有说到每个模板可以调用的库文件是固定的,既然说是固定的,那应该是哪些呢?就拿index来说吧,在文件admin/includes/lib_templete.php中有下面这样的代码:</p><p>'index' => array(</p><p>'/library/ur_here.lbi' => 0,</p><p>'/library/search_form.lbi' => 0,</p><p>'/library/member.lbi' => 0,</p><p>'/library/new_articles.lbi' => 0,</p><p>'/library/success_article.lbi' => 0,</p><p>'/library/dynamic_article.lbi' => 0,</p><p>'/library/school_article.lbi' => 0,</p><p>'/library/category_tree.lbi' => 0,</p><p>'/library/top10.lbi' => 0,</p><p>'/library/invoice_query.lbi' => 0,</p><p>'/library/recommend_best.lbi' => 3,</p><p>'/library/recommend_new.lbi' => 3,</p><p>'/library/recommend_hot.lbi' => 3,</p><p>'/library/recommend_promotion.lbi' => 4,</p><p>'/library/group_buy.lbi' => 3,</p><p>'/library/auction.lbi' => 3,</p><p>'/library/brands.lbi' => 0,</p><p>'/library/promotion_info.lbi' => 0,</p><p>'/library/cart.lbi' => 0,</p><p>'/library/order_query.lbi' => 0,</p><p>'/library/email_list.lbi' => 0,</p><p>'/library/vote_list.lbi' => 0</p><p>),</p><p>那么这边枚举到的库文件,对于index.dwt都可以调用的。依葫芦画瓢,home.dwt需要调用哪些库文件,那么就对应上面这个写就是了,相信大家都有这个水平。好的,到目前为止一个模板文件添加成功了,那么它在浏览器中的显示就要通过后台的设置模板来确定了。</p> </SPAN> </div> <nav class="navigation pagination" aria-label="文章" style="display: block;padding: 0px;border: 0px;"> <h2 class="screen-reader-text">文章导航</h2> <div class="nav-links"></div> </nav> <div class="single-credit"> 本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: <a href="https://www.1cn.cc/jianzhan/jingyan/18962.html">https://www.1cn.cc/jianzhan/jingyan/18962.html</a></div> <div class="entry-footer clear"> <div id="myModal" class="modal"> <div class="modal-content clear"> <h3>给这篇文章的作者打赏</h3> <div class="ht_grid_1_2_custom"> <img src="https://www.1cn.cc/skin/ecms312/images/weixin-code.png" alt="微信扫一扫打赏"/> 微信扫一扫打赏</div> <div class="ht_grid_1_2_custom"> <img src="https://www.1cn.cc/skin/ecms312/images/alipay-code.png" alt="微信扫一扫打赏"/> 支付宝扫一扫打赏</div> <span class="close">×</span></div> </div> <div class="entry-footer-right"> <span class="entry-sponsor"> <span id="myBtn"><i class="fa fa-jpy"></i> 打赏</span> </span> <span class="entry-like"> <span class="sl-wrapper"><a href="JavaScript:makeRequest('https://www.1cn.cc/e/public/digg/?classid=34&id=18962&dotop=1&doajax=1&ajaxarea=diggnum','EchoReturnedText','GET','');" class="sl-button sl-button-87" title="点赞这篇文章"><span class="sl-count" id="diggnum"><i class="fa fa-thumbs-o-up"></i> <script src=https://www.1cn.cc/e/public/ViewClick/?classid=34&id=18962&down=5></script><em>赞</em></span></a><span class="sl-loader"></span></span> </span></div> </div> <div class="entry-bottom clear"> <div class="entry-tags"> <span class="tag-links"><span>标签:</span></span></div> <span class="custom-share"> <span class="social-share" data-sites="wechat, weibo, qq, qzone"></span> </span></div> </article> <div id="zhutibaba-ad-13" class="single-bottom-ad widget_ad ad-widget"> <div class="adwidget"><div class="pcd_ad"><script src=https://www.1cn.cc/d/js/acmsd/thea16.js></script></div><div class="mbd_ad"><a href='https://www.1cn.cc/e/public/ClickAd?adid=17' target=_blank><img src='/d/file/2022/03-28/de6866d1e77780db6e0337db1bcfe8ac.png' border=0 width='468' height='60' alt=''></a></div></div> </div> <div class="post-nav clear"> <div class="post-nav-previous"><i class="fa fa-angle-left"></i> 上一篇<a href='https://www.1cn.cc/jianzhan/jingyan/18961.html'>修改ecshop一行代码实现淘客推广</a></div> <div class="post-nav-next">下一篇 <i class="fa fa-angle-right"></i><a href='https://www.1cn.cc/jianzhan/jingyan/18963.html'>php表单提交实例讲解</a></div> </div> <div class="author-box clear"> <img alt="admin" src="https://www.1cn.cc/skin/ecms312/images/avatar.jpg" class="avatar avatar-120 photo" height="120" width="120" /> <div class="author-meta"> <h4 class="author-name">作者: <span class="hover-underline"><a target="_blank" href="https://www.1cn.cc/">admin</a></span></h4> <div class="author-desc"> 这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!</div> </div> </div> <div class="entry-related clear"> <h3 class="section-title">为您推荐</h3> <div class="related-loop clear"> </div> </div> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond"></div> <script src="https://www.1cn.cc/e/extend/infocomment/commentfrom.php?classid=34&id=18962&titleurl=https://www.1cn.cc/jianzhan/jingyan/18962.html"></script> <h3 class="comments-title"> 评论列表(<i id="infocommentnumarea"></i>)</h3> <ol class="comment-list" id="infocommentarea"></ol> <script src="https://www.1cn.cc/e/extend/infocomment/commentajax.php?classid=34&id=18962"></script> </div> </main> </div> <aside id="secondary" class="widget-area sidebar"> <div class="widget widget_ad ad-widget"> <div class="adwidget"><script src="https://www.1cn.cc/d/js/acmsd/thea11.js"></script></div> <h2 class="widget-title">广告</h2> </div> <div id="damenhu-views-2" class="widget widget-damenhu-views widget_posts_thumbnail"> <h2 class="widget-title">浏览最多的文章</h2> <ul> <li class="clear"><a href="https://www.1cn.cc/jianzhan/jingyan/39015.html" rel="bookmark"> <div class="thumbnail-wrap"><img width="300" height="150" src="https://www.1cn.cc/e/extend/timthumb.php?src=/d/file/2022/08-15/732d15f6dd1d47f7b5d9fc4fe2c81ff3.png&w=300&h=150&zc=1" class="attachment-widget_thumb size-widget_thumb wp-post-image" alt="小程序搭建对接教程" loading="eager" /></div> </a> <div class="entry-wrap"><a href="https://www.1cn.cc/jianzhan/jingyan/39015.html" rel="bookmark">小程序搭建对接教程</a></div> </li> <li class="post-list"><span>1</span><a href="https://www.1cn.cc/jianzhan/jingyan/39016.html" rel="bookmark">去水印小程序用户隐私保护指引设置教程</a></li> <li class="post-list"><span>2</span><a href="https://www.1cn.cc/jianzhan/jingyan/39017.html" rel="bookmark">小程序服务器域名request合法域名和downloadFile合法域名填写教程</a></li> <li class="post-list"><span>3</span><a href="https://www.1cn.cc/jianzhan/jingyan/786.html" rel="bookmark">企业和个人网站公安备案流程超详细图文讲解</a></li> <li class="post-list"><span>4</span><a href="https://www.1cn.cc/jianzhan/jingyan/39014.html" rel="bookmark">微信小程序注册教程【详细图文教程】</a></li> <li class="post-list"><span>5</span><a href="https://www.1cn.cc/jianzhan/jingyan/39023.html" rel="bookmark">帝国源码登陆后台时,弹出Cann't connect to DB!</a></li> </ul> </div> <div class="widget widget_ad ad-widget"> <div class="adwidget"><script src="https://www.1cn.cc/d/js/acmsd/thea12.js"></script></div> <h2 class="widget-title">广告</h2> </div> <div id="damenhu-popular-2" class="widget widget-damenhu-popular widget_posts_thumbnail"> <h2 class="widget-title">评论最多的文章</h2> <ul> <li class="clear"><a href="https://www.1cn.cc/jianzhan/jingyan/38979.html" rel="bookmark"> <div class="thumbnail-wrap"><img width="300" height="150" src="https://www.1cn.cc/e/extend/timthumb.php?src=/d/file/2022/07-14/050a136f1528e0b63d51626ec13ce374.png&w=300&h=150&zc=1" class="attachment-widget_thumb size-widget_thumb wp-post-image" alt="网站没有备案会被收录吗?" loading="eager" /></div> </a> <div class="entry-wrap"><a href="https://www.1cn.cc/jianzhan/jingyan/38979.html" rel="bookmark">网站没有备案会被收录吗?</a></div> </li> <li class="post-list"><span>1</span><a href="https://www.1cn.cc/jianzhan/jingyan/371.html" rel="bookmark">淘宝:960 时代的终结</a></li> <li class="post-list"><span>2</span><a href="https://www.1cn.cc/jianzhan/jingyan/770.html" rel="bookmark">360蜘蛛IP列表(可通过ctrl+F进行查找)</a></li> <li class="post-list"><span>3</span><a href="https://www.1cn.cc/jianzhan/jingyan/933.html" rel="bookmark">网站使用“微软雅黑”字体也会涉及版权问题</a></li> <li class="post-list"><span>4</span><a href="https://www.1cn.cc/jianzhan/jingyan/370.html" rel="bookmark">使用xampp搭建运行php虚拟主机的详细步骤</a></li> <li class="post-list"><span>5</span><a href="https://www.1cn.cc/jianzhan/jingyan/369.html" rel="bookmark">基于PHP安装zip拓展,以及libzip安装的问题</a></li> </ul> </div> <div class="widget widget_ad ad-widget"> <div class="adwidget"><script src="https://www.1cn.cc/d/js/acmsd/thea13.js"></script></div> <h2 class="widget-title">广告</h2> </div> <div id="tag_cloud-1" class="widget widget_tag_cloud"> <h2 class="widget-title">标签</h2> <div class="tagcloud"> <a href="/tag/SEO.html" class="tag-cloud-link" title="SEO (6013个项目)">SEO</a> <a href="/tag/jiaocheng.html" class="tag-cloud-link" title="教程 (2364个项目)">教程</a> <a href="/tag/fuwuqi.html" class="tag-cloud-link" title="服务器 (1863个项目)">服务器</a> <a href="/tag/xitong.html" class="tag-cloud-link" title="系统 (1150个项目)">系统</a> <a href="/tag/shezhi.html" class="tag-cloud-link" title="设置 (1105个项目)">设置</a> <a href="/tag/lianjie.html" class="tag-cloud-link" title="链接 (962个项目)">链接</a> <a href="/tag/qiye.html" class="tag-cloud-link" title="企业 (933个项目)">企业</a> <a href="/tag/wenjian.html" class="tag-cloud-link" title="文件 (856个项目)">文件</a> <a href="/tag/diguo.html" class="tag-cloud-link" title="帝国 (788个项目)">帝国</a> <a href="/tag/diguoCMS.html" class="tag-cloud-link" title="帝国CMS (724个项目)">帝国CMS</a> <a href="/tag/FTP.html" class="tag-cloud-link" title="FTP (563个项目)">FTP</a> <a href="/tag/Discuz.html" class="tag-cloud-link" title="Discuz (457个项目)">Discuz</a> <a href="/tag/diannao.html" class="tag-cloud-link" title="电脑 (315个项目)">电脑</a> <a href="/tag/shujuku.html" class="tag-cloud-link" title="数据库 (215个项目)">数据库</a> <a href="/tag/zhuce.html" class="tag-cloud-link" title="注册 (200个项目)">注册</a> <a href="/tag/xiazai.html" class="tag-cloud-link" title="下载 (173个项目)">下载</a> <a href="/tag/Discuzjiaocheng.html" class="tag-cloud-link" title="Discuz教程 (144个项目)">Discuz教程</a> <a href="/tag/aliyun.html" class="tag-cloud-link" title="阿里云 (141个项目)">阿里云</a> <a href="/tag/com.html" class="tag-cloud-link" title="com (123个项目)">com</a> <a href="/tag/woijingtai.html" class="tag-cloud-link" title="伪静态 (122个项目)">伪静态</a> <a href="/tag/jilu.html" class="tag-cloud-link" title="记录 (111个项目)">记录</a> <a href="/tag/beian.html" class="tag-cloud-link" title="备案 (99个项目)">备案</a> <a href="/tag/diguocmsjiaocheng.html" class="tag-cloud-link" title="帝国cms教程 (86个项目)">帝国cms教程</a> <a href="/tag/yidongduan.html" class="tag-cloud-link" title="移动端 (78个项目)">移动端</a> <a href="/tag/cunchu.html" class="tag-cloud-link" title="存储 (74个项目)">存储</a> <a href="/tag/guzhang.html" class="tag-cloud-link" title="故障 (67个项目)">故障</a> <a href="/tag/bijibon.html" class="tag-cloud-link" title="笔记本 (64个项目)">笔记本</a> <a href="/tag/jiage.html" class="tag-cloud-link" title="价格 (61个项目)">价格</a> <a href="/tag/sitemap.html" class="tag-cloud-link" title="sitemap (60个项目)">sitemap</a> <a href="/tag/lingdongbiaoqian.html" class="tag-cloud-link" title="灵动标签 (54个项目)">灵动标签</a> <a href="/tag/lanping.html" class="tag-cloud-link" title="蓝屏 (51个项目)">蓝屏</a> <a href="/tag/wangzhanditu.html" class="tag-cloud-link" title="网站地图 (50个项目)">网站地图</a> <a href="/tag/dedecmsjiaocheng.html" class="tag-cloud-link" title="dedecms教程 (42个项目)">dedecms教程</a> <a href="/tag/paixing.html" class="tag-cloud-link" title="排行 (39个项目)">排行</a> <a href="/tag/kehuduan.html" class="tag-cloud-link" title="客户端 (28个项目)">客户端</a> <a href="/tag/xiaochengxu.html" class="tag-cloud-link" title="小程序 (25个项目)">小程序</a> <a href="/tag/zizhujianzhan.html" class="tag-cloud-link" title="自助建站 (22个项目)">自助建站</a> <a href="/tag/request.html" class="tag-cloud-link" title="request (19个项目)">request</a> <a href="/tag/shoujiduan.html" class="tag-cloud-link" title="手机端 (19个项目)">手机端</a> <a href="/tag/HTML5.html" class="tag-cloud-link" title="HTML5 (17个项目)">HTML5</a> </div> </div> </aside> </div> </div> <div class="clear"></div> <footer id="colophon" class="site-footer container"> <div id="site-bottom" class="clear"> <div class="menu-botom-container"> <ul id="footer-menu" class="footer-nav"> <li><a href="https://www.1cn.cc/zixun/" target="_blank">资讯</a> </li><li><a href="https://www.1cn.cc/zhineng/" target="_blank">智能</a> </li><li><a href="https://www.1cn.cc/chuangye/" target="_blank">创业</a> </li><li><a href="https://www.1cn.cc/biancheng/" target="_blank">编程</a> </li><li><a href="https://www.1cn.cc/xiazai/" target="_blank">下载</a> </li><li><a href="https://www.1cn.cc/fwq/" target="_blank">服务器</a> </li><li><a href="https://www.1cn.cc/yunying/" target="_blank">运营</a> </li><li><a href="https://www.1cn.cc/jianzhan/" target="_blank">建站</a> </li><li><a href="https://www.1cn.cc/diannao/" target="_blank">电脑</a> </li><li><a href="https://www.1cn.cc/shouji/" target="_blank">手机</a> </li><li><a href="https://www.1cn.cc/yule/" target="_blank">娱乐</a> </li><li><a href="https://www.1cn.cc/cc/" target="_blank">储存</a> </li><li><a href="https://www.1cn.cc/dd/" target="_blank">待定</a> </li> </ul> </div> <div class="site-info"> © 2022 <a href="https://www.1cn.cc/">1号站长-站长学院|资讯交流平台</a> - <script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script> <script>LA.init({id: "JiLN6KXc4tiqOcQr",ck: "JiLN6KXc4tiqOcQr",autoTrack:true,hashMode:true})</script>-- - <script charset="UTF-8" id="LA_COLLECT" src="//sdk.51.la/js-sdk-pro.min.js"></script> <script>LA.init({id: "JiLN6KXc4tiqOcQr",ck: "JiLN6KXc4tiqOcQr",autoTrack:true,hashMode:true})</script>统计代码<a href="https://www.1cn.cc/sitemap/news_1.xml"><font color="#0000FF">百度地图</font></a>.<a href="https://www.1cn.cc/sitemap/news_2.xml"><font color="#0000FF">sitemap</font></a> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?344031d17476ebc7ab3a7975ded42d83"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> </div> </footer> </div> <div class="bottom-right"> <div class="icon-contact tooltip"> <span class="icon-link"> <span class="icon"><i class="fa fa-phone"></i></span> <span class="text">联系我们</span> </span> <div class="left-space"> <div class="left"> <div class="contact-info"> <h3>联系我们</h3> <strong>0898-88888888</strong> <p>在线咨询: <a href="http://wpa.qq.com/msgrd?v=3&uin=123456789&site=qq&menu=yes" target="_blank"><img src="https://www.1cn.cc/skin/ecms312/images/qqchat.gif" alt="QQ交谈"/></a></p> <p>邮箱: email@wangzhan.com</p> <p>工作时间:周一至周五,9:00-17:30,节假日休息</p> </div> <i></i></div> </div> </div> <div class="icon-weixin tooltip"> <span class="icon-link"> <span class="icon"><i class="fa fa-wechat"></i></span> <span class="text">关注微信</span> </span> <div class="left-space"> <div class="left"> <img src="https://www.1cn.cc/skin/ecms312/images/weixin-qrcode.png" alt="微信扫一扫关注我们"/> <h3>微信扫一扫关注我们</h3> <i></i></div> </div> </div> <div class="icon-weibo"> <a href="https://weibo.com/" target="_blank"> <span class="icon"><i class="fa fa-weibo"></i></span> <span class="text">关注微博</span> </a></div> <div id="back-top"> <a href="#top" title="返回顶部"> <span class="icon"><i class="fa fa-chevron-up"></i></span> <span class="text">返回顶部</span> </a></div> </div> <script type="text/javascript"> jQuery(document).ready(function() { jQuery('.sidebar').theiaStickySidebar({ // Settings additionalMarginTop: 30 }); }); </script> <script>// Get the modal var modal = document.getElementById('myModal'); // Get the button that opens the modal var btn = document.getElementById("myBtn"); // Get the <span> element that closes the modal var span = document.getElementsByClassName("close")[0]; // When the user clicks the button, open the modal btn.onclick = function() { modal.style.display = "block"; } // When the user clicks on <span> (x), close the modal span.onclick = function() { modal.style.display = "none"; } // When the user clicks anywhere outside of the modal, close it window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } }</script> <script>(function($){ //create closure so we can safely use $ as alias for jQuery $(document).ready(function(){ "use strict"; $(window).resize(function() { }); }); })(jQuery);</script> <script defer src="https://www.1cn.cc/skin/ecms312/js/main.js"></script> </body> </html>