码迷,mamicode.com
首页 > 其他好文 > 详细

入手ecshop

时间:2015-01-04 22:54:11      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

用入手这个词可能有点草率,但是以我有限的汉语词汇量也想不出更恰当的词儿。

本科阶段一直无视C以外的程序语言,虽然也有学过JAVA,甚至数据库语言这种算不上程序语言的不知道什么东西。毕业以后发现自己C也没有学的很好,其他的东西更是两眼一抹黑。于是开始睁眼看世界,狂补以前留下的不足,第一个着手点就是PHP。

最开始抱着core php programming看,看完chapter1-chapter8,到之后的一个个具体的函数说明就再也看不下去了,就是这么狂躁,没辙。

搁了几天后,一次巧合看到了php的ecshop这个开源的项目,感觉不错,代码量似乎也不大,整个工程解压缩以后也就18.6M,于是下下来从它入手开始学PHP。

刚入手ecshop时还是蛮晕,除了知道主页的索引页index.php在upload文件夹下其他啥也不知道了,在网上找了其结构看了看,思路清晰了许多。网上关于ecshop的结构很多,在此就不重复劳动也不转帖了,说一下除了网上有的文章外,自己对整个ecshop的一些理解。

ecshop中除了txt外,有7种重要的文件格式:

  • php
  • dwt
  • lbi
  • css
  • html/htm
  • xml
  • js

其中dwt和lbi文件之前完全没听说过,在此简单说一下。dwt是网页模板文件Dreamweaver Template,简单来说就是用html写的文件,如upload/themes/default/activity.dwt代码如下所示:

技术分享
  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
  5 <meta name="Keywords" content="{$keywords}" />
  6 <meta name="Description" content="{$description}" />
  7 <!-- TemplateBeginEditable name="doctitle" -->
  8 <title>{$page_title}</title>
  9 <!-- TemplateEndEditable --><!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
 10 <link rel="shortcut icon" href="favicon.ico" />
 11 <link rel="icon" href="animated_favicon.gif" type="image/gif" />
 12 <link href="{$ecs_css_path}" rel="stylesheet" type="text/css" />
 13 {* 包含脚本文件 *}
 14 {insert_scripts files=‘common.js‘}
 15 </head>
 16 <body>
 17 <!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->
 18 <!--当前位置 start-->
 19 <div class="block box">
 20  <div id="ur_here">
 21   <!-- #BeginLibraryItem "/library/ur_here.lbi" --><!-- #EndLibraryItem -->
 22  </div>
 23 </div>
 24 <!--当前位置 end-->
 25 <div class="blank"></div>
 26 <div class="block">
 27   <h5><span>{$lang.activity_list}</span></h5>
 28   <div class="blank"></div>
 29    <!-- {foreach from=$list item=val} -->
 30   <table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#dddddd">
 31     <tr>
 32       <th bgcolor="#ffffff">{$lang.label_act_name}</th>
 33       <td colspan="3" bgcolor="#ffffff">{$val.act_name}</td>
 34     </tr>
 35     <tr>
 36       <th bgcolor="#ffffff">{$lang.label_start_time}</th>
 37       <td width="200" bgcolor="#ffffff">{$val.start_time}</td>
 38       <th bgcolor="#ffffff">{$lang.label_max_amount}</th>
 39       <td bgcolor="#ffffff">
 40         <!-- {if $val.max_amount > 0} -->
 41         {$val.max_amount}
 42         <!-- {else} -->
 43         {$lang.nolimit}
 44         <!-- {/if} -->
 45       </td>
 46     </tr>
 47     <tr>
 48       <th bgcolor="#ffffff">{$lang.label_end_time}</th>
 49       <td bgcolor="#ffffff">{$val.end_time}</td>
 50       <th bgcolor="#ffffff">{$lang.label_min_amount}</th>
 51       <td width="200" bgcolor="#ffffff">{$val.min_amount}</td>
 52     </tr>
 53     <tr>
 54       <th bgcolor="#ffffff">{$lang.label_act_range}</th>
 55       <td bgcolor="#ffffff">
 56         {$val.act_range}
 57         <!-- {if $val.act_range ne $lang.far_all} -->
 58         :<br />
 59         <!-- {foreach from=$val.act_range_ext item=ext} -->
 60         <a href="{$val.program}{$ext.id}" taget="_blank" class="f6"><span class="f_user_info"><u>{$ext.name}</u></span></a>
 61         <!-- {/foreach} -->
 62         <!-- {/if} -->
 63       </td>
 64       <th bgcolor="#ffffff">{$lang.label_user_rank}</th>
 65       <td bgcolor="#ffffff">
 66         <!-- {foreach from=$val.user_rank item=user} -->
 67         {$user}
 68         <!-- {/foreach} -->
 69       </td>
 70     </tr>
 71     <tr>
 72       <th bgcolor="#ffffff">{$lang.label_act_type}</th>
 73       <td colspan="3" bgcolor="#ffffff">
 74         {$val.act_type}<!-- {if $val.act_type ne $lang.fat_goods} -->{$val.act_type_ext}<!-- {/if} -->
 75       </td>
 76     </tr>
 77     <!-- {if $val.gift} -->
 78     <tr>
 79       <td colspan="4" bgcolor="#ffffff">
 80       <!-- {foreach from=$val.gift item=goods} -->
 81       <table border="0" style="float:left;">
 82         <tr>
 83           <td align="center"><a href="goods.php?id={$goods.id}"><img src="{$goods.thumb}" alt="{$goods.name}" /></a></td>
 84         </tr>
 85         <tr>
 86           <td align="center"><a href="goods.php?id={$goods.id}" class="f6">{$goods.name}</a></td>
 87         </tr>
 88         <tr>
 89           <td align="center">
 90             <!-- {if $goods.price > 0} -->
 91             {$goods.price}{$lang.unit_yuan}
 92             <!-- {else} -->
 93             {$lang.for_free}
 94             <!-- {/if} -->
 95           </td>
 96         </tr>
 97       </table>
 98       <!-- {/foreach} -->
 99       </td>
