Starší komentáře ke článku: SMARTY - syntaxe šablon

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 26.9.2003 8:04:37

Bola to len otazka casu kedy sa tato prasacina zvana Smarty dostne aj na Interval.cz :)

Avatar

Autor komentáře: Jan Mizur

Datum vložení: 26.9.2003 11:55:23

Ja som sa zas dockal dalsieho Ivanicovho vrtania.. zacni pisat chlape ty !!

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 26.9.2003 22:13:16

Pisem a urcite som este neskoncil :)
<a href='http://interval.cz/autor.asp?author=197' target='_blank'>http://interval.cz/autor.asp?author=197</a>

Ale k veci:
Lubovolny webovsky markup jazyk a programovaci jazyk ktory ho vie generovat bol vytvoreny ako doplnok, ktory vedel vniest statickym strankam premenlivy obsah.

Ked to aplikujem na PHP: PHP + (X)HTML tvory jeden kompakny blok ktory je zbytocne a az samoucelne rozbijat. Nema o vyznam, lebo:

HTML je znackovaci jazyk bez vizualneho vyzanu (od HTML 4.0). Prezentacnu vrstvu mu zabezpecuje CSS alebo XSLT. PHP sluzi len na zabalenie a generovanie semantickeho HTML kodu.

Ak je HTML kod dostatocne semanticky (t,j. autor chape rozdiel medzi znackami "b" a "em" prip. "strong") potom nepotrebuje ziadny sablonovaci system. Ak je vsak na urovni HTML3.2 a do HTML kodu vnasa vizualnu stranku potom je SMARTY velmy vhodny doplnok a zjednodusi strasne vela veci.

Stale mam pocit ze SMARTY v HTML4.0+ mema co hladat. Je jednoduchsie pisat a udziavat "zlepenec" HTML a PHP kodu nez aplikaciu pozostavajucu zo HTML + PHP + SMATRY kodu.

Vo svete NN4, IE4 boli sablony neocelnitelne. Dnes vsak nemaju vyznam. Na zivot bez sablon nestaci len vedie programovat v PHP, potrebne su aj ine skusenosti ako napr: CSS a Informacna architektura, a dalsie.

Ak niekto nechce sa naucit nic nove, mimo programovania a algoritmov potom je SMARTY to prave riesenie. SMARTY vsak povazujem za uplne zbytocnu vrstvu. SMARTY ide v duchu: medzi kazde dve vrstvy sa zmesti dalsia tretia.

PS. prerabal som aplikaciu ktora obsahovala cca 50 000 tis riadkov PHP + HTML + FastTemplate kodu. (HTML bolo na urovni 3.2 , tabulky pouzivane na layout a nie na to na co sa maju pouzivat, atd, ....) Po prerobeni do XHTML 1.0 Strict a CSS (samozrejme bez sablon) bol narast vykonu aplikacie cca 30-40%. Zaver si spravte sami...

Avatar

Autor komentáře: Karol Novak

Datum vložení: 26.9.2003 22:38:21

No zase nejake prase, co si mysli, ze zozralo mudrost sveta...

Avatar

Autor komentáře: Jan Brašna

Datum vložení: 27.9.2003 1:54:05

Nezlobte se, ale predchozi prispevek byl pro me vice prinosny, nez ten Vas, takze kdyz uz vyjadrujete svuj nazor, tak nejak racionalne, a ne nejakou radobyguru hlaskou...

Avatar

Autor komentáře: Stepan Kouba

Datum vložení: 28.9.2003 14:05:37

Podle me vubec nezalezi na tom, jakou verzi HTML pouzivate, abyste nasel opodstatneni pro pouziti sablon. At se jedna o HTML, XHTML nebo XML. To same plati i pro prohlizece. Proc by mely byt sablony neocinetelne v pripade IE4, NN4 a ne v dnes v dobe mozilly, IE, Opery, Konqueroru, .... ?

Smarty (stejne jako jine systemy sablon) prece nevnaseji do HTML kodu vizualni stranku. Slouzi jen a pouze k oddeleni aplikacni logiky od prezentacni. A jelikoz HTML kod slouzi k prezentaci dat, pak sablony davaji moznost do HTML kodu vlozit i jistou cast logiky, ktera s prezentaci uzce souvisi.

