Simbol & v imenu proizvajalca
3 naročniki
3 naročniki
Torej, fanjte iz Ceneje.si pravijo, da se artikli ne morejo sinhronizirati, ker naj bi metalo ven error zaradi znaka & v imenu proizvajalca, npr. Black & Decker.
Citiram email:
""Napaka o kateri sva prej govorila se ne pojavlja več v izvozu se je pa pojavila napaka pri vseh Black & Decker izdelkih, ker znak & ni pravilno nadomeščen moral bi biti takole: &
In samo v polju <g:brand>.
Primer:
· Trenutno: <g:brand>Black & Decker /g:brand
· Pravilno: <g:brand>Black & Decker /g:brand
""
Opencart sistem šifre "&" ob vnosu v polje imena proizvajalca ne spremeni v &, zato kot že mnogokrat sprašujem mojstre računalniških jezikov in opencarta kaj mi je storiti.
Verjetno imam spet rešitev pred nosom, a kaj ko je očitno ta nos kot od Valiča...
5 odgovorov
V export skripti boš moral encodati posebne znake z htmlspecialchars:http://php.net/manual/en/function.htmlspecialchars.php
Torej, če laično razumem, moram nadomestiti v googlebase.php del (ojačan) kode:
$output .= '<g:brand>' . htmlentitydecode($product['manufacturer'], **ENTQUOTES, 'UTF-8') . '/g:brand';
ojačan del se spremeni v "ENTHTML5" in dobiš:
$output .= '<g:brand>' . htmlentitydecode($product['manufacturer'], ENTHTML5, 'UTF-8') . '/g:brand';
Preveč lahko se mi zdi... **cruiser delam prav? :)
htmlentitydecode je ravno obratno od tega kar bi ti rad dosegel.
Poizkusi za začetek kar odstranit htmlentitydecode:
$output .= '<g:brand>' . $product['manufacturer'] . '/g:brand';
Če ne bo dovolj (odvisno je od tega, v kaki obliki je shranjen manufacturer) pa dodaj htmlspecialchars funkcijo:
$output .= '<g:brand>' . htmlspecialchars($product['manufacturer']) . '/g:brand';
Še vedno pa obstaja tretja možnost, da kar direkt samo & skonvertiraš:
$output .= '<g:brand>' . strreplace("&", "&",htmlentitydecode($product['manufacturer'], ENTQUOTES, 'UTF-8')) . '/g:brand';