100     </tr>
101     <!-- {/if} -->
102   </table>
103   <div class="blank5"></div>
104   <!-- {/foreach} -->
105 </div>
106 <div class="blank5"></div>
107 <!--帮助-->
108 <div class="block">
109   <div class="box">
110    <div class="helpTitBg clearfix">
111     <!-- #BeginLibraryItem "/library/help.lbi" --><!-- #EndLibraryItem -->
112    </div>
113   </div>
114 </div>
115 <div class="blank"></div>
116 <!--帮助-->
117 <!--友情链接 start-->
118 <!--{if $img_links  or $txt_links }-->
119 <div id="bottomNav" class="box">
120  <div class="box_1">
121   <div class="links clearfix">
122     <!--开始图片类型的友情链接{foreach from=$img_links item=link}-->
123     <a href="{$link.url}" target="_blank" title="{$link.name}"><img src="{$link.logo}" alt="{$link.name}" border="0" /></a>
124     <!--结束图片类型的友情链接{/foreach}-->
125     <!-- {if $txt_links} -->
126     <!--开始文字类型的友情链接{foreach from=$txt_links item=link}-->
127     [<a href="{$link.url}" target="_blank" title="{$link.name}">{$link.name}</a>]
128     <!--结束文字类型的友情链接{/foreach}-->
129     <!-- {/if} -->
130   </div>
131  </div>
132 </div>
133 <!--{/if}-->
134 <!--友情链接 end-->
135 <div class="blank"></div>
136 <!-- #BeginLibraryItem "/library/page_footer.lbi" --><!-- #EndLibraryItem -->
137 </body>
138 </html>
View Code

全是html标签!lbi文件DreamWeaver HTML Library Module解释起来费劲儿,简单来说还是html代码写的文件,在此就不贴代码了,那么这两个文件有没有关系,或者是什么关系呢,从ecshop的文章列表页: article_cat.dwt结构图中能清楚地感受到:

技术分享

dwt文件和lbi文件是从属关系,每个dwt文件由若干个lbi文件组成,这里就不用管lbi文件是什么什么库、重复使用之类的。

ecshop一共有22个dwt文件,分别表示22个不同的页面,至于由多少个lbi文件我就没去统计。

根目录有三个文件夹,upload、upgrade、docs。我在这里刻意把upload文件夹放在最前面,因为它最重要,前台、后台、数据处理都是在它下面完成的;upgrade从名字来看是用于升级的,我还没看这个文件夹下的内容;docs下是一些文档,暂时不管。

主页的索引文件index.php在upload文件夹下,是程序的入口点,我还是决定用最原始的方式,跟程序的执行流程。

入手ecshop

标签:

原文地址:http://www.cnblogs.com/Ishore/p/4202300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!