Domnivam se, ze sablony maji vyznam stale. Vezmne te si vetsi projekt o 5 lidech. Sablony Vam pak uzsnadni nejen vyvoj (HTML koder se nebude hrabat v HTML kodech, ktere obsahuji PHP, ci jiny jazyk), ale i pri dalsi udrzbe. V tomto pripade uz by nebylo tak jednoduche zen "slepenec" kodu (HTML + PHP) pouzivat.

Nezlobte se na me, ale spojovat vyuziti sablon jen s urcitou verzi HTML ci prohlizece je dle meho nazoru spatne a prijde mi, ze jste uplne nepochopil k cemu slouzi. Dost dobre si dovedu predstavit aplikaci, ktera bude napsana v Jave, bude pouzivat sablony z XML (napr.: Coccon). XML sablony pak budou pomoci XSL/XSLT predtransformovany do HTML 3.2, HTML 4.01 Strict + CSS a PDF. Priklad je to sice prehnany, ale chci jen ukazat, ze na verzi HTML nezalezi.

Na zaver bych rad podotkl, ze nenutim nikoho pouzivat sablony, natoz Smarty. Dle meho nazoru se ale jedna o velmi uzitecny zpusob vyvoje, ktery umoznuje udrzovat vetsi prehled ve vytvarene aplikaci. Na prikladu Smarty je velmi dober videt jake vsechny schopnosti sablony mohou mit, protoze Smarty ma opravdu velmi siroke moznosti vyuziti.

Preji prijemny den....

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 29.9.2003 8:48:13

<I>Podle me vubec nezalezi na tom, jakou verzi HTML pouzivate, abyste nasel opodstatneni pro pouziti sablon.</I>

Na verziii nezalezi, zalezi na sposobe pouzitia jednotlivych tagov. t.j. ci sa pouzivaju na to na co boli urcene.

<I>Smarty (stejne jako jine systemy sablon) prece nevnaseji do HTML kodu vizualni stranku. Slouzi jen a pouze k oddeleni aplikacni logiky od prezentacni. A jelikoz HTML kod slouzi k prezentaci dat, pak sablony davaji moznost do HTML kodu vlozit i jistou cast logiky, ktera s prezentaci uzce souvisi.</I>

K vizualnej prezenetacii sluzi CSS prip. XSL-FO, HTML je markup a bez stylov sa zobrai ako jedna kopa textu.

<I>Domnivam se, ze sablony maji vyznam stale. Vezmne te si vetsi projekt o 5 lidech. Sablony Vam pak uzsnadni nejen vyvoj (HTML koder se nebude hrabat v HTML kodech, ktere obsahuji PHP, ci jiny jazyk), ale i pri dalsi udrzbe. V tomto pripade uz by nebylo tak jednoduche zen "slepenec" kodu (HTML + PHP) pouzivat.</I>

Pocet ludi s tym nema nic spolocne :). Naj idealnesie je mat tri skupinky ludi:
1) PHP programator, vie len php + rozumie *ML jazykom
2) ???, ovlada CSS, (XSL-FO)
3) analytik

spojit 1 + 3 alebo 2 + 3, 1 + 2 + 3 je celkom v pohode. Spojenie 1 + 2 je urcite problem...

<I>sablony z XML (napr.: Coccon). XML sablony pak budou pomoci XSL/XSLT predtransformovany do HTML 3.2, HTML 4.01 Strict + CSS a PDF.</I>

Coccon nema ziadne sablony (aspon ja to tak vidim. od sablon to ma velmy daleko) ma vlastny jazyk zalozany na XML

Avatar

Autor komentáře: Stepan Kouba

Datum vložení: 29.9.2003 18:46:04

Souhlasim, ze pocet lidi nema s pouzitim sablon mnoho spolecneho, ale lepe dokumentuje fakt, ze pro lepsi udrzovani aplikace ty sablony proste vyuzijete.

