一。简介
1.ecshop 是一款网上商城的开源系统,
2.可以利用它快速构建网上商城
3.基于php及mysql 的开发B2C结构
b2c
(Business-to-Customer的缩写,而其中文简称为"商对客"。"商对客"是电子商务的一种模式,也就是通常说的直接面向消费者销售产品和服务商业零售模式。这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。B2C即企业通过互联网为消费者提供一个新型的购物环境--网上商店,消费者通过网络在网上购物、网上支付等消费行为。)
二。安装
2.7.5版本(utf8)
1.解压后吧upload 放入www下并更名为ecshop
2.报错:版本不一致(ecshop版本较低,与5.6不兼容)
1.include/lib_base.php:346行 替换成
$cls_image = new cls_image();
return $cls_image->gd_version();
2.include/cls_template.php :406行 替换成
(目录结构:单入口(phpcmsv9),多入口(ecshop)=》模板文件夹(templates/thems/tpl)=》前后台模板一般会分开放置)
3.目录结构:多入口系统
admin目录:后台文件目录
-imgages 后台模板图片
-js:后台js文件
-styles:后台模板css 文件
-templates:后台模板文件xx.htm
-includes :后台函数库
api :接口目录
includes:核心文件目录
js:前台js 文件
languages:语言包
thems:前台模板文件夹
-default:默认模板 xx.dwt
-default_old:旧的模板
4.替换前台模板:1.复制default模板,并重命名shop(自定义)
2.就在新建好的 复制文件下, style.css 更改 Template Name ,Description 等,
3.后台=》模板管理=》模板选择=》选择刚做好的模板 使用
|加载静态页面|
5.模板替换:首页模板替换
1.根据url 找到首页访问的php文件 index.php
2.在文件中搜索 $smarty->display (ecshop 使用smarty 模板引擎,display为smarty 加载模板的一个方法)
3.display 的第一个参数为加载的模板名,实例如下:
4.(模板换成自己的)删除shop下的index.dwt 复制自己的index.html文件到该目录,并命名为index.dwt
6.解决样式:js css路径
7.<!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem --> :加载主机模板
8.ecshop 中模板分3类:1.xxx.dwt :前台页面的主模板,有php 文件display 加载
2.xxx.lbi :组件模板,由dwt 模板加载的
3.xxx.htm :后台模板 由 php的 display 加载的
二。 加载动态页面
一.首页导航嵌套
1.<!-- {foreach name=nav_middle_list from=$navigator_list.middle item=nav} -->
<!-- {/foreach} --> 这是ecshop 里面的循环,不是注释
模板引擎中的循环:from :待循环的数组,由加载这个模板的php文件$smarty->assign :item 表示 值
2.{if $nav.opennew eq 1}target="_blank" {/if} 通过后台更改的属性来判断a 链接是否在新窗口打开
二.注册页面嵌套
1.根据初始模板 调整注册/登录页面后的 url,查找到加载模板的
2.在user.php )搜索$smarty->display
3.用户页面模板大多公用 user_passport.dwt 模板
4.给注册页面重新指定加载页面
5.表单嵌套:a复制原模板form 的action 以及 method
b将表单中所有有name的都复制过去
c表单中有默认值:视情况
d有name但是类型为hidden =>直接复制
e有name,元模板中存在,但是新模板没有=》复制并隐藏
6.密码提示问题在语言包中,
三。其他知识点
1.$_REQUEST:预定义数组,既接受get方式传递过来的参数,也接收post 传过来的参数
2.in_array()判读一个数组中是否存在某个值
3.<!-- #BeginLibraryItem "/library/page_footer.lbi" --><!-- #EndLibraryItem -->之间的内容和要使用的lbi文件内容一致,
但是没有显示
4.前台页面也可以在后台设置主键