Základní instalace Prestashopu má spoustu nedostatků. Hlavním důležitým nedostatkem je špatné zobrazování znaků í,ě,š,č. Přináším 6 důležitých úprav aby se čeština zobrazovala správně.
1) Pro správné ukládání háčků, čárek do databáze u produktů zboží
admin/tabs/AdminProducts.php –> vyhledat „tinyMCE“ a vložit jako na obr. –>
entity_encoding:"raw"
2) pro správné ukládání háčků, čárek do databáze u CMS – editace stránek
admin/tabs/AdminCMS.php –> vyhledat „tinyMCE“ –>
entity_encoding:"raw"
3) pro správné ukládání háčků, čárek do databáze
admin/tabs/AdminManufactures.php –> vyhledat „tinyMCE“ –>
entity_encoding:"raw"
4) pro správné ukládání háčků, čarek do databáze u modulu „editorial“ – hlavní stránka
modules/editorial/editorial.php –> vyhledat „tinyMCE“ –>
entity_encoding:"raw"
Pro správné zobrazování znaků ve zdrojovém kódu e-shopu
5) /tools/smarty/plugins/modifier.escape.php cca řádek 28
zaměnit
case 'htmlall':
return htmlentities($string, ENT_QUOTES, $char_set);
za
case 'htmlall':
return htmlspecialchars($string, ENT_QUOTES, $char_set);
6) /classes/Tools.php cca řádek 343
ve funkci htmlentitiesUTF8() změnit
return htmlentities($string, $type, ‘utf-8’);
za
return htmlspecialchars($string, $type, ‘utf-8’);


