Nefunkční TinyMCE v Nette

gizer
Člen | 67
+
0
-

Zdravím všechny,

mám problém s použitím editoru TinyMCE v Nette. Mimo nette to funguje dobře, tak nevím, kde dělám chybu. TinyMCE jsem nainstaloval do složky Vendor pomocí nástroje composer. Po startu zobrazuje pouze okno text area bez TinyMCE.

Šablona

{block content}
<div class="contentWrap">
    <h2>Zadejte všeobecné obchodní podmínky </h2>
    {form buscond}
        <textarea id="mytextarea">Hello, World!</textarea>
        <input type="submit" n:name="save">
    {/form}
</div>
{/block}

{block scripts}
    <script src="..{$basePath}/vendor/tinymce/tinymce/tinymce.min.js"></script>
    <script type="text/javascript">
    tinymce.init({
    selector: '#mytextarea',
    plugins: [
    'advlist autolink lists link image charmap print preview anchor',
    'searchreplace visualblocks code fullscreen',
    'insertdatetime media table paste'
    ],
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist 		 outdent indent | link image',
    entities: '160,nbsp',
    entity_encoding: 'raw'
    });
    </script>
{/block}

Děkuji moc za případné rady.

Editoval gizer (2. 2. 2022 15:09)

JakubH
Člen | 13
+
0
-

Ahoj,

includuješ {block scripts} do hlavičky? Ak sa nemýlim, tak musí byť js Tiny v hlavičke.

Ďalej mám otázku, či máš vendor zložku prístupnú z prehliadača?
Ak je stránka rozdelená do verejného adresára www/public, tak nemôžeš pristúpiť k js súborom, lebo adresár je neprístupný.

Skús si presunúť Tiny do zložky www/public a odtiaľ si to žiadaj.

Editoval JakubH (2. 2. 2022 17:41)

gizer
Člen | 67
+
0
-

Nahrát verzi TinyMCE Open Source Community do složky www jsem už také zkoušel. Proč je nutné includovat {block scripts} do hlavičky? Podle mně by tam být jenom link na stažené soubory TinyMCE.

Obecně mimo nette to funguje takto. To mám ověřené.

<!DOCTYPE html>
<html>
<head>
  <script src="/path/to/tinymce.min.js"></script>
  <script type="text/javascript">
  tinymce.init({
    selector: '#mytextarea'
  });
  </script>
</head>

<body>
<h1>TinyMCE Quick Start Guide</h1>
  <form method="post">
    <textarea id="mytextarea">Hello, World!</textarea>
  </form>
</body>
</html>

U mně v nette šabloně. Upravil jsem link na TinyMCE.

{block content}
<div class="contentWrap">
    <h2>Zadejte všeobecné obchodní podmínky </h2>
    {form buscond}
        <textarea id="mytextarea">Hello, World!</textarea>
        <input type="submit" n:name="save">
    {/form}

</div>
{/block}

{block scripts}
    <script src="www/tinymce/tinymce.min.js"></script>
    <script type="text/javascript">
    tinymce.init({
    selector: '#mytextarea',
    plugins: [
    'advlist autolink lists link image charmap print preview anchor',
    'searchreplace visualblocks code fullscreen',
    'insertdatetime media table paste'
    ],
    toolbar: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
    entities: '160,nbsp',
    entity_encoding: 'raw'
    });
    </script>
{/block}

Stále to ale nefunguje :-(

Editoval gizer (2. 2. 2022 18:41)

gizer
Člen | 67
+
0
-

Upravil jsem ještě layout a přidal tam includování té šablony. Opět to ale ještě nefunguje.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta lang="cs-cz">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="web aplikace zpětná reklama">
    <meta name="keywords" content="reklama, chytrá, zpětná, efektivní, účinná">
    <script src="{$basePath}/js/jquery-3.2.1.min.js"></script>
    <script src="{$basePath}/js/script.js"></script>
    <script src="https://nette.github.io/resources/js/3/netteForms.min.js"></script>
    <title>Chytrá reklama</title>
    <link rel="stylesheet" href="{$basePath}/www/css/style1.css">
    {include scripts}
</head>
JakubH
Člen | 13
+
0
-

Pridaj si tam ešte {$basePath}, odstránil si si ho v predtým

{block scripts}
    <script src="www/tinymce/tinymce.min.js"></script>
    <script type="text/javascript">
{block scripts}
    <script src="{$basePath}/www/tinymce/tinymce.min.js"></script>
    <script type="text/javascript">

Editoval JakubH (2. 2. 2022 19:47)

gizer
Člen | 67
+
0
-

Ten {$basePath} jsme už tam měl a něco se na tom phpStormu nelíbilo. Každopádně jsem ho tam teď znovu přidal a celé se to rozjelo :-)

Děkuji opravdu moc za pomoc.

Editoval gizer (2. 2. 2022 19:43)