二次开发教程.docx
- 文档编号:6908314
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:9
- 大小:53.63KB
二次开发教程.docx
《二次开发教程.docx》由会员分享,可在线阅读,更多相关《二次开发教程.docx(9页珍藏版)》请在冰豆网上搜索。
二次开发教程
第一修改zen-cart二次开发教程
以下是zencart首页程序的修改。
根据各个文件修改不同的功能。
希望这些能对你有所帮助。
首页界面:
//include/templates/zccn/common/tpl_main_page.php
首页主样式表:
//include/templates/zccn/css/schinese_stylesheet.css
首页左边栏目:
/includes/templates/template_default/common/tpl_box_default_left.php
商品分类内容修改:
/includes/modules/sideboxes/categories.php
/includes/templates/zccn/sideboxes/tpl_categories.php
推荐产品
/includes/modules/sideboxes/featured.php
/includes/templates/template_default/sideboxes/tpl_featured.php
新进产品
/includes/modules/sideboxes/whats_new.php
/includes/templates/template_default/sideboxes/tpl_whats_new.php
特价产品
/includes/modules/sideboxes/specials.php
/includes/templates/template_default/sideboxes/tpl_specials.php
数据库表
/includes/database_tables.php
首页中间商品修改:
/includes/templates/template_default/common/main_template_vars.php
/includes/templates/template_default/templates/tpl_index_default.php
内页中间商品修改:
/includes/templates/template_default/templates/tpl_index_catergories.php
首页中间August新进商品
/includes/templates/template_default/templates/tpl_modules_whats_new.php
首页中间August特价商品
/includes/templates/template_default/templates/tpl_modules_specials_default.php
首页中间推荐商品
/includes/templates/template_default/templates/tpl_modules_featured_products.php
首页右边栏目:
/includes/templates/template_default/common/tpl_box_default_right.php
商品搜索
/includes/templates/template_default/sideboxes/tpl_search.php
客服中心
/includes/templates/template_default/sideboxes/tpl_ezpages.php
畅销商品
/includes/templates/template_default/sideboxes/tpl_best_sellers.php
商品评论
/includes/templates/template_default/sideboxes/tpl_reviews_write.php
在线名单
/includes/templates/template_default/sideboxes/tpl_whos_online.php
第二修改
有的程序一看就明白,然而真要进行修改和扩展,还真不容易,ICommerce就是这样的程序;然而有的程序,看起来很复杂,以至于一时间连某个页面都找不到在哪儿,这种程序架构比较复杂,初级网站编程人员很难看明白,但是当你真正的掌握到了它的程序结构后,你一定会为架构师的思维拍案叫绝,因为你会发现,若要开发一些新功能会变得如此的方便,zen-cart就是如此.
zen-cart是国外比较优秀的开源电子商务网点源码,zen-cart程序源于os-commerce,借鉴了os-commerce的很多成果,而在扩展性方面,zen-cart显得又比前辈做得更好.
可以看到,zen-cart前台所有的页面地址是如下格式:
1. http:
//127.0.0.1/zencart/index.php?
main_page=index&cPath=1_4
2. http:
//127.0.0.1/zencart/index.php?
main_page=product_info&cPath=1_4&products_id=1
3. http:
//127.0.0.1/zencart/index.php?
main_page=site_map
也许你会觉得很困惑,怎么所有的页面都是index.php啊?
这么大的一个网店系统,难道一个index.php页面就可以搞定了吗?
这时,你可能就需要耐心的去分析一下index.php页面了.
经过分析,你就会发现,其实index.php页面并不想你所想象的那么神奇,那么深不可测.相对于其他文件,Index.php更像是一个管理者,一个司令员,当它接到指令后,并不是自己来处理,而是把任务分配给他的下属. 至于要完成什么任务,那么就要看接收到的指令main_page的内容了.
在index.php页面的开头,作者介绍了该页面的处理过程,如表格21所示.
*index.phprepresentsthehuboftheZenCartMVCsystem
*
*Overviewofflow
*
- Loadapplication_top.php-see{@tutorialinitsystem}
- Setmainlanguagedirectorybasedon$_SESSION["language"]
- Loadall*header_php.phpfilesfromincludes/modules/pages/PAGE_NAME/
- Loadhtml_header.php(thisisacommontemplatefile)
- Loadmain_template_vars.php(thisisacommontemplatefile)
- Loadon_loadscripts(pagebasedandsitewide)
- Loadtpl_main_page.php(thisisacommontemplatefile)
- Loadapplication_bottom.php
*
*
*
*
*
*
*
*
*
*
*@packagegeneral
*@copyrightCopyright2003-2005ZenCartDevelopmentTeam
*@copyrightPortionsCopyright2003osCommerce
*@licensehttp:
//www.zen-GNUPublicLicenseV2.0
*@version$Id:
index.php29422006-02-0204:
41:
23Zdrbyte$
表格1. 加载application_top.php文件
Application_top.php文件中将进行许多常量的定义,加载配置文件等工作
2. 设置语言目录
这里定义了一个变量$language_page_directory,代表当前的语言目录,该变量的值和$_SESSION["language"]值息息相关.
3. 加载”includes/modules/pages/PAGE_NAME/”目录中的所有header_php.php文件.
可以看到,在每个网页内容的文件夹中,都有header_php.php文件,加载页面时,首先会加载该文件.
4. 加载html_header.php文件
html_header.php文件包含了在
标记中出现的内容,默认放在includes/templates/common目录下.当然在特定的情况下,加载的可能不是这个文件,你可以再模板级或者页面级来重写这个文件,从而定义特殊的html_header.php文件.通过金字塔视图,可以看到html_header.php文件的优先级别,越靠近金字塔顶端,优先级别越高,如果优先级别高的文件已经存在,则不会加载优先级别比它低的文件了.
图5. 加载main_template_vars.php文件
main_template_vars.php文件根据$_GET["main_page"]的值实现了页面的跳转逻辑.该文件的加载过程和html_header.php文件的加载过程异曲同工, html_header.php加载的是网页头部
中的内容,而文件main_template_vars.php却决定了要加载的网页的主体内容.通过观察template_default中common下面的main_template_vars.php中的代码,可以知道,若在存储页面文件的”includes/modules/pages/$_GET["main_page"]”中增加一个名为main_template_vars.php的文件,则将直接加载这个文件.否则,将加载当前模板中的”tpl_$_GET["main_page"]_default.php”文件.(注意,这里实际上没有真正加载文件,而只是将要加载的文件的路径$body_code进行设置)
如果您对这两个文件的加载过程还不胜了解,那么请试着做下面的实验.
在地址栏中访问”http:
//127.0.0.1/zencart/index.php?
main_page=news_list”,将会出现网页未找到的提示信息.这是可以理解的,因为news_list是我自己想象的,zen-cart没有提供这个页面,我自己也没有安装类似的插件.
然后在目录”/includes/modules/pages”中新建一个文件夹,命名为news_list,再访问该链接,就不会提示找不到链接了,至此一个新的页面就建好了,接下来的工作就是要丰富该页面的内容了.这将在后面的章节中予以描述.
6. 加载on_load脚本
on_load_*.js文件中包含了要在
标记的onload属性中出现的内容,即在页面加载完成后要执行的脚本.可以在同一个页面中定义多个on_load_*.js文件,这些内容将会同时被执行.on_load_*.js文件可能是页面级和站点级的.页面级的on_load_*.js文件只在当前页面中有效,而站点级on_load_*.js文件将对站点中的每个页面有效.有关如何定义页面级和站点级的onload事件,将在后面的章节予以描述.
在这里,页面级和站点级的on_load_*.js文件内容都将读入$za_onload_array[]数组中,然后组合到变量$zv_onload中,为后面做好准备.$zv_onload最终将作为到
的onload属性值.7. 加载tpl_main_page.php文件
这里定义将选择影响页面布局的模板,可以在具体的页面中选择,或者使用zen-cart默认的模板(一个标准的三列板式),模板中会对main_template_vars.php中定义的变量$body_code所指文件予以加载.
8. 加载application_bottom.php文件
application_bottom.php文件中将进行一些清理操作.
第三修改
本文介绍了基于ZenCart搭建外贸网站的流程以及在使用Zen-Cart网站中遇到的一些常见问题,是作者开发经验的总结,对希望快速了解和掌握ZenCart的PHPer有所帮助。
1、安装配置PHP+MySQL环境建议安装PHP集成环境包(方便快捷).网上也有许多此类教程,在此就不赘叙了。
如果是虚拟主机的话,需要服务器支持Zen-Cart的安装运行环境要求。
2、下载Zen-Cart源程序,解压并上传到网站空间的对应目录下,在浏览器的地址栏里面输入http:
//domainname/zc_install/index.php,然后按照提示步骤进行安装...安装完成之后,转到前台会发现有两条显眼的红色背景的Warning,这是要求你删除或重命名安装目录的名字,以及让你修改配置文件的权限(FTP改不了的话直接修改includesinit_includesinit_header.php文件:
define(WARN_CONFIG_WRITEABLE,true);里true改为false),以防被别有用心者利用,按照要求做,然后再刷新你的网页就OK了。
3、安装EasyPopular批量商品管理软件,然后批量导入数据。
下载批量商品管理插件,解压之后,里面有一个若干个txt文件和一个catalog的目录,将catalog目录下的文件全部拷贝到你的程序安装目录下。
刷新后台,在Tools栏目下便可以发现多了EasyPopular的菜单;点击进入,网页顶部会有相关Configuration提示要你安装,根据提示点击here,这样就成功安装了EP插件。
然后是向数据库导入数据,这里要求上传产品图片到程序安装目录下的images目录下,可能产品图片非常多,手工编辑记录数据很麻烦,本人写了一个专用的小工具可根据产品图片直接生成对应的excel报表,如有需要的,可联系本人。
4、模版修改,主要是三个大的方面:
顶部的Banner和Logo、导航、Flash/JS图片展示、整体的色调修改导航栏在includes/templates/模版文件目录/commom/tpl_header.php。
在这个文件下id为topLinks的div里面require了一个文件,里面是输出导航菜单的。
可以将这个require改为我们需要的东西,也可以直接去includes/templates/template_default/templates/tpl_ezpages_bar_header.php里面修改,对应的CSS位于includes/templates/模版文件目录/css/stylesheet.css里面的#topLinks里面对于三栏的模版,左右两侧栏目的宽度都可以在Configuration下的布局设置里可直接修改,但对于中间一栏的设置则需要修改CSS代码了,对应的CSS代码位于includes/templates/模版文件目录/css/stylesheet.css文件中的#mainWrapper中,改过这里之后,你便会发现顶部的LOGO和导航那部分的宽度与整体不协调了,我们继续修改本文件中的#logoWrap的宽度就可以了。
默认模版左右侧栏的标题背景颜色是不相同的,若要把他们修改为一样的颜色该怎么修改呢?
有两种办法,一种就是继续在上面的CSS文件里面直接修改背景图片,另外一种就是将模版文件下images目录下的带有Headingbg的图片换成一样的图片。
5、后台常用设置
(1)根据需要开启左右侧栏的内容:
Tools→LayoutBoxesController
(2)购物支付及免运费模块设置:
Modules→PaymentModules安装配置支付模块Modules→ShippingModules免运费模块设置(FreeShipping)Modules→OrderTotalModules可设置优惠券,税款等。
(3)国家地区:
Locations→Countries(外贸英文网站可移除中国地区Code
(2)CHN)(4)汇率设置:
Localization→Currencies(使用IPS等支付方式注意保留人民币CNY)(5)开户关闭注册或结账的条款:
在后台Configuration-->条款选项里设置6、局部细节上的调整:
information栏目里面的内容[在Tool→DefinePagesEditor菜单下]填充、sponsors栏目里面的广告图片[在Tool→BannerManager]更改、底部的版权信息(includeslanguagesEnglish.php)需要做对应的修改等等。
7、产品图片放大效果:
在后台Tools栏目下点击ImageHandler2下拉菜单→点击InstallImageHandler安装图像管理模块;然后在Configuration中设置图像参数,IH放大(中)小图像设为yes,在商品信息-图像宽度/图像高度分别设定要放大的图片大小。
我们自己开发主要是修改下面两个文件:
includes/templates/dreamugg/templates/tpl_specials_default.phpincludes/functions/html_output.php8、是不是觉得自己网站浏览人数少的让人尴尬?
有办法includes/modules/sideboxes/whos_online.php里面自己修改吧,其中$n_guests是游客人数,$n_members是注册会员人数,自己可以据此去修改。
另外一个就是Poweredby信息的修改,修改方法如下:
includes/languages/english.php里面修改第一个define()中对应处为自己所要信息即可。
9、记得安装IPS等补丁(先执行SQL语句,再上传IPS补丁程序)...10、如果产品的分类比较多的话,点击父分类的连接时,会有子分类的连接,但是这个链接平平无奇,有些客户会认为他不是链接这样我们的产品浏览次数以及被购买的机会就降低,所以必须对这种链接做一些修改。
/includes/modules/category_row.php里面修改相关代码即可.11、做外贸网站,Google推广是一个很关键的环节,所以这里就衍生了一个问题:
如何将GGAD跟踪代码添加到网站中去?
添加位置很灵活,这里的例子仅供参考。
全站跟踪代码添加到:
includes/templates/使用的模版/common/tpl_footer.phpGGAD定义操作跟踪代码:
--GoogleCodefor注册/登陆行为ConversionPage-->includes/languages/english/login.phpincludes/languages/english/create_account.php
--GoogleCodefor购买/销售ConversionPage-->/includes/templates/template_default/templates/tpl_checkout_success_default.php../includes/templates/template_default/templates/tpl_checkout_confirmation_default.php(183,1)
--GoogleCodefor销售机会ConversionPage-->includes/languages/english/shopping_cart.php
--GoogleCodefor关键网页视图跟踪ConversionPage-->
--GoogleCodefor其它跟踪ConversionPage-->注意:
添加的时候,如代码是直接加在网站开头(head之前的时候)会导致整个页面的错位.12、后台显示的时区是默认值,这对于我们来说很不方面,如何修改呢?
找到admin/includes/header.php文件,搜索到echodate(r,time()).GMT位置处,不用明说了,大家都知道这里就是输出时间的,在前面加上一句话date_default_timezone_set(PRC);存档,到后台刷新一下看效果,okay,现在就是北京时间了。
(但生成的订单时间还是以网站所在服务器时间为准)13、由于Google广告申请不下来,所以需要更换域名,更换域名的话则需要修改网站里面的配置信息,如何修改呢?
先修改两个配置文件includes/configure.phpadmin/includes/configure.php把里面的定义的域名变量改为需要的域名或者使用一种一劳永逸的办法,使用http:
//.$_SERVER[HTTP_HOST]https:
//.$_SERVER[HTTP_HOST]替换对应位置处。
接着就是修改Logo、Banner,这个没有什么值得说的,没有技巧可言;接着就是Copyright信息和Poweredby信息的修改。
14、如何设置搜索引擎优化?
在后台的Configuration-->搜索引擎优化选项下打开SEO功能,SEO模块需要检查的就三个地方:
(1).确认网站支持mod_rewrite,且主机允许你使用自己的.htaccess文件;
(2)..htaccess文件名字正确(前面有个点)(3).将根目录下的文件htaccess_sample改名为.htaccess,并修改其中的/shop/为您的zen-cart目录。
如果你的域名指向的目录是zen-cart的根目录,那么就设置为:
RewriteBase/如果是这样的形式打开网站,那么RewriteBase/zencart/15、如何添加新的页面?
PaymentPolicy设置:
后台==>Tool==>EZ-Pages==>PaymentPolicy==>edit:
(如果没有PaymentPolicy这项,则点选newfile按钮)在PageTitle填写PaymentPolicy其它单选按钮不用改动,只需在HTML编辑框内填写支付条款内容即可,其它都不用填写。
详见:
topic1947.html16、网关支付接口相关设置ZenCart程序已集成了PayPal等支付网关接口,只要设置好收款支付账号等相关参数即可。
另外要安装的IPS等网关支付接口,可根据官方提供的支付接口进行整合。
17、商品描述之AttributesController扩展(在属性控制选项内容里添加设置)在Catalog下拉菜单下的Attribute
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二次开发 教程
![提示](https://static.bdocx.com/images/bang_tan.gif)