Jak odstranit entity ve zdrojovém kódu a v databázi

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’);
Příspěvek byl publikován v rubrice Návody, rady, manuály. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

33 komentářů u Jak odstranit entity ve zdrojovém kódu a v databázi

  1. peto napsal:

    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′);

  2. Milan napsal:

    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.

  3. Body 1,2,3 napsal:

    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“

  4. Jan Kašpar napsal:

    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.

  5. Body 1,2,3 napsal:

    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“

  6. Re4DeR napsal:

    zajímavé, jakmile použiju tak white screen( i admin). nesetkal se s tím někdo?

  7. Re4DeR napsal:

    jakmile použiju 6. jinak ok

  8. Assramm napsal:

    Re4DeR: Jsem na tom podobně..taktéž bílo:o).

    Je zde nějaké řešení? Zajímalo by mě, co je špatně:o(

  9. Pepík napsal:

    Zkuste vymazat všechno aktuální v compile

  10. Assramm napsal:

    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.

  11. Assramm napsal:

    Omlouvám se, už je to ok (jak CZ, tak .htaccess).

  12. Levout napsal:

    Děkuji za článek. Na 1.3.1. funguje.

  13. Vojta napsal:

    Díky 5,6 funguje bezva, ostatní nebylo potřeba, v 1.2.5.0

  14. peto napsal:

    oprav si tam apostrofy z ‘utf-8’ na ‘utf-8′

    zmenit
    return htmlentities($string, $type, ‘utf-8′);
    na
    return htmlspecialchars($string, $type, ‘utf-8′);

  15. všechno ok mimo é napsal:

    dal jsem body 1-5, jinak whitedeath…
    a všechny znaky až na dlouhé é jsou ok…má někdo nějaký nápad?

  16. kubbos napsal:

    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

  17. peto napsal:

    + este v subore tools.php riadok 647

    najst:
    return htmlentities($string, $type, ‘utf-8′);
    zmenit na
    return htmlspecialchars($string, $type, ‘utf-8′)

  18. bradcrumb napsal:

    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ť ?

  19. Dano napsal:

    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

  20. DaemonCZ napsal:

    Super. Všechno funkční. Díky moc!

  21. Překódování databáze napsal:

    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 :-)

  22. Hatex napsal:

    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ý.

  23. verze 1.3.5 napsal:

    ve verzi 1.3.5 nejde najít ad1) ad2) ad3), máte někdo podobnou zkušenost?

  24. Malkus napsal:

    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.

  25. peto napsal:

    nejako to nefunguje vo verzii 1.4.1

  26. peto napsal:

    nejako to nefunguje vo v1.4.1

  27. Viťa napsal:

    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

  28. Laky napsal:

    super diky na 1.3.2.3 funguje

  29. Manon.cz napsal:

    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.

  30. Jan Kašpar napsal:

    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..

  31. Jan Kašpar napsal:

    upravený files zde: http://prestashopcesky.cz/uploads/zdrojovy-kod-1-4-7.zip stačí pouze překopírovat na verzi 1.4.7

  32. Alma napsal:

    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?

  33. Lacca napsal:

    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

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

*

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree