Přidání WYSIWYG editoru do projektu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Hitny14
Člen | 90
+
0
-

Ahoj, mám takový problém potřeboval bych si přidat do projektu nějaký editor. Koukal sem na CKEditor a nebo Tinymce ale vůbec nevím jak ho mám přidat aby se mi zobrazoval v TextArea. Poradil by mi prosím vás někdo?

iguana007
Člen | 970
+
0
-

Já to řeším takto:

$this->addTextArea('main_text', 'Hlavní obsah článku')
		->addRule(Form::FILLED, 'Položka %label musí být vyplněná')
		->addRule(Form::MIN_LENGTH, 'Položka %label musí obsahovat min. %d znaků', 3);
//Nastavím class te textarea aby byla ve style class="ckeditor"
$this['main_text']->getControlPrototype()->class('ckeditor');
//Toto řeší submit formu, aby se obsah CKEDitoru předalo do té textarea, kterou jsem vytvořil výše
$this->getElementPrototype()->onsubmit('CKEDITOR.instances["' . $this['main_text']->getHtmlId() . '"].updateElement()');

a v template jen naincluduju javascript ckeditoru:

<script type="text/javascript" src="{$basePath}/js/ckeditor/ckeditor.js"></script>
Jiří Nápravník
Člen | 710
+
0
-

No TinyMCE v podstate zadny zasah v nette nepotrebuje, kdyz se podivas na dokumentaci, staci neco takoveho vlozit do sablony:

<script type="text/javascript" src="<your installation path>/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
    selector: "textarea",
    plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste moxiemanager"
    ],
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
</script>

v tom selector, jenom nadefinujes, pro co se to ma definovat… Ja treba davam vsemu class .tinymce a selector pak vypada jako textarea.tinymce

marau
Člen | 50
+
0
-

Já mám rozšířený formulář o addEditor, ve kterém na základě nastavení uživatele zobrazuji příslušný editor – nastavením class na textarea (v administraci lze vybrat mezi tinymce a ckeditorem). Většina však využívá CK, v budoucích realizacích bych se asi na volbu editoru vykašlal, ale zase je hezké mít to takto rozšiřitelné, pokud by třeba klientovi daný editor nevyhovoval. Nemusí se to pak všude přepisovat a veškerá logika se změní pouze v rozšíření addEditor.

Hitny14
Člen | 90
+
0
-

Když použiji první způsob tak se mi editor v textarea nezobrazí a když použijí druhý způsob tak se textarea úplně stratí nevíte co s tím?