Snippet v includované šabloně nevrací json, ale html

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

Mám následuájící strukturu:

  • ArticlePresenter
  • v něm mám komponentu ArticleControl
  • a v ní mám formulář Form

V šabloně ArticlePresenteru mám:

	{snippet}
	{control $control['create']}
	{/snippet}

Součástí formuláře je jednoduchý dynamcký prvek (kdyby/forms-replicator), s tlačítkem přidávájící položky:

<?php
	function processAddRow(SubmitButton $button)
	{
		$el = $button->parent->createOne();
		$form = $button->form;
		if ($form->presenter->isAjax()) {
			$form->parent->redrawControl();
			$form->presenter->redrawControl();
		}
	}
?>

Javascriptovou obsluhu jsem použil default:

		$(function () {
			$.nette.init(); // https://componette.org/search/?q=vojtech-dobes%2Fnette-ajax-js
		});

Takhle jak to popisuji, to funguje. Jenže já bych rád, abych mohl v šabloně napsat něco takového:

	{snippetArea}
	{include 'create.form.latte', control => $control['create']['form']}
	{/snippetArea}

Přičemž šablona create.form.latte:

	{snippet}
	{control $control}
	{/snippet}

což mi nefunguje: vrátí to ajaxový požadavek, vrátí to výřez toho formuláře, ale není v json, ale v html.

Poctivě jsem hledal, a poučil se o mnoha tajemstvích (snippetArea, $this->template->_form = $this[‚selectForm‘];), ale tohle jsem zatím nedal.

Díky za postřehy i vysvětlení.

Editoval Taco (2. 4. 2015 17:53)