Právě je 22 zář 2021 06:59

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 3 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop - Editace produktu přes vlastmí formulář, problém s kódováním v TinyMCE editoru
PříspěvekNapsal: 01 bře 2021 13:06 
C4 zákazník

Registrován:
04 led 2020 13:50
Příspěvky:
17
Z určitých důvodů si potřebuju udělat speciální PHP formulář, přes který bude jeho uživatel moci zobrazit obsah description a description_short z MySql tabulky ps_product_lang mého PS1.7.7.0 a bude ho moci přes ten formulář editovat.
Vyrobil jsme si tedy potřebný PHP formulář a protože jeho uživatel neumí HTML, chci nad jednotlivými TEXTAREA rozjet tinyMCE wisiwyg editor.
Chtěl jsme postupovat podle tohoto návodu: https://navody.c4.cz/tinymce-instalace-a-cestina
Jenže uvnitř dostupný odkaz mě nasměroval na jejich login page, kde mě to nabízelo pouze možnost si založit účet do jejich cloudového řešení.
Po založení účtu to v administraci nikde nenabízí možnost si stáhnout balíček se soubory editoru pro jejich instalaci na server, o které mluví ten návod od C4(nebo jsem to přehlédl). Nabízí mi to pouze ukázkový zdrojový kód pro využití tinyMCE přímo z jejich cloudu. Na jeho základě jsem si udělal vlastní PHP script viz níže.
Sice to funguje, ale při odeslání formuláře to do databáze místo znaků české diakritiky cpe otazník :-(
Nepomohlo ani, když jsem do scriptu tinymce.init přidal entity_encoding : 'raw' :-(
Uměl by jste mi někdo poradit, jak při využití toho jejich cloudového řešení správně nastavit script, aby mi to do prestashopí MySql ukládalo diakritiku?
Nebo mi poradit, jak mám ten svůj PHP script napsat tak, aby používal tinyMCE instalaci, která je integrovanou součástí formulářů prestashopu a je umístěná v /js/tiny_mce ?

Aktuálně ten můj formulář vypadá takto /PHP kód pro získání obsahu z databáze a pro jeho update po odeslání formuláře neuvádím/
Kód:
<!DOCTYPE html>
<html>
  <head>
  <script src="https://cdn.tiny.cloud/1/TADY-JE-API-KEY-VYGENEROVANÝ-PRO-MŮJ-CLOUDOVÝ-ÚČET/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script>
  </head>
<body style='font-size: 15px'>
<form action="update_form.php" method="post">
  <textarea  name='kratky' id='kratky'>
    <? echo $kratky; ?>
  </textarea>
  <script>
    tinymce.init({
      selector: 'textarea#kratky',
      entity_encoding : 'raw',
      toolbar_mode: 'floating',
      tinycomments_mode: 'embedded',
      tinycomments_author: 'Author name',
   });
  </script>

  <textarea  name='dlouhy' id='dlouhy'>
    <? echo $dlouhy; ?>
  </textarea>
  <script>
    tinymce.init({
      selector: 'textarea#dlouhy',
      entity_encoding : 'raw',
      toolbar_mode: 'floating',
      tinycomments_mode: 'embedded',
      tinycomments_author: 'Author name',
   });
  </script>
<input type=submit value=Odeslat>
</form>



ps.: Tento dotaz už jsme do fora vkládal, ale nevidím ho tu nikde, tak předpokládám, že se neodeslal.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Editace produktu přes vlastmí formulář, problém s kódováním v TinyMCE editoru
PříspěvekNapsal: 02 bře 2021 00:35 
C4 zákazník

Registrován:
04 led 2020 13:50
Příspěvky:
17
Tak už jsem to vyřešil. Samozřejmě to byla banalita :-)
Problém nebyl v tinyMCE editoru.
Do PHP scriptu bylo nutné přidat příkaz mysqli_set_charset($conect,"utf8"); pro nastavení kódování obsahu načítaného z a následně updatovaného zpět do databáze.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Editace produktu přes vlastmí formulář, problém s kódováním v TinyMCE editoru
PříspěvekNapsal: 03 bře 2021 16:18 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8041
Dobrý den,

výborně, děkujeme za uvedení řešení. TinyMCE lze používat i bez cloudu/api, ale musíte si stáhnout self-hosted variantu. Postup pro aktuální verzi naleznete v návodu na instalaci. Každopádně i na Vašem řešení pomocí externího linku není nic špatného a jeho výhodou je hlavně načítání nejnovější verze. Dal by se použít i interní TinyMCE editor aplikace PrestaShop, ale ten je upravený na míru, takže jeho implementace do vlastního skriptu by byla zbytečně složitá.

A pokud máte na stránce více textových polí se stejnou konfigurací, tak editor nemusíte inicializovat pro každé pole samostatně. Stačí použít jeden skript s úpravou selectoru pro všechna textová pole:
Kód:
  <script>
    tinymce.init({
      selector: 'textarea',
      entity_encoding : 'raw',
      toolbar_mode: 'floating',
      tinycomments_mode: 'embedded',
      tinycomments_author: 'Author name',
   });
  </script>

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 3 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři

Seznam všech partnerů

PrestaShop Hosting
Návody pro C4

© 2009-2021 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz