波斯马BOSSMA Information Technology

Zen Cart中给产品添加新字段

发布时间:2009年11月3日 / 分类:PHP, Zen Cart / 23,160 次浏览 / 评论

在网上找到一篇英文文章,为了方便,特翻译成中文。
原文地址:http://www.zen-cart.com/forum/showthread.php?t=57924

这篇文章介绍怎么样为普通产品添加一个新属性。
1、首先考虑你要添加一个什么样的属性到你的产品,在这个例子中添加两个属性:[guarantee-time]和[color]。

2、在数据库管理界面(如:phpmyadmin)中找到表[products],或者表的前缀加[products],为这个表添加两个字段: [products_guarantee] 和[products_color] :

ALTER TABLE `zencart_products` ADD `products_guarantee` INT NOT NULL , ADD `products_color` VARCHAR( 32 ) NOT NULL;

3、编辑文件 [collect_info.php](在目录/admin/includes/modules/product/下)
(1)在最开始的地方有一个变量参数设置,添加你的字段到它们的最后:

'products_guarantee' => '0', 'products_color' => '' );

(2)在下边有一个数据库查询:

set [$product = $db->Execute("...]

添加你的字段在 [from …] 部分的前边,并且字段前添加[p.]:

select ......., p.products_guarantee, p.products_color from ....

(3)现在添加输入框到产品表单中(在450行附近,具体位置自己看情况定):

<tr>
<td>Guarantee Time (in months)</td>
<td><?php echo zen_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . zen_draw_input_field('products_guarantee', $pInfo->products_guarantee, zen_set_field_length(TABLE_PRODUCTS, 'products_guarantee')); ?></td>
</tr><tr>
<td>Color</td>
<td><?php echo zen_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . zen_draw_input_field('products_color', $pInfo->products_color, zen_set_field_length(TABLE_PRODUCTS, 'products_color')); ?></td>
</tr>

4、编辑文件 [preview_info.php] (在目录 /admin/includes/modules/product/下)
在第10行左右,找到变量[$product]的定义. 像上边3.2中的一样添加查询字段:

select ......., p.products_guarantee, p.products_color from ....

5、编辑 [update_product.php] (在目录/admin/includes/modules/下)
在20行左右找到$sql_data_array变量那个的定义. 在最后一行的[);] 前边添加新字段.

$sql_data_array = .......... 'products_guarantee' => zen_db_prepare_input($_POST['products_guarantee']), 'products_color' => zen_db_prepare_input($_POST['products_color']) );

6、编辑 [main_template_vars.php] (在目录/includes/modules/pages/product_info/下)
在第40行左右找到变量[$sql]的定义,像3.2中一样添加新字段的查询:

select ......., p.products_guarantee, p.products_color from ....

7、最后一步:在产品信息中显示。
编辑[tpl_product_info_display.php’](在目录/includes/templates/你的模板/templates/下)
你可以把下边的代码添加到你认为合适的显示位置

?echo $product_info->fields['products_guarantee'];
?echo $product_info->fields['products_color'];

OK,希望你一切顺利!

我已经在我的网店下添加了一个字段,用于保存该商品在淘宝店的地址,如果在商品发布时,添加了淘宝地址,在页面上就会显示一行文字,并连接到淘宝店的地址。

可惜网店已经关门了,现在看不到了。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《Zen Cart中给产品添加新字段

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

目前有3 条评论

  1. pigman 0楼:

    hi 能和你交换联系方式吗?

    我的QQ 36966****

    想学习建站这方面的知识

发表评论