Založení vlastního makra ve verzi 2.3
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Miri
 - Člen | 117
 
Ahoj, podle tohoto návodu https://latte.nette.org/cs/ se snažím založit vlastní makro.
Trošku ale tápu, kde mám tento kus kódu použít. Zkoušel jsem ho dát do basePresenteru do metody action, ale vypsalo mi hlášku Unknown attribute n:try (při použítí n:try v latte)
Předem díky za odpověď
Míra

- Pavel Janda
 - Člen | 977
 
Config:
latte:
	macros:
		- App\Utils\Macros
Macros.php:
<?php
namespace App\Utils;
use Latte;
class Macros extends Latte\Macros\MacroSet
{
	public static function install(Latte\Compiler $compiler)
	{
		$set = new static($compiler);
		$set->addMacro('currency', array($set, 'macroCurrency'));
		return $set;
	}
	public function macroCurrency(Latte\MacroNode $node, Latte\PhpWriter $writer)
	{
		return $writer->write(
			'echo \App\Utils\Macros::renderMacroCurrency(%node.word)'
		);
	}
	public static function renderMacroCurrency($currency = NULL)
	{
		$currency = $currency ?: self::$currency;
		switch ($currency) {
			case 'EUR': return "€";
			default: return 'Kč';
		}
	}
}
					Editoval Pavel Janda (6. 12. 2015 23:53)