Jak vložit graf do latté (použití pChart)

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

Ahoj, ve svém projektu budu generovat grafy pomocí knihovny pChart (http://www.pchart.net/) a řeším následující problém:

Mám latte šablonu, kam mi nette vykreslí nějaké tabulky s vypočítanými hodnotami. A dál tam chci umístit ten graf/y.

Jenže jaksi nevím jak postupovat. když v pChart vyvolám metodu ->Stroke(), tak se mi sice vykreslí ten graf, ale jenom ten graf. Případně můžu ten graf vytvořit do souboru a v latte šabloně dát jen img tag na ten obrázek – jenže to tam za chvíli budu mít stovky grafů na disku…

Jediné co mě napadá je, že vytvořím ještě v nette jeden render, který bude klasicky pomocí Stroke() vykreslovat samotný graf.

V původní render metodě budu volat pomocí file_get_cont… výše uvedený render a to vkládat do latté šablony.

Co myslíte, je to dobré řešení, nebo existuje něco lepšího? Díky

matto
Člen | 55
+
+1
-

Najjednoduhsie riesenie je asi vytvorit novy Presenter pre Graf, ktory bude vracat vygenerovane PNG
a potom v sablone ineho presenteru zavolat nieco taketo (pisem narychlo):

<img src="{link Graph:default, id=>$id}" alt="graf">

n.u.r.v.
Člen | 485
+
0
-

j, přesně tak jsem to myslel, jen jsem to popsal složitě…díky

n.u.r.v.
Člen | 485
+
0
-

Takže kdyby někdo potřeboval pomocí externí knihovny generovat grafy, tak potvrzuji funkčnost.

Vytvořil jsem repozitář, kam si includuju knihovnu + tam mám metody pro generování konkrétního grafu. V presenteru pak mám rendery (asi změním na action) které volají jednotlí metody po generování grafů…

Tam kde chci zobrazit graf pak volám

<img src="{link routa:na:graf}" />

Jelikož je výpočet hodnot pro tabulku/graf náročný, ukládám si hodnoty do session, aby se při volání grafu znova neprováděl výpočet…