Делайте как написано в
http://prestashop-forum.ru/index.php/topic,2835.0.html.
Удалите все что вы делали.
1. Добавить новое поле в таблицу
ALTER TABLE `ps_product_lang`ADD COLUMN `myvar` VARCHAR(255) NULL DEFAULT NULL
2. Добавить новое поле в класс /classes/Product.php
public $myvar;
/* Lang fields */
'meta_description' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 255),
.......................
'available_later' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'IsGenericName', 'size' => 255),
'myvar' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 255),
3. В файле admin/themes/default/template/controllers/products/informations.tpl там где нужно показать новое значение
<div class="form-group">
<div class="col-lg-1"><span class="pull-right">{include file="controllers/products/multishop/checkbox.tpl" field="myvar" type="default" multilang="true"}</span></div>
<label class="control-label col-lg-2 required" for="myvar_{$id_lang}">
<span class="label-tooltip" data-toggle="tooltip" title="{l s='The public myvar for this product.'} {l s='Invalid characters:'} <>;=#{}">
{l s='My var'}
</span>
</label>
<div class="col-lg-5">
{include file="controllers/products/input_text_lang.tpl"
languages=$languages
input_class="{$class_input_ajax}{if !$product->id || Configuration::get('PS_FORCE_FRIENDLY_PRODUCT')}copy2friendlyUrl{/if} updateCurrentText"
input_value=$product->myvar
input_name="myvar"
required=true
}
</div>
</div>
Это все что нужно сделать для показа поля в адимнке и сохранении его в бд. Поле показывает, значение сохраняет. Я проверил, сделал точно так и у меня все сохраняется.