给zencart产品增加新字段

经常遇到一些产品具有很丰富的信息,可zencart后台添加产品的时候,就只有那么几个字段。例如产品model,产品库存等等。

想给某个产品定制一个像magento一样的短描述功能,或者想显示该产品在亚马逊上的链接。

这个方法就派上用场了。

我这里讲的就是如何给产品添加一个product_color字段。

1,先去phpmyadmin,找到你网站的数据库,然后找到products表,给该表添加一个product_color字段,不会用sql语句的可手动添加。

2,编辑文件admin/includes/modules/product/collect_info.php

①在文件最开始有一个$parameters数组参数的地方,将

‘products_color‘ => ‘‘

添加到最后。

②然后紧接着下面有一个$product的数据查询,将

p.products_color

添加到from前面。

③最后再添加字段输入框,大约在450行附近,具体看自己文件的行数

<TR>

<TD class=main>Color</TD>

<TD class=main><?php echo zen_draw_separator(‘pixel_trans.gif‘, ‘24‘, ‘15‘) . ‘ ‘ . zen_draw_input_field(‘products_color‘, $pInfo->products_color, zen_set_field_length(TABLE_PRODUCTS, ‘products_color‘)); ?></TD>

</TR>

3,编辑文件admin/includes/modules/product/preview_info.php

在文件的最开始,找到$product的定义,然后在这段语句的form钱面添加查询字段

p.products_color

4,继续编辑文件admin/includes/modules/update_product.php

在文件的最开始,找到$sql_data_array变量的定义,然后在这段语句的结尾添加

‘products_color‘ => zen_db_prepare_input($_POST[‘products_color‘]),

5,编辑前台文件includes/modules/pages/product_info/main_template_vars.php

在文件的第41行,找到$sql变量的定义,然后在整段语句的from前面添加查询字段

p.products_color

6,终于到最后一步了,前台调用显示刚添加的字段。

在文件includes/templates/你的模板/templates/tpl_product_info_display.php中你想要显示的位置,添加字段

echo $product_info->fields[‘products_color‘];

大功告成,觉得有趣的可以自己试试,亲测有效哦,并没有盲目的转载。如果测试还有问题的,请查看根目录的logs错误日志进行调试!

--------------------------------------------2014年5月4日更新------------------------------------------

上面只是讲了怎样在产品详细页面显示出该字段,很多对前台界面要求很高的朋友希望在产品列表页面也显示出该字段来,其实只要懂这个原理就会明白这没什么难的,下面写给动手能力差的朋友们:

1,打开文件includes\index_filters\default_filter.php

这个文件中有4处名为$listing_sql的sql查询语句,找到4处,在每一段sql中的from前面加上p.products_color,
(注意sql格式,少个逗号,多个逗号都会出现致命错误!)

2,打开列表页面布局文件 includes\modules\product_listing.php

在相应的地方加上  $listing->fields[‘products_color‘]  这段代码就会显示出对应的文字来.

给zencart产品增加新字段,布布扣,bubuko.com

时间: 2024-08-13 23:34:06

给zencart产品增加新字段的相关文章

ECSHOP 商品字段增加新字段的方法

结合ecshop后台“商品编辑”.“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为 new_add 1.首先要修改数据表结构,给表 ecs_goods 增加新字段:new_add, 进入ECSHOP后台 >数据库管理 >SQL查询,输入下面SQL语句,提交.注意如果你的数据表前缀不是ecs_ 请自行修改之 alter table ecs_goods add column new_add varchar(64); 2.在ecshop后台的admin\templa

用alter关键字为Table增加新字段(sqlite)

ALTER TABLE sql-statement  ::= ALTER TABLE [database-name .] table-name alteration     alteration    ::= RENAME TO new-table-name     alteration    ::= ADD [COLUMN] column-def SQLite版本的的ALTER TABLE命令允许用户重命名或添加新的字段到已有表中,不能从表中删除字段. RENAME TO语法用于重命名表名 [

ruby on rails 向数据库添加新字段

1 数据库建好以后,需要增加新字段的经历 2 3 ruby script/rails generate migration add_name_to_product name:string 4 rake db:migrate

android源码中,在系统多媒体数据库中增加一个字段

由于项目需求,在系统多媒体管理数据库里的存储图像文件的表中需要新增加一个字段,源码在:项目\packages\providers\MediaProvider\MediaProvider.java下,在updateDatabase()方法里,你会发现images表格是由files创建的一个视图,于是,在files的创建里增加了一个字段,如下: .... db.execSQL("CREATE TABLE files (" + "_id INTEGER PRIMARY KEY AU

ASP.NET MVC 5 - 给电影表和模型添加新字段

原文:ASP.NET MVC 5 - 给电影表和模型添加新字段 在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entity Framework Code First自动创建一个数据库,Code First为数据库所添加的表,将帮助您跟踪数据库是否和从它生成的模型类是同步的.如果他们不是同步的,Entity Framework将抛出一个错误.这非常方便的在

python 之装饰器(用装饰器给现有函数增加新功能)

#!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 @author: toby """ #知识点:装饰器 ''' #一.小粒子: #要求1.假如产品经历要求在每个函数之上执行之前都添加一个验证的功能,当然这里只是模拟而已,别当真哈! #已写好的现有函数如下,有1000个函数 def func1():     print 'fun

扩展User增加部门字段

通过继承User<TEntity>类增加一个字段 /// <summary>用户信息</summary> [Serializable] [ModelCheckMode(ModelCheckModes.CheckTableWhenFirstUse)] [BindIndex("IX_User_DepartmentId", false, "DepartmentId")] [BindRelation("DepartmentId&

012.Adding a New Field --【添加一个新字段】

Adding a New Field 添加一个新字段 2016-10-14 3 分钟阅读时长 作者 By Rick Anderson In this section you'll use Entity Framework Code First Migrations to add a new field to the model and migrate that change to the database. 在本节,我们将用EF的Code First 增加一个新字段并变更到数据库中. When

SD--如何在输出控制中增加自定义字段

在sap的输出控制中,我们有时需要增加系统未定义的字段作为条件表的字段,为了实现该需求我们就需要修改增强. 输出控制用到的通讯结构 KOMKBK1 (Output Determination Communication Area CAS Appl. K1) KOMKBV1 (Output Determination Communication Area Header Appl. V1) KOMKBV2 (Output Determination Communication Area Header