Co se cocoonu tyce: Mate pravdu. Pouziva jazyk zalozeny na XML, ktery je nasledne pomoci XSL/T preveden do pozadovane podoby, ale pokud se podivate na ty zdrojove XML dokumenty, tak take obsahuji prezentacni logiku (napr. podminky). Obdobne funguji i sablonove systemy pro PHP, jen s tim rozdilem, ze zdrojovy soubor je napsan v HTML.

Avatar

Autor komentáře: salko

Datum vložení: 28.9.2003 15:50:15

Nesuhlasim s Vasim nazorom, ze sablony tu nemaju co robit. Ak sa robi vacsi projekt, ako chcete naucit ludi, ktory ovladaju iba HTML design, aby sa prisposobily PHP a ucili sa vkladat HTML kod do PHP alebo naopak? Je to perfektna vec na oddelenie designu od kodu. Ja osobne nepouzivam Smarty, mam vlastny sablonovy system, ale princip je rovnaky. Mat cistotu v kode aj v designe. A to sa miesanim HTML a PHP/ASP neda zarucit.

Salko.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 29.9.2003 8:53:09

<I>Nesuhlasim s Vasim nazorom, ze sablony tu nemaju co robit. Ak sa robi vacsi projekt, ako chcete naucit ludi, ktory ovladaju iba HTML design, aby sa prisposobily PHP a ucili sa vkladat HTML kod do PHP alebo naopak? </I>

Uvedom si co hovoris, v HTML sa neda robit ziadny design na to tu mame CSS. Dizajner vie CSS a jedine co ho spaja s PHP progranatorom je spolocny style guide.

<I>Je to perfektna vec na oddelenie designu od kodu. Ja osobne nepouzivam Smarty, mam vlastny sablonovy system, ale princip je rovnaky. Mat cistotu v kode aj v designe.</I>

Ty pouzivas atribut style? a tag style? To ano potom to musis odelovat. Ja pouzivam esterne CSS. A mam cisto vsade. :)

Avatar

Autor komentáře: salko

Datum vložení: 29.9.2003 9:23:51

Clovece, ty asi nemas vela skusenosti, alebo ti nedochadza. Ako chces urobit dynamicky web, do ktoreho potrebujes zamontovat napr. aktualny stav online userov bez pomocy vlozeneho kodu PHP/ASP? A potom, ako clovek ktory poznam iba design, teda HTML a CSS a nepozna PHP/ASP moze urobit takuto stranku? Ked to bude vsetko natrepane v jednom subore (+CSS), do ktoreho bude zasahovat aj designer a aj programator, tak AMEN. Ked si designer urobi svoje HTML/CSS do jedneho suboru a programator k tomu napise kod do druheho suboru, tak to je asi jedina cesta, ako udrzat vacsie projekty pokope. Zlepence su pre zaciatocnikov amaterov, ktory nemyslia na vyvoj a na skutocnost, ze niekedy bude treba aj ten Web aktualizovat.

Salko.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 29.9.2003 13:53:05

<I>Clovece, ty asi nemas vela skusenosti, alebo ti nedochadza.</I>
Neviem posudit ci mam malo/vela skusenosti, ale weby robim uz cca 5 rokov.

Prvy rok som sa ucil HTML a PHP. Uz vtedy som mal zly pocit z toho ze sa tabulky pouzivaju na layout stranok. A zacal som sa obzerat po vhodnom sposove ako sa dostat od HTML. Nasiel som sablony. Parada. Dalsi rok, dva som si robil svoje aplikacie v PHP a o HTML som sa nestaral.

Lenze na sablonach ma stvalo:
1) boli strasne pomale.
Strasne ako strasne, 10-20%na rezia.
2) neboli flexibilne
V sablonach som postradal prvky riadace "prezentacnu logiku" ked som ich tam chcel dat narazil som na odpor HTML koderov. Nechceli sa ucit nic nove a starosti mali aj tak dost.

V tej dobe by sa mi pacil sablonovaci system ktory by fungoval opacne:
1) loadnem sablonu
2) dostanem zoznam blokov,znaciek, .... ktore obsahuje sablona (tu je prave ten rozdiel).
3) ja si spravim celu logiku prejdenia sablony

