Nette Templates pro Zend 3
Netťácké šablony jsem si hned oblíbil a používal je nejen s kompletním frameworkem. Zend Framework umožňuje vcelku nahradit výchozí “šablonovací” systém jiným a vzhledem k existujícím projektům, které spravuji a kde by se mi Nette šablony hodily, jsem vytvořil vcelku jednoduchou přemosťující třídu, která umožňuje použít Nette Templates v Zend Frameworku.
Stažení
Třídy včetně příkladu implementace lze najít v repozitáři na Githubu.
Použití
Do aplikace si stačí nahrát Nette Framework (celý) a dvě třídy (jedna pro samotnou implementaci šablon, druhá pro doplnění maker, které nebudou v původní formě fungovat). Pak už je jen potřeba nahradit původní Zend_View šablonami z Nette.
V repozitáři to nemám úplně pěkně uděláne. Narozdíl od Nette, kde bych na to použil společný presenter, je v Zendu lepší vyčlenit inicializaci do Controller pluginu. Každopádně až na umístění pár drobností bude implementace vypadat stejně jako příklad v repozitáři.
Layouty
Systém nebude fungovat s Layoutovými třídami ze ZF. Je potřeba je vypnout a layout si vytvořit sami přes bloky a makro {extends}. V šabloně pohledu bude tedy např.:
{extends '../../../layouts/scripts/layout.phtml'}
{block content}
obsah ....
a layout budu mít definovaný takto:
<html>
<head>
<title>
Nette View in Zend Test
</title>
</head>
<body>
{include #content}
</body>
</html>
Funkčnost maker
V současné implementaci mám pouze základní podporu pro makro {link}, zápis odkazu se ale spíš blíží použití klasického URL helperu ze Zend_View. Chtělo by to ještě dodělat podporu pro {ifCurrent}
{control} přirozeně nefunguje.

Vidis nejakou moznost rozchodit podporu pro layout v Zendu, to je proc ja jsem vicemene nepresel na jiny sablonovaci system, protoze mi Zend_Layout vyhovuje a chtel bych ho mit i pri pouziti jineho sablonovaciho systemu.
Pokud se zapne Zend_Layout, tak se Zend pokusi vyrenderovat zvlast obe sablony a jediny problem je, jak ziskat obsah te obsahove a vypsat ho v layoutu.
$this->layout()->contentv layoutu přirozeně nefunguje. Jediné co by snad bylo potřeba udělat je zprovoznit přístup k obsahu, co byl původně v Zend_View v$this->layout(). Když budu mít čas, zkusim to nějak rozchodit.Zdravím,
pokoušel jsem se o implementaci Nette Templates do Zendu před časem, nakonec jsem zvolil šablonovací systém Twig. Stejně jako Nette umožňuje dědičnost a bloky, syntax je velice podobná. Pro začlenění do Zendu jsem využil knihovnu Zwig, viz http://code.google.com/p/zwig/.