分类归档

网站开发

FWQ
网站开发
zencart简易页面ezpage后台编辑位置
zencart简易页面ezpage后台编辑位置: 后台-Tools(工具)-EZ-Pages(简易页面管理) 若编辑之后无法保存,说明includes\languages\语言包\html_includes目录及子目录下php文件不可写。 解决办法: 登录FTP,将html_includes目录及子目录下的php文件属性设为777即可。 为了安全,编辑完成之后,要将php文件属性设为755。
2025-04-26 阅读全文 →
FWQ
网站开发
zencart系统的结构与运行流程
encart开源程序是一个面向过程的逻辑模板分离的MVC开源程序,并且是单入口程序,什么叫单入口,这个很容易理解。如果你没有安装SEO插件的话,你看到的所有的页面的URL都是以index.php?main_page=来做为入口的,所以不了解的人就以为他只有一个页面(也可以这样理解),其实它这种结构也正是他优点所在,index.php页面就像一个入口,根据后面不一样的参数来决定进入不同的程序处理。而这个页面就起到了分发任务的作用,所有的页面都可以通过它后面的参数来实现。这样就解决的复杂而且不容易管理的多入口程序的问题。 而它这种结构特别适合模块化开发,而这个系统其实就是这样。如果你要修改商品页面的实现内容,就可以找到该页面相关的代码模块,在zencart里面就是product_info这个模块,如果你要修改,就可以快速的找到该页面的模块信息,其实模块里面主要的就是查询数据库,获取相关信息。模块的文件就放在includes/modules目录下面。 而如果是页面就找到该目录下面的pages/目录,而如果是边框就可以找到sideboxes/目录下面,其他的顾名思义就可以了。 按照这样的理解就可以加快对zencart系统的了解。从模块里面获取了信息以后就要到前台文件里面显示了,所以接下来就是到includes/templates/你的模板/templates目录下找到对应的tpl_文件,修改该模板文件就达到我们修改的目的。这个就是大概的流程。 下面说说zencart程序从入口程序到最终页面显示的具体加载流程: 1、首先通过入口文件index.php,里面引入includes/application_top.php公共文件加载系统; 2、在includes/application_top.php公共文件中,首先初始化系统参数及引入配置文件,接着加载includes/extra_configures文件夹中的自定义配置文件。 3、接着通过includes/initsystem.php(默认includes/auto_loaders/config.core.php)引入includes/classes文件夹中的各种系统类及其顺序(这边也可以自定义文件来,引入第三方的类;也可以通过在文件夹overrides文件夹里面新建文件来覆盖它)。 4、接着通过includes/autoload_func.php文件对initsystem.php中加载的类按顺序初始化类对象、包含脚本文件、加载初始化文件、运行类函数等来达到加载zencart系统; 5、加载了系统后,开始引用对应页面文件夹中(includes/modules/pages/页面/)的header_php开头的文件; 6、接着引入模板文件夹中的(html_header.php)文件和(main_template_vars.php)文件 7、接着定义加载(includes/modules/pages/页面/)和前端的js文件; 8、通过tpl_main_page.php文件加载全页面。 9、在init_includers中init_db_config_read.php来加载文件常量、数据库名常量、及extra_datafiles额外定义的一些常量; 了解了系统的流程,接下来就有利于模板的二次开发了。 默认的zencart页面由5部分组成,分别是 页面头部–模板文件为includes/templates/你的模板名/common/tpl_header.php 页面主体–模板文件为includes/templates/你的模板名/common/tpl_main_page.php       页面主体下分为左、中、右三部分。可以有选择的控制zencart网页的栏目个数。       左边框–模块文件为 includes/modules/column_left.php       中间部分模块–includes/templates/你的模板名/common/main_template_vars.php       右边框–模块文件为 includes/modules/column_right.php 页面底部–模板文件为includes/templates/你的模板名/commontpl_footer.php 在做二次开发的时候,如果了解了上述zencart系统的结构与运行流程,可以帮助我们快速制作优秀的zencart插件来。
2025-04-26 阅读全文 →
FWQ
网站开发
zencart输出产品特价折扣百分比
zencart通过调用zen_get_products_base_price($products_id)获取原价,zen_get_products_special_price($products_id)获取特价,进而计算百分比。   $display_normal_price = zen_get_products_base_price($specials_index->fields['products_id']); $display_special_price = zen_get_products_special_price($specials_index->fields['products_id'], true); $display_sale_price = zen_get_products_special_price($specials_index->fields['products_id'], false); if ($display_normal_price != 0 && $display_sale_price) { $show_discount_amount = number_format(100 - (($display_sale_price / $display_normal_price) *…
2025-04-26 阅读全文 →
FWQ
网站开发
Zen Cart安装到另一台主机或不同的服务器上
首先,如果你想移动你的Zen Cart网站,不要同时升级。在移动之前先升级,或者移动后再升级,就是不能在升级的时候移动。否则,你将会遇到不能快速解决的问题,因为你有太多的服务器问题需要考虑。你必须引起注意! 1、在你的新主机上,创建一个新的MySQL数据库,记下用户名,密码,数据库名称还有主机名称,(通常是localhost) 2、转到你的新主机,然后通过FTP上传一个新的安装,使用跟你的其他网站相同版本的文件,这样能保证你的configure.php 文件中的设置正确。 安装时,允许它安装演示产品,这样你就可以测试还有确保它很好的工作。 a.安装(重点:当数据库安装时问到关于数据库表前缀时,使用跟你旧的商店一样的前缀名。你会在旧商店的 configure.php 文件中的DB_PREFIX设置找到旧前缀名。) b.测试。 c. 在新的服务器上备份文件/includes/configure.php 和/admin/includes/configure.php,通过FTP下载到你的电脑上。 3、在你的旧主机上,做一个完整的备份,关于数据库和商店的。 a.要么使用 “Backup MySQL Database” 来备份你的数据库,要么使用phpMyAdmin输出你的全部数据库,包括 “DROP”选项,在DATA栏目中,选择”Complete Inserts” 和 “Extended Inserts”。 然后保存你的SQL文件到电脑上。 b.通过FTP下载你的旧的网站所有的文件(或者如果可以的话,在服务器上压缩,再下载压缩包。) 4、现在把你的旧文件上传到新服务器,有两个例外:不要覆盖 /includes/configure.php 和 /新的管理目录名/includes/configure.php ,在新服务器上的文件。 5、返回你的新服务器上的phpMyAdmin a.选择新的数据库(你安装Zen Cart的地方) b.下拉所有菜单。(向下滚动和“所有已选择”进行全部检查,选择下面的,确认是。) c.点击顶部的SQL转换键。(或者或“导入”新的phpMyAdmin的配置),然后点击浏览。 d.选择你在步骤3中设置好的SQL文件,当你导出旧的数据库时,然后点击转到。 6、攫取”Fix_Cache_Key” 实用工具来重置你的 Admin->Sessions->Session Directory key http://www.zen-cart.com/index.php?main_page=product_contrib_info&cPath=40_54&products_id=82 上传文件到新的Zen…
2025-04-26 阅读全文 →
FWQ
网站开发
批量设置zencart商品属性方法
1. 在zencart新建一个选项名称: 颜色[商品管理]-[选项名称],输入[选项名称、排序值、类型],点击“增加”按钮 2. 设置zencart选项内容,例如30种不同的颜色[商品管理]-[选项内容],[选项名称]下拉菜单中选择刚建好的选项,输入[选项内容、排序],点击“增加”按钮3. 添加一个颜色属性到一个商品 [商品管理]-[属性控制],选择商品,点击“显示”按钮。在“增加属性”窗口中,先选“选项名称”,再选相应的“选项内容”,例如白色。在“价格和重量”栏下,输入价格,例如白色的产品要加10元,那么在 + 号右边一个格子中输入 10点击“增加” 按钮。(设置属性时还有一些其它的可选项,具体说明看本栏目下的属性定价贴子中的说明) 重复以上步骤添加属性,或者用下面的方法批量添加:4. 在 商品管理 -> 选项名称 -> 选择全局选项中的第二个:”添加该选项的所有选项内容到一个商品” ,选项名称选择“颜色”,点击“更新”,将所有颜色复制到该商品。现在你有一个商品,拥有30种颜色属性。 5. 在zencart商品管理 -> 属性控制 -> 选择上面这个已经设置好属性的商品 -> 点击页面上部的 “复制到商品”…
2025-04-26 阅读全文 →
FWQ
网站开发
ZenCart通过Contact Us接收垃圾邮件的过滤方案
最近收到一些通过Contact Us进行垃圾外链群发的邮件,虽然可以通过在Contact Us增加验证码来解决,但不利于客户体验。 所以我们可以通过简单的关键词过滤来实现,一般垃圾外链都含有“[url=”形式的代码 查找includes\modules\pages\contact_us\header_php.php // Send message zen_mail($send_to_name, $send_to_email, EMAIL_SUBJECT, $text_message, $name, $email_address, $html_msg,'contact_us'); 修改为 // Send message if(!strstr(strtolower($_POST['enquiry']), '[url=')){ zen_mail($send_to_name, $send_to_email, EMAIL_SUBJECT, $text_message, $name, $email_address, $html_msg,'contact_us');…
2025-04-26 阅读全文 →
FWQ
网站开发
Zencart安装Ckeditor插件后台商品分类和编辑商品打开
Zencart默认后台编辑器是纯文本的,安装了Ckeditor插件后会让后台编辑窗口看起来像word一样,这样对于不是很熟悉HTML代码的同学编辑产品有很好的帮助。不过因为我们天朝网络环境问题,Ckeditor插件引用了google的一个js,会导致打开后台商品分类和编辑商品时调用这个js而非常缓慢,有时候甚至会长时间的白屏无反应。 解决方法就是将这个引用改成本地的,或者换成新浪的。 修改的文件在你的管理目录/includes/下,文件名是ckeditor.php,打开后找到下面的代码,在20、21行: <script type="text/javascript" src="<?php echo (strstr('ttps:', HTTP_SERVER) ? 'https' : 'http'); ?>://www.google.com/jsapi"></script> <script type="text/javascript">if (typeof jQuery == 'undefined') google.load("jquery", "1");</script> 将它替换了,比如替换成: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> ……怎么还是google!!!呃,只是一个例子而已。
2025-04-26 阅读全文 →
FWQ
网站开发
zencart用户登陆后跳转到购物车还是我的账户
zencart网站中用户登陆后的跳转问题应该是很多人都经常碰到的问题。zen cart登陆后到底应该跳转到哪个页面呢?我认为正常的想法应该是用户在登陆后应该跳转到登陆之前他所在的页面,以便继续他的工作流程,如购物车或者继续填写地址信息资料的checkout_shipping页面等。当然呢,你可能是想让用户登陆后进入到某个页面,比如不管用户从哪个页面定向到登陆页,登陆后都要重定向到促销页或优惠券页面。当然可能你的要求更复杂,总之是想根据客户的不同情境做不同的动作。 无论是什么想法,我们需要做的都简单:zen cart的每一个页面(或者说action 吧),都有header.php,模板文件,语言文件。严格意义上说,zen cart不能算是MVC架构了,但是不凡这么理解,这样会清晰一些。把MVC应用到每个页面上来说,header.php应该是controller(C)+Model(M)了(实际上并没有model,充其量只能是DB存取层),模板文件应该是view,语言文件也只能是view(V)的一部分了。而index.php应该是总的controller(C)了。 所有我们无论要在登陆后重新定向到哪个页面,都要在header.php中操作,当然也可以在模板中写了。只是习惯不好。但这正是zen cart的灵活之处。没那么多束缚。 includes/moduels/pages/login/header.php if (sizeof($_SESSION[‘navigation’]->snapshot) > 0) { // $back = sizeof($_SESSION[‘navigation’]->path)-2; //if (isset($_SESSION[‘navigation’]->path[$back][‘page’])) { // if (sizeof($_SESSION[‘navigation’]->path)-2 > 0) { $origin_href…
2025-04-26 阅读全文 →
FWQ
网站开发
zencart贝宝Paypal防漏单修改
ZenCart模板默认的下单流程是: 购物车(shopping cart)->[货运方式(shipping method)]->支付方式(payment method)->订单确认(confirmation)->[第三方网站支付]->订单处理(checkout process)->下单成功(checkout success). 等于需要贝宝 Paypal付款成功才能生成订单,哪些没有付款或者暂时无法付款的客户就无法生成订单,这个对于站长或者客户都极为不便,那如何解决选择paypal贝宝付款不丢失订单呢? zen cart贝宝 Paypal防漏单修改解决方法 在支付页面index.php?main_page=checkout_confirmation单击按钮时就能产生订单。 方法是:在zencart主题的根目录includes\templates\当前模板名\templates\tpl_checkout_confirmation_default.php文件的最后面 后面添加代码: // create the order record 防漏单 if ($_SESSION[‘payment’] == ’paypal’) { $insert_id =…
2025-04-26 阅读全文 →
FWQ
网站开发
如何修改"Zen Cart!, 电子商务的艺术"
在ZenCart当中,复制文件 /includes/languages/schinese/meta_tags.php  到 /includes/languages/schinese/您的模板名/meta_tags.php  在文件的前几行,找到:  // page title  define(‘TITLE’, ‘Zen Cart!’);  // Site Tagline  define(‘SITE_TAGLINE’, ‘ 的艺术’);  修改这两行就可以了。  提示:在修改前,请先阅读”文件替代机制”
2025-04-26 阅读全文 →