Nieco taketo som zacal aj programovat, ale ostal som len pri zacal:
1) potreboval som funkcoinalitu ktora je az v PHP5 (napr __set, __get)
2) spoznal som CSS, Infornacnu architekturu, pouzitelnost

<I>Ako chces urobit dynamicky web, do ktoreho potrebujes zamontovat napr. aktualny stav online userov bez pomocy vlozeneho kodu PHP/ASP? A potom, ako clovek ktory poznam iba design, teda HTML a CSS a nepozna PHP/ASP moze urobit takuto stranku?</I>

Este jednoduchsie ako predtym...
1) php koder spravy tento kod:
echo '<span id="online-users">'.$online.'</span>';

ja si v CSS spravi to co potrebujem:
#online-users { display: none; }

Cele je to o komunikacii a style guide. PHP a CSS koder dostanu na zaklade specifikacie zoznam id-ciek a class ktore sa musia pouzivat v tych a tych pripadoch. napr. ja si vzdy form oznacujem idckom v style: load-online-users, update-user, ...

Ak dodorzia tento style guide mozu nezavisle a bezkonfliktne pracovat.

<I>Ked to bude vsetko natrepane v jednom subore (+CSS), do ktoreho bude zasahovat aj designer a aj programator, tak AMEN. Ked si designer urobi svoje HTML/CSS do jedneho suboru a programator k tomu napise kod do druheho suboru, tak to je asi jedina cesta, ako udrzat vacsie projekty pokope.</I>

V jednom subore bude PHP + Markup. CSS prip. XSL-FO bude len linkovane k tomuto suboru.

Dalsia vec je ze z php mozem generovat len XML v style:
[userlist]
[user]
[login]jozo[/login]
[/user]
[user]
[login]fero[/login]
[/user]
[/userlist]

a toto prehnat cez XSLT na co potrebujem.

Avatar

Autor komentáře: Ales

Datum vložení: 29.9.2003 16:35:54

XML + XSLT je pekna vec, otazka je, jestli to server nesotji vic vykonu nez nejake sablony.Precejen XSLT je celkem moloch.

A kdyz zapomenu na XML + XSLT tak

je samozrejme dulezite pouzivat styly ale jak chces rozumne bez zasahu do PHPcek udelat neco takoveho:

Puvodne
[h1]Nadpis[/h1]
[p class="autor"]Pepa Novak[/p]
[p class="text"]Text clanku[/p]
[p class="datum"]1.1.2000[/p]

a ja najednou chci

[h1]Nadpis[/h1]
[p class="text"]Text clanku[/p]
[p class="autor"]
Pepa Novak [span class="datum"]1.1.2000[/span]
[/p]

Tohle v ramci sablony predela kde kdo, ale hledej to a opravuj v tom PHPcku.....

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 29.9.2003 18:43:57

Ja by som si to tam nasiel rychlo, cca 40% z php suboru su komnetare a ten subor na maximalne 300 riadkov php kodu.

Dalsia vec ze ked na ziaciatku budes vela rozmyslat potom mas len malu sancu ze budes musiet menit strukturu markupu.

PS. je to trochu nelogicke, miesat autora a datum. Ked raz budes chciet aby datum bol vedla autora jednoducho spravis:
.datum { float: left }

Avatar

Autor komentáře: Ales

Datum vložení: 1.10.2003 0:11:32

300 radku? To jsi stastny clovek.... ja jich mam vetsinou vic i pri pouziti sablon (a to si myslim ze pouzivam includy/procedury celkem dost)....

rozmyslet je dobra vec, ale to by musel byt svet bez zakazniku.... pokud chce zakaznit prohodit sloupce v tabulce nebo prehodit sled v mem prikladu clanku, tak to proste bez upravy neprojde....

Spojovat autora (nebo treba rubriku) a datum je podle me na zpravodajskych webech bezne (odlisi se treba barvou). Me slo spis o to presunout autora z "pod" clanu "nad" clanek.... navic .datum { float: left } je sice hezke, ale ne moc podle w3c, kde se pokud vim pravi, ze pokud napisu float, musim napsat i width s pevnym cislem a vznikne mi opravdu spatne resitelny problem (prohlizece se sice bez te sirky obejdou, ale spravne to podle me neni)

