2017-10-28 87 views
0

我在prestashop 1.6中遇到了自己的csv导入程序问题。当我的产品名称如下所示:2=1 2 battery& 1 pilot)Prestashop名称验证和修复

Presta的验证得到我的错误是这样的:Property Product->name is not valid

你知道,我怎么必须转换是PRESTA验证不要误会我的错误的名字吗?

我的代码视图这样的:

$object      = new Product(); 
$object->price    = number_format($data[$row_header['recommended_selling_price']] * $rate, 2,".",""); 
$object->id_tax_rules_group = $taxID; 

$languages=Language::getLanguages(); 
foreach($languages as $lang){ 
    $object->name[$lang['id_lang']]=$namecache; 
    $object->link_rewrite[$lang['id_lang']]= $this->slugify($namecache); 
    $object->description[$lang['id_lang']]=$data[$row_header['detailed_full_text_en']]; 
    $object->description_short[$lang['id_lang']]=substr($data[$row_header['full_text_EN']], 0, 800); 
} 
+0

尝试的var_dump验证:: isCatalogName($ namecache)和告诉我们结果。至少你可以改变无效字符,然后在导入后找到并替换这些字符 – Melvita

+0

我使用str_replace for =和&syntax以及现在所有的作品。谢谢你的回复:) – bradley546994

回答

-1

其实你可能会解决通过转义或将这样的字符串的问题:

$object->name[$lang['id_lang']] = utf8_encode($namecache); 
+0

不幸的是,这个解决方案工作不够好。在我的文件中有德文字符,使用这个功能后,它们被一些奇怪的字符替换。 – bradley546994