Use this guide to add a new field to the xcart_products_lng_en table.
Firstly add your new field to all variations of the table xcart_products_ln_* where * represents all the language table variants.
Then edit /skin/sommon_files/main/product_details.tpl and add you new feld like this. replacing new_column with your column name.
<tr> {if $geid ne ''}<td width="15" class="TableSubHead"><input type="checkbox" value="Y" name="fields[new_column]" /></td>{/if} <td class="FormButton" nowrap="nowrap">{$lng.lbl_product_new_column} :</td> <td class="ProductDetails"> <input type="text" name="new_column" id="new_column" size="45" class="InputWidth" value="{$product.new_column|escape}" /> {if $top_message.fillerror ne "" and $product.new_column eq ""}<font class="Star"><<</font>{/if} </td> </tr>
edit /include/product_modify.php
//BEFORE func_repair_lng_integrity('products_lng_', $sql_tbl['products'], 'productid', "'restored_product' AS product, 'restored_product' AS descr, 'restored_product' AS fulldescr, '' AS keywords"); //AFTER func_repair_lng_integrity('products_lng_', $sql_tbl['products'], 'productid', "'restored_product' AS product, 'restored_product' AS descr, 'restored_product' AS fulldescr, '' AS keywords, 'restored_product' AS new_column"); //BEFORE // Fill all languages by default $int_descr_data = array( 'productid' => $productid, 'product' => trim($product), 'descr' => trim($descr), 'fulldescr' => trim($fulldescr), 'keywords' => trim($keywords) ); //AFTER // Fill all languages by default $int_descr_data = array( 'productid' => $productid, 'product' => trim($product), 'descr' => trim($descr), 'fulldescr' => trim($fulldescr), 'keywords' => trim($keywords), 'new_column' => trim($new_column) ); //BEFORE // Update product/descr/fulldescr/keywords $int_descr_data = array( 'product' => trim($product), 'descr' => trim($descr), 'fulldescr' => trim($fulldescr), 'keywords' => trim($keywords) ); //AFTER // Update product/descr/fulldescr/keywords $int_descr_data = array( 'product' => trim($product), 'descr' => trim($descr), 'fulldescr' => trim($fulldescr), 'keywords' => trim($keywords), 'new_column' => trim($new_column) );
edit /include/product_clone.php,
//BEFORE // Update just created product by values from existing product $query = array(); foreach ($product_info as $k=>$v) { if ( !is_numeric($k) && !in_array($k, array('productid', 'productcode', 'provider', 'add_date', 'sales_stats', 'product', 'descr', 'fulldescr', 'keywords')) ) { $query[$k] = addslashes($v); } } //AFTER // Update just created product by values from existing product $query = array(); foreach ($product_info as $k=>$v) { if ( !is_numeric($k) && !in_array($k, array('productid', 'productcode', 'provider', 'add_date', 'sales_stats', 'product', 'descr', 'fulldescr', 'keywords', 'new_colum')) ) { $query[$k] = addslashes($v); } }
edit /include/import_products.php, /include/import_products_lng.php, /include/func/fuinc.product.php
//BEFORE func_repair_lng_integrity('products_lng_', $sql_tbl['products'], 'productid', "'restored_product' AS product, 'restored_product' AS descr, 'restored_product' AS fulldescr, '' AS keywords"); //AFTER func_repair_lng_integrity('products_lng_', $sql_tbl['products'], 'productid', "'restored_product' AS product, 'restored_product' AS descr, 'restored_product' AS fulldescr, '' AS keywords, 'restored_product' AS new_column");