Avatar

Autor komentáře: Jan Brašna

Datum vložení: 29.9.2003 17:15:08

> #online-users { display: none; }

To jakoze budu stahovat 400 kB HTML ve kterym bude vse schovany ?? (nemluve o zobrazeni bez css ci na mobilnich zarizenich...)

> V jednom subore bude PHP + Markup

Oh my f***ing god...

> a toto prehnat cez XSLT

Proti xml+xslt nic nemam.


Co se ale tyka treba smarty mi prijde jak kladivo na blechy...
Oddeluji vrstvy pomoci objektu, a mam cisto v kodu...

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 29.9.2003 18:37:07

<I>> #online-users { display: none; }

To jakoze budu stahovat 400 kB HTML ve kterym bude vse schovany ?? (nemluve o zobrazeni bez css ci na mobilnich zarizenich...)</I>

Nie, to bolo asi prave pravidlo ktore ma napadlo.

Avatar

Autor komentáře: jakub

Datum vložení: 30.9.2003 1:53:00

ja sam smarty nepouzivam - mezi kombinaci php+xhtml syntaxe a smarty+html syntaxe je rozdil pouze v tom, ze zmrsena smarty mi neponici aplikaci. Je otazka, zda se vyplati ucit html kodera smarty syntax, kdyz je zhruba stejne narocna jako php syntax a navic se (v pripade php zapisu) muze prace obou v urcitych pripadech efektivne prekryvat.
V kombinaci php/smarty+html vsak nejde o design jako spis o vygenerovani obsahu.

<I>Este jednoduchsie ako predtym...
1) php koder spravy tento kod:
echo '<span id="online-users">'.$online.'</span>';
ja si v CSS spravi to co potrebujem:
#online-users { display: none; }
</I>

Tak tohle povazuji za mozkovou krec, protoze preci neposlu na vystup vsechno s tim, at si to prebere css koder. Pokud to ma byt polotovar ke zpracovani, pak mi prijde tento krok opet zbytecny, ponevadz je jiz z logiky veci jaksi navic.

<I>Cele je to o komunikacii a style guide</I>
Cele je to o tom, jak si to ve firme udelate. Stejne tak jako nekomu mohou vyhovovat postupy Vase, jakoze ja je nepochopil, tak nekomu mohou vyhovovat sablony. Rychlostni upadek existuje, nicmene 10-20% - nevim, no asi zalezi na prvotni konstrukci aplikace ze 3 na 3,3 sekundy je to imho jedno. ...

Avatar

Autor komentáře: Pepak

Datum vložení: 30.9.2003 9:20:03

O tom, ze pouziti templatovaciho enginu prinasi urcitou ztratu vykonu neni treba diskutovat, na tom se jiste vsichni shodneme. Ale osobne jsem presvedcenej, ze vyhody sablon tu dodatecnou rezii bohate vyvazujou - a to i v XHTML+CSS. Z myho pohledu maji sablony dve zasadni vyhody:

1) Naprosto striktni oddeleni kodu od prezentace. Designer vubec nema moznost delat cokoliv v PHP kodu, a tak mi ani z blbosti ani ze zlyho umyslu nemuze naborit moje skripty.

Podotykam, ze oddeleni pomoci XHTML+CSS _neni_ dostacujici: CSS do jisty miry umoznuje zmenit vzhled (ale pokud chci zachovat flexibilitu, tj. nechci fixni pozicovani, tak rada zmen vzhledu vyzaduje i zmenu HTML kodu - treba poradi prvku...), ale napriklad s nim nedokazu zobrazit jedny a ty samy data jednou jako XML, podruhy jako HTML a potreti jako plaintext. Napriklad.

2) Sablony jsou zdaleka nejpriznivejsi prostredi pro preklad stranek do nekolika jazyku, s jakym jsem se setkal.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 30.9.2003 11:14:22

