New Zenner
- Join Date:
- Feb 2008
- Posts:
- 5
- Plugin Contributions:
- 0
!! Please help !! Add new Properties to your Products
Hi, Im new here so hello everyone. Im also new to zen cart and web development so excuse me for maybe asking stupid questions.
I need to add new properties to my catalog, for example manufacturer and manufactures code.
I folowed this thread http://www.zen-cart.com/forum/showthread.php?t=57924 and from what I can understand, its not advisable to edit/modify the main zen cart tables, but to rather use new tables.
I am sure there are many people who would really like to be able to implement this feature.
As per pensive612's request, could anyone please provide the following info as I could not really follow the other thread. (maybe it got hijacked and I lost the plot )
pensive612:
Thanks Chris! it worked perfect for me.
If you have a chance to respond,
Do you have any thoughts on:
separate tables instead,
easy populate,
and having these new fields included in the search fields!!
just a wishlist.
thanks again for your time in that step-by-step
Any help would be highly appreciated.
Original post by crazy_chris:
crazy_chris:
hi folks,
this is a little howto add new properties to general products
(like guarantee time, color, oem-number, compatible models, whatsoever)1. >
- think
decide which new properties you want to add to your products
(in this example we take guarantee-time (in months) and color)
.
- db manipulation
open the table "products" in your zencart-database and insert new rows at the end of the table called "products_guarantee" and "products_color"
*ALTER TABLEzencart_productsADDproducts_guaranteeINT NOT NULL , ADDproducts_colorVARCHAR( 32 ) NOT NULL;
.
*
- edit 'collect_info.php' (in /admin/includes/modules/product/)1. >
- at the very beginning there is the variable $parameters set. add your row-names to the end:
'products_guarantee' => '0', 'products_color' => '' );
.
- just below there is the db-query set [$product = $db->Execute("...]
add your rows with a 'p.' in front (before the "from ..." part)
*select ......., p.products_guarantee, p.products_color from ....
*.
- now you can add the input fields in the product-mask (lets say somewhere around line 450 or so):*
<tr> <td class="main">Guarantee Time (in months)</td> <td class="main"><?php echo zen_draw_separator('pixel_trans.gif', '24', '15') . ' ' . zen_draw_input_field('products_guarantee', $pInfo->products_guarantee, zen_set_field_length(TABLE_PRODUCTS, 'products_guarantee')); ?></td> </tr><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> .*
- **edit 'preview_info.php' ** (in /admin/includes/modules/product/)
somewhere around line 10 is the variable $product set. like in step 3.2 add the new rows with a 'p.' in front just before the 'from'
select ......., p.products_guarantee, p.products_color from ....
.
- **finally, edit ****'update_product.php' ** (in /admin/includes/modules/)
around line 20 is the $sql_data_array set. add to the last lines before ');' the new rownames.
$sql_data_array = .......... 'products_guarantee' => zen_db_prepare_input($_POST['products_guarantee']), 'products_color' => zen_db_prepare_input($_POST['products_color']) );
.
- ***Setup All Done!
.
*.:D
.
.Of course, now we want to display our cool new properties .
.
- edit 'main_template_vars.php' (in /includes/modules/pages/product_info/)
around line 46 you find the variable $sql set. like in step 3.2 add the new rows with a 'p.' in front just before the 'from'
select ......., p.products_guarantee, p.products_color from ....
.
- **last step: display the new infos
edit 'tpl_product_info_display.php'** (in /includes/templates/template_default/templates/)
now, wherever you want, you can add to the html:
<?php echo $product_info->fields['products_guarantee']; ?> and <?php echo $product_info->fields['products_color']; ?>
enjoy!ps: now i'm feeling really ############ up : P
:blink::blink::blink:
written by chris at linuxuser.at