Kdyby translator – prekladanie snippetov s prefixovaným translátorom

Čamo
Člen | 786
+
0
-

Zdravím,
narazil som dnes na jeden ošemetný problém s prekladom v snippetoch.

Mám napr. takúto šablonu:

{translator front}
<!DOCTYPE html>
<html>
	<head></head>
	<body>
		<h1>{_default.default.h1}</h1>

		{snippet text}
			<div>{_default.default.snippet}</div>
		{/snippet}

		<div>{_default.default.copyright}</div>
	</body>
</html>
{/translator}

Pri normálnom requeste sa všetko správne preloží. Ale pri ajaxe sa odignoruje nastavenie prefixu translatora {translator front}, a z cesty k prekladu vypadne prefix front. Vie niekto ako sa takáto situácia má správne ošetriť? Už mám 3/4 projektu preloženého, tak dúfam, že nebude treba ten prefix rušiť. Viem, že je možné nastaviť makro {translator front}{/translator} v snippete, ale musím ho zároveň aj uzavrieť, čo má za následok, že zvyšná časť šablony {_default.default.copyright} je zase bez prefixu.

ďakujem.

Editoval Čamo (10. 5. 2017 15:58)

David Matějka
Moderator | 6445
+
0
-

ahoj,

melo by jit, ze by si tu domain nastavil rovnou v presenteru a do sablony poslal rovnou ten prefixovany translator, zhruba

abstract class BasePresenter ...
{
    /** Kdyby\Translation\Translator @inject */
	public $translator;


	public function beforeRender()
	{
		$this->template->setTranslator($this->translator->domain('front'));
	}

}
Čamo
Člen | 786
+
0
-

Díky za reakciu, ale cez presenter je to to isté. Obyčajný request sa preloží, ale z ajaxového vypadne prefix.