<I>2) Sablony jsou zdaleka nejpriznivejsi prostredi pro preklad stranek do nekolika jazyku, s jakym jsem se setkal. </I>

Myslim ze nie. gettext() je jednoduchsie a lepsie riesenie.

<I>ale napriklad s nim nedokazu zobrazit jedny a ty samy data jednou jako XML, podruhy jako HTML a potreti jako plaintext. Napriklad.</I>

Ano to urcite. PReco vsak na zatlkanie klincov lopatu ked staci kladivo. Radsej ako sablonovu vrstvu pouzijem PHP+XML a vystup prezeniem cez XSLT a urcite budem na tom lepsie.

<I>Podotykam, ze oddeleni pomoci XHTML+CSS _neni_ dostacujici: CSS do jisty miry umoznuje zmenit vzhled (ale pokud chci zachovat flexibilitu, tj. nechci fixni pozicovani, tak rada zmen vzhledu vyzaduje i zmenu HTML kodu</I>

XHTML + CSS _je_ dostacujuce tych 5% pripadov pri ktorych som sa musel hrabat v HTML zanedbavam. Tych 5% bolo sposobenych:
a) chybnou implementaciou v browseroch (1%)
b) chybnou implementaciou v IE (ostat)
jednoduchsie bolo zmenit to v HTML ako robit CSS workaround.

Avatar

Autor komentáře: Pepak

Datum vložení: 30.9.2003 13:27:00

Ano, zrovna na GetText jsem myslel, kdyz jsem psal, ze sablony jsou zdaleka to nejlepsi, co k dosazeni prekladu znam. GetText sice teoreticky jde pouzit, ale je to velice nepohodlny (a pokud navic chces, aby ten preklad aspon za neco stal, tak je to EXTREMNE nepohodlny).

XSLT se samozrejme pouzit da, ovsem vyzaduje to, aby uzivatel mel XSLT procesor. Ja zastavam nazor, ze co muzu udelat na serveru, to mam udelat na serveru, aby to uzivatel mel co nejpohodlnejsi. Jsou pochopitelne i odlisny pristupy.

Samotny CSS ti nestaci napriklad tehdy, pokud chces udelat beztabulkovej layout, kde jsou nektery prvky floatovaci a nektery ne. Nebo kdyz chces, aby nektery prvky byly driv nez jiny. Neni to chybnou implementaci v browserech (ani chybnou implementaci v IE), ale tim, jak CSS funguje. Nic vic, nic min.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 30.9.2003 13:43:16

neviem, asi je to vec vskusu. gettext() je pohodlny. Moze to rozviest?

XSLT moze pouzit na servery.

CSS uplne staci. IE je tak dojebane ze to az boli (najma float). abosolute/realtivne pozicionovanie + float staci na 99% veci. Aspon v mozille.

Avatar

Autor komentáře: salko

Datum vložení: 30.9.2003 14:24:27

gettext() je naozaj nafigu a vyzaduje aj zvlastnu konfiguraciu servera, takze velmi pracne na vyuzitie. Ja osobne nepoznam vela ludi, ktory gettext() pouzivaju.
A vazne mi vysvetli, ako spravis nasl. priklad. pomocou CSS:
-----------------------
Zoznam prihlasenych userov:
- Jano | 15min.
- Ivan | 16min.
- Peter | 5min.
---------------------
s tym, ze samozrejme zoznam sa bude menit. A som v pozici designera a o PHP nic neviem a udaje mi doda programator. Takze ako by si zapisal cisty HTML kod s vyuzitim CSS? Ake udaje by ti mal dodat programator?

Viem ako to urobim kombinaciou Sablona (HTML+CSS) / PHP. A miernou modifikaciu sablony to dokazem priamo prezentovat napr. na WAP (bez toho, aby som menil PHP kod).

Salko.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 30.9.2003 20:20:46

Ano, gettext() sa neda pouzivat vsade a to vadi? ked nieco robim mam moznost povedat ako nakonfigurovat Apache a PHP. Ked tam tato moznost nieje velmy rozmyslam ci pojdem do toho.

Tabulka a meno uzivatela bude v th + nadpis co ine?

