wising editor

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

Je mozne vlozit do formulara nejaky wising editor /napr. fck editor/? Pokusali ste sa uz o to?

Nilp
Člen | 65
+
0
-

Muzes si podedit Nette/Forms/TextArea, v metode getControl automaticky prirazovat tridu takto:

/** @var string */
public $className = 'wysiwyg';

/**
 * Generates control's HTML element.
 * @return Html
 */
public function getControl()
{
	$control = parent::getControl();
	$control->class = $this->className;

	return $control;
}

V metode loadHttpData je dobre prohnat hodnoty nejakym filtrem, napr. HtmlPurifier (ci Texy, s tim ale nemam zkusenosti).

/** @var string */
public $encoding = 'UTF-8';

/** @var string */
public $docType = 'XHTML 1.0 Transitional';

/**
 * Loads HTTP data.
 * @param  array
 * @return void
 */
public function loadHttpData($data)
{
	$name = $this->getName();
	$value = isset($data[$name]) && is_scalar($data[$name]) ? $data[$name] : NULL;

	$config = HTMLPurifier_Config::createDefault();
	$config->set('Core.Encoding', $this->encoding);
	$config->set('HTML.Doctype', $this->docType);
	$config->set('HTML.Allowed', 'p,a[href],strong,em,ul,ol,li,h4,h5');

	$purifier = new HTMLPurifier($config);

	$this->tmpValue = $purifier->purify($value);
	$this->setValue($this->tmpValue);
}

Pote uz jen Javascriptem navesis libovolny WYSIWYG editor (pozor aby posilal semanticke tagy, ne ostylovany span), napr. jednoduchy uEditor pro jQuery (a pokud pouzivas ajax s jQuery Nette pluginem, hodne stesti, protoze to chce par uprav :)).

marek-m
Člen | 66
+
0
-

Nakopol si ma spravnym smerom, skusim tam vsak skor hodit tinyMCE tinymce vykreslenie by malo ist loadHttpData si necham na neskor. Super, dik