Jump to content

Se borran las características de los productos


maestrosombrita

Recommended Posts

Buenas a todos!!
 
He realizado la importación de mis productos en mi tienda Prestashop 1.6.0.8 mediante el importador de csv que trae PS.
 
Todo esta ok, pero el problema ocurre cuando entro al producto / funcionalidades y edito alguna característica de los productos. Guardo y se borran.
 
Vi en un post antiguo que era un problema que ocurría en la versión 1.5:
 https://www.prestashop.com/forums/topic/252701-se-borran-las-caracteristicas-de-los-productos-sin-hacer-nada/
 
Pero sigo los pasos allí indicados y nada, todo sigue igual....
 
Así tengo la función de FeaturedValue.php
 
public static function addFeatureValueImport($id_feature, $value, $id_product = null, $id_lang = null, $custom = false)
{
$id_feature_value = false;
if (!is_null($id_product) && $id_product)
{
$id_feature_value = Db::getInstance()->getValue('
SELECT fp.`id_feature_value`
FROM '._DB_PREFIX_.'feature_product fp
INNER JOIN '._DB_PREFIX_.'feature_value fv USING (`id_feature_value`)
WHERE fp.`id_feature` = '.(int)$id_feature.'
AND fv.`custom` = '.(int)$custom.'
AND fp.`id_product` = '.(int)$id_product);
 
if ($custom && $id_feature_value && !is_null($id_lang) && $id_lang)
Db::getInstance()->execute('
UPDATE '._DB_PREFIX_.'feature_value_lang 
SET `value` = \''.pSQL($value).'\' 
WHERE `id_feature_value` = '.(int)$id_feature_value.' 
AND `value` != \''.pSQL($value).'\' 
AND `id_lang` = '.(int)$id_lang);
}
 
if (!$custom)
$id_feature_value = Db::getInstance()->getValue('
SELECT fv.`id_feature_value`
FROM '._DB_PREFIX_.'feature_value fv
LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.`id_feature_value` = fv.`id_feature_value` AND fvl.`id_lang` = '.(int)$id_lang.')
WHERE `value` = \''.pSQL($value).'\'
AND fv.`id_feature` = '.(int)$id_feature.'
AND fv.`custom` = 0
GROUP BY fv.`id_feature_value`');
 
if ($id_feature_value)
return (int)$id_feature_value;
 
// Feature doesn't exist, create it
$feature_value = new FeatureValue();
$feature_value->id_feature = (int)$id_feature;
$feature_value->custom = (bool)$custom;
foreach (Language::getLanguages() as $language)
$feature_value->value[$language['id_lang']] = $value;
$feature_value->add();
 
return (int)$feature_value->id;
}

 

¿Donde está el error?

 

Además si creo un producto nuevo y le añado la característica, aunque no se haya importado por el csv, me da el mismo error de "borrado"

 

Agradezco infinitamente vuestra ayuda!!!

 

 

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...