Ja v subore /classes/Tools.php cca řádek 343
nemam return htmlentities($string, ENT_QUOTES, ‘utf-8’);
ale return htmlentities($string, $type, ‘utf-8′);
a nahradil som to za
return htmlspecialchars($string, $type, ‘utf-8′);
Zdravim,
po uskutocneni tychto zmien sa mi znaky uz vypisuju normalne s diakritikou, ale ked chcem teraz editovat produkt, tak tam uz nemam ten „wordacky“ textovy editor a musim to pisat v tagoch. Neviete ako tam ten editor dostat naspat? dakujem.
Body 1,2,3 rozhází tinyMCE editor ! nelze psát jako ve wordu
dálěe přes úpravy v bodech 4,5,6 zůstávají v kodu „chybně“ zobrazené entity
konkrétně v
body id=“index“
div id=“header_user“
div id=“special_block_right“ class=“block products_block exclusive blockspecials“
div id=“newsletter_block_left“ class=“block“
div id=“tags_block_left“ class=“block tags_block“
div id=“cart_block“ class=“block exclusive“
div id=“new-products_block_right“ class=“block products_block“
div id=“best-sellers_block_right“ class=“block products_block“
div id=“viewed-products_block_left“ class=“block products_block“
div id=“footer“
to peto: děkuji takto to bylo ve starší verzi, v 1.3 je to tak jak jste popsal, opraveno v článku.
to Milan: samozřejmě musíte odřádkovat a oddělit čárkou. Pokud neuděláte zřejmě se nebude zobrazovat tinyMCE
body 1,2,3 jsou správně napsané, otestováno, zřejmě neumíte do zdrojáku doplnit jeden řádek.
ok za další „špatně“ sezobarzující entity v divech
body id=“index“
div id=“header_user“
div id=“special_block_right“ class=“block products_block exclusive blockspecials“
div id=“newsletter_block_left“ class=“block“
div id=“tags_block_left“ class=“block tags_block“
div id=“cart_block“ class=“block exclusive“
div id=“new-products_block_right“ class=“block products_block“
div id=“best-sellers_block_right“ class=“block products_block“
div id=“viewed-products_block_left“ class=“block products_block“
div id=“footer“
zajímavé, jakmile použiju tak white screen( i admin). nesetkal se s tím někdo?
jakmile použiju 6. jinak ok
Re4DeR: Jsem na tom podobně..taktéž bílo:o).
Je zde nějaké řešení? Zajímalo by mě, co je špatně:o(
Zkuste vymazat všechno aktuální v compile
Měl bych dotaz – nesouvisející, moc by mi pomohlo, kdyby mi někdo poslal vypsaný .htaccess. Snažim se rozchodit SEO URL, ale pomocí generátoru v Prestě mi to nefunguje (generátor mi vypíše chybku ohledně prázdného .htaccess a chmod666 – obojí mám, ale stejně nefunguje)
Moc děkuji za vaší reakci.
Omlouvám se, už je to ok (jak CZ, tak .htaccess).
Děkuji za článek. Na 1.3.1. funguje.
Díky 5,6 funguje bezva, ostatní nebylo potřeba, v 1.2.5.0
oprav si tam apostrofy z ‘utf-8’ na ‘utf-8′
zmenit
return htmlentities($string, $type, ‘utf-8′);
na
return htmlspecialchars($string, $type, ‘utf-8′);
dal jsem body 1-5, jinak whitedeath…
a všechny znaky až na dlouhé é jsou ok…má někdo nějaký nápad?
Vsehno je ok, verze: 1.3.2.3
musite udelat vsehne body 1-6
POZOR!, musite vlozit
entity_encoding:“raw“, //////// – dodat „,“ u konce
v tools php dodat:
return htmlspecialchars($string, $type, ‘utf-8′); ////////// [radek 358]
potom pridejte nove zbozi do vaseho obchodu – uz to bude vam fungovalo
+ este v subore tools.php riadok 647
najst:
return htmlentities($string, $type, ‘utf-8′);
zmenit na
return htmlspecialchars($string, $type, ‘utf-8′)
Tento postup je super. Všetko podla neho funguje až na text, ktorý sa zobrazuje v breadcrumb.tpl. Mal som to v 1.2.5 vyriešené a teraz mi to na 1.3.2 nefunguje. stále tam mám entity a neviem sa toho zbaviť. A hlavne si neviem spomenúť čo som vtedy zmenil aby sa to zobrazovalo bez entít. Neviete niekto poradiť ?
Tak už som sa k tomu dopracoval. V tools.php je toho treba zmeniť viac. Nie len riadok 647 ako píše peto, ale aj na riadkoch 358,641,660,661. Všade treba zameniť
return htmlentities($string, $type, ‘utf-8′);
za
return htmlspecialchars($string, $type, ‘utf-8′);</b
Super. Všechno funkční. Díky moc!
Dobrý den, děkuji za skvělý tip. Ale bohužel už mám databázi plnou zboží. Nedalo by se databázi nějak překódovat? Prosím maličko poraďte…
Předem moc díky
Jen info k poslednímu dotazu. Po úpravě češtiny (viz. víše) stačí zboží otevřít pro editaci a opět zavřít. Tím se to opravý.
ve verzi 1.3.5 nejde najít ad1) ad2) ad3), máte někdo podobnou zkušenost?
Zdravím,
mám verzi eshopu 1.3.1.1 a zkoušel jsem si najít a opravit všechny entity, ale v souboru tools.php jsem narazil na nesrovnalosti toho co tu mluvíte, asi je to jiná verze.
Neměl by někdo tento soubor počeštěný plně pro moji verzi?
A zároveň co jsem viděl je problém i v emailu objednávky v poli komu.
Kdyžtak kdo by měl tu možnost, napište mejla na info@darklord.cz
Díky moc.
nejako to nefunguje vo verzii 1.4.1
nejako to nefunguje vo v1.4.1
Taky bych se připojil k dotazu, je možné nějakým způsobem modifikovat úpravu na verzi 1.4.x (konkrétně aktuální 1.4.2.5) ? Děkuji
super diky na 1.3.2.3 funguje
Pro ty, kteri taky bojuji se spatnym kodem v breadcrumbs. Je treba nahradit htmlentities za htmlspecialchars, a to hned 2x – na radku 781 a 782 ve verzi 1.4.0.17 nebo na radku 832 a 833 ve verzi 1.4.4.1. Jedna se o soucast kodu, ktery obsahuje „$nCategories = (int)sizeof($categories);“ (staci zadat do vyhledavani v editoru) – radky s htmlentities jsou hned pod.
Ve verzi 1.4.x.x je již tinyMCE opravený, takže je potřeba opravit pouze body 5 a 6 + ještě řádek navíc.. ve verzi 1.4.7.0 je to u tools.php řádek 516 a 905..
upravený files zde: http://prestashopcesky.cz/uploads/zdrojovy-kod-1-4-7.zip stačí pouze překopírovat na verzi 1.4.7
Potřebuji dostat diakritiku na stránku contact-form na verzi 1.4.4.1 Zkoušel jsem body 5. a 6. ale bez úspěchu. Fungujete na téhle verzi?
Zkoušel jsem zkopírovat soubor od Jana a bez úspěchu
Nevíte někdo co dál? Verzi mám 1.4.7.3 Díky