Ked potrebujem generovat viac vystupou pouzijem PHP+XML+XSLT

Avatar

Autor komentáře: Tantrick

Datum vložení: 28.1.2004 18:41:46

Designér má určit kde, se mají data na stránce objevit a jak mají vypadat.

Avatar

Autor komentáře: Pepak

Datum vložení: 30.9.2003 19:03:08

S tim, ze CSS staci, se ovsem zasadne mylis. Pokud chces mit "gumovej" design, tak v rade pripadu zalezi napr. na poradi elementu (X)HTML kodu.

GetText podle me jednoduchej neni, ale to je ciste subjektivni zalezitost. Zasadni problem nastava v okamziku, kdyz potrebujes neco ponekud slozitejsiho nez jednotlivy slova, coz u kvalitnich prekladu znamena "v podstate vzdycky" - to uz ti pocet ruznych kombinaci slov silene naroste, nehlede na to, ze budes muset operovat s formatovanim stringu (printf, sprintf), ktery bude vice ci mene slozity.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 30.9.2003 20:24:09

100% gumovy design je zbytocny. Pre realne pouzitie uplne staci 30% gumovost, ktora sa da s velkou rezervou realizovat pomocou CSS.

gettext ma vyriesene aj mnozne cislo. Bez pouzitia sprintf/printf sa da len velmy tazko zaobist. Je vela situacii ked skladanie retazcov je otravne.

Avatar

Autor komentáře: salko

Datum vložení: 30.9.2003 21:35:48

Ja ked pisem aplikaciu, snazim sa, aby bezala na kazdom servery(i), kde je podpora PHP a MySQL. Presviedcat spravcov serverov, ze musia dokompilovat taku alebo inu kniznicu iba pre to, aby som mohol pouzivat viacjazycnu podporu Webu sa mi nezda uplne OK. GetText() je fajn, ale nie velmi pre slovencinu a cestinu, ta je velmi komplikovana pre nasadenie GetText().

A ked sa vratim o par tvojich odpovedi naspat, tak si tam pisal, ze uplne vystacis s HTML+CSS. Je mi jasne, ze ten moj tabulkovy priklad s tym nezvladnes. Skus mi teda napisat priklad, ako "jednoducho" by vyzeral ten moj tabulkovy priklad pomocou PHP+XML+XSLT. Lebo pomocou sablon by som to mal na par riadkov. V principe mi ide o to, ze zavrhujes sablony a tvrdis, ze "modernejsie" riesenia su lepsie. Ale za aku cenu? Proste mi to pripada pomocou sablonoveho systemu rychlejsie a prehladnejsie. A tiez pouzivam CSS.

Salko.

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 30.9.2003 22:43:36

bud tu aplikaciu robim, len tak a poto chcem aby bezala vsade. Alebo zacnem pozadovat co realne potrebujem:
napr: MySQL/PgSQL, gettext, gd, xml
dalej je vhodne xslt, zlib, mcrypt, openssl (to vseko je urcite v takom RH alebo MDK builtin)

Myslis toto?
<I> A vazne mi vysvetli, ako spravis nasl. priklad. pomocou CSS:
-----------------------
Zoznam prihlasenych userov:
- Jano | 15min.
- Ivan | 16min.
- Peter | 5min.
--------------------- </I>
Jednoducho v php vyplujem tabulku a jeden nadpis. Co je na tom nerealizovatelne? Ako chces inac zobratit tabulku ako tabulkou? (lepsie povedane: ake ine tagy potrebujes na zobrazenie tabolny ako, table, tbody, tr, td, th, ... ???)

V PHP+XML+XSLT to bude vyzerat rovnako, len sa nebude generovat xhtml ale xml. a mam dve moznosti:
1) Apache filters cez ktory pridam XSLT procesor na vystup z php skriptu
2) pomocou output bufferingu. Zoberiam buffer a predam ho XSLT procesoru.

Avatar

Autor komentáře: salko

Datum vložení: 30.9.2003 23:20:41

<I>Jednoducho v php vyplujem tabulku a jeden nadpis. Co je na tom </I>

