ckeditor ve formulari
- jirkamailto
- Člen | 27
Dobry den,
potreboval bych se zeptat, jak zapracovat do formulare ckeditor a jak mu predat
defaultni text z promenne. Predem dekuji za odpoved.
Editoval jirkamailto (4. 2. 2010 10:44)
- toka
- Člen | 253
Zdravím, postupujte následně, podobně:
Komponenta:
protected function createComponentFormEditor() {
$form = new AppForm;
$form->addTextarea('editor', 'Text:')
$form->addSubmit('submitted', 'Uložit');
$form->onSubmit[] = array($this, 'actionEditorSubmit');
return $form;
}
Render:
public function renderEdit($id) {
$formData = $this->model->getData($id);
$this['formEditor']->setDefaults($formData);
}
JS v head
:
<script type="text/javascript" src="{$baseUri}js/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="{$baseUri}js/ckeditor/ckeditor.js"></script>
<script type="text/javascript">
/* <![CDATA[ */
jQuery(document).ready(function() {
CKEDITOR.replace('editor');
});
/* ]]> */
</script>
Editoval toka (4. 2. 2010 12:10)
- jirkamailto
- Člen | 27
Dobry den,
dekuji za odpoved, posunulo me to dal, ale jeste bych se potreboval zeptat,
zdali jde nejak vykreslit primo v mem kodu, kdybych zavolal vykresleni
editoru:
<?php
echo "<script type=\"text/javascript\">
CKEDITOR.replace( 'editor',
{
toolbar : 'Full',
uiColor : '#9AB8F3'
});
</script>
";
$form->addTextArea('editor', 'Stranka:');
$form->addSubmit('message', 'Odeslat zprávu:');
echo $form;
?>
- jirkamailto
- Člen | 27
Ja pouzivam z nette jen nektere casti a nikoliv komplet. Diky za Vasi radu, dal jsem volani CKEDITOR.replace(…) za vykresleni formu a funguje to. Jeste jednou diky za pomoc.
- PetrP
- Člen | 587
toka napsal(a):
Komponenta:
protected function createComponentFormEditor() { $form = new AppForm; $form->addTextarea('editor', 'Text:') $form->addSubmit('submitted', 'Uložit'); $form->onSubmit[] = array($this, 'actionEditorSubmit'); return $form; }
Render:
public function renderEdit($id) { $formData = $this->model->getData($id); $this['formEditor']->setDefaults($formData); }
Na ID se lze dostat regulerne i v tavárničce:
protected function createComponentFormEditor()
{
...
$id = $this->getParam('id');
$form->setDefaults($this->model->getData($id))
}
Považuju za lepší celou komponentu připravit už v továřničce než to dělat až behěm renderování.
- toka
- Člen | 253
PetrP napsal(a):
toka napsal(a):
Komponenta:
protected function createComponentFormEditor() { $form = new AppForm; $form->addTextarea('editor', 'Text:') $form->addSubmit('submitted', 'Uložit'); $form->onSubmit[] = array($this, 'actionEditorSubmit'); return $form; }
Render:
public function renderEdit($id) { $formData = $this->model->getData($id); $this['formEditor']->setDefaults($formData); }
Na ID se lze dostat regulerne i v tavárničce:
protected function createComponentFormEditor() { ... $id = $this->getParam('id'); $form->setDefaults($this->model->getData($id)) }
Považuju za lepší celou komponentu připravit už v továřničce než to dělat až behěm renderování.
Zajímavé řešení, to mne ani nenapadlo, to takto dělat. Je to v něčem lepší, např. rychlost, atd., nebo se jen jedná o hezčí a čistší řešení?
- Mortaelth
- Člen | 24
Vím že to vůbec nesouvisí s Nette, ale nemohu nikde najít v CDedotor
configu jak ho donutit nenahrazovat znaky jako š
nebo
'
za &...;
Ve starším FCK editoru jsem to našel, ale tady pátrám marně zatím.
Jo, ještě jedna věc: Na začátku mi pořád dává tag <p>, který tam nechci a při enteru bych ho chtěl defaultne donutit použít br místo p (vím že to jde s ctrl+enter)
Editoval Mortaelth (27. 2. 2010 11:52)
- Mortaelth
- Člen | 24
Tharos napsal(a):
Nahrazování znaků s diakritikou entitami lze zakázat direktivou config.entities_latin (pro nenahrazování ji je zapotřebí nastavit na false), „enter mód“ se nastavuje direktivou config.enterMode.
Vše je i s příklady dobře popsané v API.
Díky, api (config) jsem prohledával, ale neviděl :-)
A po dlouhém hledání a nastavování se mi povedlo rozběhat i CKFinder pro upload souborů :-)