1, 创建一个新文件 随意命名 没重复就行 例如:tpl_product_info_similar.php
复制该文件到includes\templates\你的模板\templates\目录下
打开该文件,把以下代码复制进去并保存
» Read more: 在商品页随机显示一定数量的同类产品
Posts Tagged ‘Zen Cart’
在商品页随机显示一定数量的同类产品
July 26th, 2010ZenCart源代码的思想笔记
July 26th, 2010阅读代码笔记:
1\newimg imgedit等值是提交表单对应的表单值.
2\初步判断,dmz_cache的图片也是这个ih组件来控制来生成.
3\所有图片的操作,都是由这个image handles模块来控制,而那个includes的下面的configure.php都是一个路径变量的设置,以及数据库连接参数的设置.
4\include下面的class 以及Fuction都是一些常用操作功能的设置.包括.图片一部份节能处理操作.
5\图片上传调用的类是includes/class下面的upload.php类文件.
6\阅读数据库,熟悉数据表,特别是数据表名以数据字段,熟悉之,更方便读懂源代码!
7\刚刚发现,俺一直疑惑看源代码里的SQL语句时,总找不到执行操作的表.原来是SQL语句中都加了前缀,例如table_tablename 等.正克确而实际的数据名是tablename.
现在问题就是仍然搞明,他们文件是如何调用与转移的?明白这点,就好写代码?
8\经过测试,现在已经解决图片复制其它目录的问题.而且经过观察,相应的img录,dmz_cache目录也可以看到生成的缓存图片.感觉工作已经完成一大半.只余下最后一步,就是将生成的加水印的图片放到本地网站的images目录下面,方便以后查询调用.并且,要判断,本地有的,就从本地但读取,本地没有的,才从远程的图片目录调用.是事情就这样简单吗?
9\那么俺应该再精读源代码,如果以前是走马观花地阅读,是大概级阅读,那么现在就是代码级阅读.那就先从Fuction,再读class.再读ih2模块.
10\ 阿mark说要改变那些加密过的字符为自已定制的字符,这个比较难实现.因为MD5加密的字符都是随机的.不能让MD5加密的字符完全符合自已的要求.除非取消MD5加密.而将后缀名改为按提交时间或者按产品目录分类来定义吧.
11\ Zen Cart是基于面向对象,也就是OOP来开发的.刚刚发觉这种写法的一样好处,就是代码比较精练,没有冗余代码设置.
» Read more: ZenCart源代码的思想笔记
zencart增加商品标题字段
July 16th, 2010
ALTER TABLE products_description MODIFY products_name varchar(256) ;
ALTER TABLE address_book MODIFY entry_firstname varchar(256) ;
ALTER TABLE address_book MODIFY entry_lastname varchar(256) ;
ALTER TABLE categories_description MODIFY categories_name varchar(256) ;
ALTER TABLE configuration_group MODIFY configuration_group_title varchar(256) ;
ALTER TABLE customers_wishlist MODIFY products_name varchar(256) ;
ALTER TABLE customers_wishlist MODIFY wishlist_name varchar(256) ;
ALTER TABLE files_uploaded MODIFY files_uploaded_name varchar(256) ;
ALTER TABLE orders MODIFY customers_name varchar(256) ;
ALTER TABLE orders MODIFY customers_email_address varchar(256) ;
ALTER TABLE orders MODIFY delivery_name varchar(256) ;
ALTER TABLE orders MODIFY billing_name varchar(256) ;
ALTER TABLE orders MODIFY cc_owner varchar(256) ;
ALTER TABLE orders_products MODIFY products_name varchar(256) ;
ALTER TABLE orders_products MODIFY products_model varchar(256) ;
ALTER TABLE address_book MODIFY entry_street_address varchar(256) ;
zen-cart 1.3.9d无法添加产品的修改
July 16th, 2010Product Type Name: Product General
Product Type Default Image:
Upload to directory: Main Directory
Handler Page: product
This Product can be added to cart: (checked)
This product type should be considered a sub-type of: Product General
问题解决
1062 Duplicate entry for key
June 25th, 20101062 Duplicate entry ‘a93b9170a03ff54d81e95917742ea01b-1′ for key
后台运行以下SQL
» Read more: 1062 Duplicate entry for key
控制zen cart 首页,产品页布局
June 5th, 2010打开tpl_main_page.php编辑:
例子:
原程序例子:
//如果COLUMN_LEFT_STATUS 等于 0 或 CUSTOMERS_APPROVAL 等于1 与 客户IP是空 就把 $flag_disable_left 设成 true
if (COLUMN_LEFT_STATUS == 0 or (CUSTOMERS_APPROVAL == ’1′ and $_SESSION['customer_id'] == ”)) {
// global disable of column_left
$flag_disable_left = true;
}
参照例子:
// 如果页面是page_2页 就把$flag_disable_left 设成 true
//打开page_2页时关闭左栏
if ($_GET['main_page'] == ‘page_2′) {
$flag_disable_left = true;
}
// 如果页面是product_info页 就把$flag_disable_right 设成 true
//打开产品信息页时关闭右栏
if ($_GET['main_page'] == ‘product_info’) {
$flag_disable_right = true;
}
依次类推 很简单就可以实现随意栏目的设置了
首页与列表页/产品页实现不同 单栏双栏三栏的办法。
April 23rd, 2010作者:刀河
原文:http://www.zen-cart.cn/forum/topic11116.html
把首页和其他页面完全分开了。那个首页和分类页分开的办法,也大概就是如此吧。
\includes\templates\你的模板的目录\common\tpl_main_page.php
就这个文件,加上下面这句就可以实现首页单栏了。想法,你想实现其他页面单栏双栏三栏的办法,还是参照上面几个帖子吧。
- 代码:
if ($this_is_home_page) {
$flag_disable_right = true;
$flag_disable_left = true;
}
看这个代码,可以举一反三
1.多一个反义符 “!” ,代表不是首页都显示单栏
- 代码:
if (!$this_is_home_page) {
$flag_disable_right = true;
$flag_disable_left = true;
}
2.下面就代表非首页的页面都是不显示右边栏的。
- 代码:
if (!$this_is_home_page) {
$flag_disable_right = false;
$flag_disable_left = true;
}
3.剩下的依次类推吧
Zen Cart 1.39
April 19th, 2010以下为官方内容:
What’s New in v1.3.9?
Many improvements and bugfixes are included in v1.3.9 since v1.3.8, including the following:
PHP 5.3.x compatibility
PCI scan improvements to prevent commonly-reported false-positives
SSL-detection improvements
Session Handling improvements for shared-SSL configurations to deal with IE-specific quirks
Session-Handler improvements: closing when done, removed redundant start, etc
Search improvements » Read more: Zen Cart 1.39
解决伪静态化后出现的?zenid=xxxxx的问题
April 15th, 2010遇到URL后面带有一串&zenid=…..的地址而地址是无效的情况下,彻底解决的办法是在html_output.php里面修改代码,具体操作如下:
找到if (isset($sid)) {
$link .= $separator . zen_output_string($sid);
}这段代码,把它屏蔽掉就可以了。
如果在后台设置force cookies为true的话,很多顾客会无法完成付款流程;
而如果设置cache文件夹为可写,在小弟的网站上好像行不通。
所以,嘿嘿,还是把代码屏蔽掉好了!!!!!
———————————-
zen cart .cn 官网介绍. 没有测试. 留记号
如何实现ZC站点服务器的迁移
January 4th, 20101. 在新主机上,创建新的MySQL数据库。记下用户名、密码、数据库名以及主机名(通常是localhost)。
2. 在新主机上,全新安装相同版本的Zen Cart,这保证configure.php文件中的设置正确。
在安装的时候,要安装演示数据,这样可以测试安装是否正确。
a. 安装
b. 测试
c. 备份新主机的 /includes/configure.php 和 /admin/includes/configure.php 文件到本地。
3. 完全备份已有数据库和商店程序。
a. 可以使用 “数据库备份模块” 或者 phpMyAdmin 来备份数据库 … 要选择 “添加 DROP TABLE” 选项;同时,在数据选项下,选择 “完整插入” 以及 “扩展插入”,保存SQL文件到本地计算机。
b. 通过FTP下载旧的网站上的所有文件 (如果可以的话,在服务器上压缩后再下载)
4. 上传旧的文件到新的服务器上,覆盖新服务器上的文件。两个文件例外:
不要覆盖新服务器上的 /includes/configure.php 和 /admin/includes/configure.php 文件。
5. 进入新服务器上的 phpMyAdmin 。
a. 选择新数据库 (安装了新的Zen Cart的数据库)
b. 删除所有数据表。
c. 导入上面 3a 中保存的SQL文件。
6. 下载缓存设置同步工具(见下载区),重置缓存设置。只要上传该文件到Zen Cart根目录并运行(fix_cache_key.php)即可。运行后一定要删除该文件。 » Read more: 如何实现ZC站点服务器的迁移