takze ten prvy pripad nezvlada designer, na to treba programatora, ktory to "vypluje". Samozrejme uvazujem aj o moznosti prezentovat tabulku nielen ako HTML, ale napr. ako WAP.

<I>V PHP+XML+XSLT to bude vyzerat rovnako, len sa nebude generovat xhtml ale xml. a mam dve moznosti:
1) Apache filters cez ktory pridam XSLT procesor na vystup z php skriptu
2) pomocou output bufferingu. Zoberiam buffer a predam ho XSLT procesoru.
</I>

toto vidim ako zasah do servera, ktory nemusi vsade pracovat a je velmi uzko naviazany na konkretnu konfiguraciu servera.

Ja neodsudzujem PHP+XML+XSLT, iba sa mi to zda zbytocne zlozite, i ked je to moderne.

V principe mi ide o to, ze sablony maju uplatnenie v dnesnom webe, pretoze sa s nimi daleko rychlejsie dosiahne pozadovany vysledok ako "modernejsimi" rieseniami. Z tvojich reakcii chapem, ze sablony nemas rad.
Ja mam aplikaciu, ktora dokaze prezentovat udaje ako HTML, WAP a PDF. HTML a WAP som robil davnejsie, PDF prednedavnom. Stacilo pozmenit sablonu, data isli tie iste a vznikol mi PHP kod, ktory po evale vygeneroval PDF dokument (FPDF class). Myslim, ze pomocou PHP+XML+XSLT by som sa asi tazko dopracoval k PHP kodu, ktory mi vygeneruje PDF. Proste ja zastavam nazor, ze sablony patria na dnesny Web.

Salko.

Avatar

Autor komentáře: Lukas

Datum vložení: 26.9.2003 13:06:24

Myslim , ze by nebylo spatne. Ukazat na nejakem skriptu , jak by se to programovalo s a bez sablon aby bylo videt , jake vyhody to ma.

Avatar

Autor komentáře: Jirka

Datum vložení: 4.10.2003 8:59:23

Uz jsem se na jedne diskuzi na tuto zalezitost ptal, nicmene jsem nejak nedostal jednoznacnou odpoved. Snad tu je nekdo kdo pracuje ve.. nebo ma firmu a vi co a jak. Porad nejak nemuzu prijit na to, zda muzu naprikald v PHP udelat komercni software, ktery ovsem bude ke sve fci vyuzivat SMARTY ci jiny template system.. pac ty jsou sireny pod licenci GPL.. Vi nekdo jak to tady s timto je... ?

Avatar

Autor komentáře: Karel Gott

Datum vložení: 6.10.2003 7:47:10

pokud se nemylim, tak smarty jsou pod LGPL
najdi a precti si tu licenci. co vic poradit?

Avatar

Autor komentáře: Dano

Datum vložení: 18.11.2003 16:22:29

Ahojte.
Mám taký malý problém. Keď si na svojich stránkach kde používam Smarty šablony vyberiem údaje s DB pomocou MySql_Fetch_Array a následne ich použijem v šablone tak sa mi zobrazí iba jeden údaj, pritom v DB je ich viac. Please Help. Diki.

Avatar

Autor komentáře: Tantrick

Datum vložení: 28.1.2004 18:49:51

Designér předá programátorovi pěkné grafické statické stránky. Podle těch programátor udělá web. Pokud by měl necháte designéra vytvářet šablony nebo prezentační soubory s php, tak by designér musel vědět, které proměnné tam má psát. To přece neví, když nenaprogramoval aplikaci. Pamatujte na správné rozvržení práce. Designér nemá pracovat s proměnnými ale s konstantami.

Avatar

Autor komentáře: llook

Datum vložení: 3.6.2004 11:10:23

Myslim, že v XML jsou pro podobné věci používány zpracovací instrukce a ne elementy. Takže takhle:
/**
* @var string
*/
var $left_delimiter = '<?smarty:';

/**
* @var string
*/
var $right_delimiter = '?>';
Samozřejmě na tom zas až tak moc nesejde, ať si každej delimituje čím chce.

Zpět na článek | Úvodní stránka Interval.cz