Migrace 2.3 na 2.4 User Error Latte\Compiler::getTemplateId()

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

Ahojte. Rad bych pozadal o pomoc. Po upgradu z 2.3 na 2.4 se mi generuje chyba:

Exception in Nette\Bridges\ApplicationLatte\Template::__toString(): Thrown exception ‚Call to undefined method Latte\Compiler::getTemplateId().‘ in … in /var/www/html/mall/vendor/latte/latte/src/Latte/Engine.php

Toto se mi deje v kodu:

	public function macroTranslate(MacroNode $node, PhpWriter $writer)
	{
		$code = $writer->write(
			'echo $template->translate(%node.word, %node.array?)',
			$this->getCompiler()->getTemplateId() // ZDE SE GENERUJE CHYBA
		);

		return $code;
	}

Hlaska je v podstate vporadku, jelikoz ve 2.3 se funkce getTemplateId() nachazi:
https://api.nette.org/…ompiler.html

Z 2.4 vsak zmizela:
https://api.nette.org/…ompiler.html

Jak je prosim nove mozne obrdzet ID dane sablony?

Editoval DavidTheNewbie (31. 3. 2017 11:11)

RichardT
Člen | 43
+
0
-

Nazdar, pozerám že vo verzii 2.4 sa de-facto templateId zrušilo, resp. táto logika sa presunula z Latte\Compiler do Latte\Engine. Zdá sa, že to bolo určené skôr na interné použitie. Môžem sa spýtať k čomu to potrebuješ? Na čo je dobré to makro čo si postol?

DavidTheNewbie
Člen | 79
+
0
-

Prisel jsem ke starsimu kodu a toto makro, dle sveho nazvu, preklada do zvoleneho jazyka.