ugrás a tartalomhoz

Zend-Cart kérdés: termékek tulajdonságainak beállítása

newlamer · 2007. Aug. 7. (K), 02.07
Sziasztok!
Ruhaboltot próbálok összerakni ZendCard-dal.
A Zend-Cart-ban azt szeretném elérni, hogy minden egyes új termék felvitelekor az admin->katalógus->kategóriák/termékek ponton eleve megjelenjen a termékhez tartozó kiegészítő tulajdonság (méret és szín) megadására egy-egy textbox. Lehetséges ez? Vagy csak a leírásban adhatja meg ezeket az adatokat a tulajdonos?
Köszönöm a segítséget!
 
1

Megoldás

newlamer · 2007. Aug. 10. (P), 04.20
Ha valakit érdekel:

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)
.
2. 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 TABLE `zencart_products` ADD `products_guarantee` INT NOT NULL , ADD `products_color` VARCHAR( 32 ) NOT NULL;
.
3. 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' => '' );
.
2. 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 ....
.
3. 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') . '&nbsp;' . 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') . '&nbsp;' . zen_draw_input_field('products_color', $pInfo->products_color, zen_set_field_length(TABLE_PRODUCTS, 'products_color')); ?></td>
</tr>
.
4. 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 ....
.
5. 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']) );
.
6. Setup All Done!
.
.
.
.Of course, now we want to display our cool new properties .
.
7. 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 ....
.
8. 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']; ?>

Müxik