Registrace helperů a rozšíření form v neon

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

Ahoj.

Tento příspěvek, od HosipLan mě přivedl na otázku, zda se tak sají registrovat i Latte Helpers a rozšíření pro formy? Případně jak?

Nahradit:

protected function startup()
{
    parent::startup();

    Forms\Containers\AddDynamic::register();
}

/**
* @param string|NULL
* @return Nette\Templating\ITemplate
*/
protected function createTemplate($class = NULL)
{
    $template = parent::createTemplate($class);

    $template->registerHelper("timeAgoInWords", callback(new Helpers\TimeAgoInWords, "process"));

    return $template;
}

Editoval martinit (5. 11. 2012 18:37)

MartinitCZ
Člen | 580
+
0
-

To jste to ještě nikdo neřešil? Resp. napadá mne otázka. Podporuje to vůbec Nette?

Arynev
Člen | 33
+
0
-

Rozšíření formulářů je dost specifické. Nenapadá mě žádný způsob.

Helpery asi takhle:

	protected $helpers = array();

	public function addHelper($usage, $callback){

		$this->helpers[] = array(
			"usage" => $usage,
			"callback" => $callback
		);

	}


	public function createTemplate($class = NULL){
		parent::createTemplate($class);

		foreach($this->helpers as $helper){
			$this->template->registerHelper($helper['usage'], $helper['callback']);
		}

	}
SomeControl:
	class: SomeClass
	setup:
		- addHelper(texy, [@texy, process])

Snad je to správně, píšu to z hlavy