Vložení Formuláře do Latte formy

DMilan
Člen | 3
+
0
-

Vzhledem k verzi PHP která je nainstalovaná na serveru používám Nette 2.4 a Latte 2.11.
Zkouším formulář Form vložit do formy z latte pomocí {control form}.
Na Githubu jse si i díval na příklad. Zhavaruje to na tom, že ta moje verze Latte nezná metodu addExtension (alespoň soudím podle chybové hlášky). V návodu na použití Forms v Latte je ale použití {control form} uvedeno i u verze 2.x.
Může mi někdo poradit, kde dělám chybu?

m.brecher
Generous Backer | 864
+
0
-

{control form} fungoval vždycky a funguje, problém máš s addExtension, něco v té šabloně co extension používá.

DMilan
Člen | 3
+
0
-

V tom vzorovém příkladu na Githubu je toto:

$latte = new Latte\Engine;
$latte->addExtension(new Nette\Bridges\FormsLatte\FormsExtension);

První problém byl, že to neznalo tu třídu která je parametrem addExtension.
FormExtension jsem našel ve Nette\Bridges\FormsDI\FormsExtension. Tak jsem to nahradil. Pro změnu mi to zakřičelo, že to Latte\Engine nezná metodu addExtension. Asi to bude problém té mé verze Nette a Latte (jak jsem psal v původním dotazu). Jde možná tedy o to, jak tu FormsExtension dostat do té mé verze Latte (jsem v Nette / Latte novic).

Marek Bartoš
Nette Blogger | 1264
+
0
-

Vždycky se musíš ujistit, zda koukáš na dokumentaci pro verzi co máš nainstalovanou. Výchozí větev na GitHubu je pro Latte 3. Nette 2.4 nepodporuje Latte 3 vůbec.

Jestli používáš celé Nette, nainstalované přes nette/web-project, tak bys tenhle setup vůbec neměl řešit, Nette už ho udělalo za tebe.

A Nette 3 funguje od PHP 7.1. Jestli máš na serveru starší PHP, prostě změň server. Teď by mělo být bare minimum PHP 8.0, předchozí verze 7.4 nedostává ani bezpečnostní aktualizace.

Editoval Marek Bartoš (21. 2. 2023 13:20)

DMilan
Člen | 3
+
0
-

Děkuji. To mě posunulo správným směrem.