Starší komentáře ke článku: SMARTY - chytré šablony pro PHP

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

Avatar

Autor komentáře: Mentor

Datum vložení: 15.9.2003 9:41:43

Není to (vzhledem k obsahu článku podstatné), ale můj slovník říká, že:

SMARTY = 1. velký domýšlivec/nafoukanec/ješita; 2. moudrý/rozumný chlapík/člověk.
SMART = mj. 2. chytrý, bystrý, inteligentní...

<a href='http://mentor.bloguje.cz' target='_blank'>http://mentor.bloguje.cz</a>

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 15.9.2003 12:31:42

1. váš slovník není úplný a zcela určitě neobsahuje moderní americkou angličtinu, jak je vidět ;-)

2. chápu a nemám nic proti, když autor weblogu vloží do příspěvku odkaz na svůj spot, pokud ale linkuje pouze svůj weblog, považuji to za pirátskou reklamu a příští takový příspěvek smažu ;-)

Avatar

Autor komentáře: Pepak

Datum vložení: 15.9.2003 14:44:12

Puvodne jsem to nechtel zminovat, ale kdyz uz na to je thread... Mentor ma totiz uplnou pravdu, nejaka kompletnost nebo nekompletnost slovniku s tim nema co delat. "Smarty" je podstatny jmeno odvozeny od "smart", v zadnym pripade to neni (a nemuze byt) pridavne jmeno. Takze "chytry, bystry, inteligentni" je skutecne spatnej preklad.

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 15.9.2003 14:57:11

Jenže v anglosaském světě se tento pojem skutečně používá způsobem, kterým ho "překládá" (či spíše přepisuje nebo tlumočí) autor článku. Potvrdit vám to může kupříkladu každý hráč počítačových akčních her nebo naprosto nepočítačových RPG ;-)

Avatar

Autor komentáře: Pepak

Datum vložení: 15.9.2003 17:05:20

Za prve by me docela zajimal nejakej priklad, kde se to pouziva. Ja jsem se s tim v zivote nesetkal, a to mam nacteno sakra hodne. Za druhe, i kdyby se to skutecne pouzivalo, tak to celkem nic neznamena - "nite" misto "night" ("by jste" misto "byste", pokud chcete cestinu) se taky bezne pouziva, ale spravne to neni...

Avatar

Autor komentáře: tom

Datum vložení: 15.9.2003 17:11:34

a co zpodstatnela pridavna jmena?

Avatar

Autor komentáře: joky

Datum vložení: 15.9.2003 10:32:53

Nejak mi unika potreba pouzit sablony pro oddeleni apl. logiky od prezentacni. A proc zavadet dalsi syntaxi...


Avatar

Autor komentáře: Luke

Datum vložení: 15.9.2003 11:03:16

Pokud pracujete na velkem (nebo i vetsim) projektu, tak casem zjistite, ze veskere zmeny v designu i funkcnosti webu jsou daleko jednodussi kdyz je oddelen vlastni program od designu (tj. aplikacni a prezentacni logika).

No a kdyz na projektu pracuji ruzni lide(napr. grafik, webdesigner a programator), tak se bez oddeleni vubec neobejdete. Jde o to, ze si potom kazdy "hraje na vlastnim pisecku" a nehrabe se v praci toho druheho.

Avatar

Autor komentáře: juha

Datum vložení: 15.9.2003 12:48:07

souhlasím s jokem, ve svých projektech se snazim take oddelit programovou cast, ale resim to pomoci funkci(nebo tříd)

systemem: HTML, getNastenka(), HTML getClanky()
rozrezu si HTML hlavisku a paticku a vysledek je pak

include top
telo stranky
include bottom

A ted se ptam na co sablony?

Avatar

Autor komentáře: Filda

Datum vložení: 15.9.2003 13:57:41

getNastenka() ti urcite vraci i HTML tagy a pokud chces zmenit vzhled tak musis menit kod v overeny a odladeny funkci, pro programatora voser a pro designera krok do hrobu.
Sablony jsou k tomu aby getNastenka() vracela pouze data a ty potom priradis data k sablone a je vymalovano. Nemichas dve veci dohromady.

Avatar

Autor komentáře: Jakub Podhorský

Datum vložení: 15.9.2003 14:52:41

souhlasim bez sablons e vetsi projekty neobejdou driv nebo pozdejc k tomu stejne vetsina programatoru dojde sam jsem se je naucil a nemuze si vic nez vynachvalit

a je taky pravda ze pro webdesignera je zmena designu pomoci PHP fce docela horor myslim si ze je lehci udelat COPY + PASTE do sablony pro tech par znacek co tam da programator nez se vrtat v 1000ci fcich

Avatar

Autor komentáře: joky

Datum vložení: 15.9.2003 15:54:50

To je prave to, nejak mi neni jasne, v cem je jednodussi pro webdesignera se naucit neco jako:

{include file="header.tpl"}
{if $highlight_name}
Welcome, <font color="{#fontColor#}">{$name}!</font>
{else}
Welcome, {$name}!
{/if}

Proste prijde mi to jako syntaxe navic, ktera se pak stejne prelozi do phpka :-))

Avatar

Autor komentáře: Jakub Podhorský

Datum vložení: 15.9.2003 16:02:02

no kdyz jste webdesigner ktery opravdu v zivote nevidel PHP nebo nejaky dalsi programovaci(scriptovaci) jazyk tak pro nej budou funkce spanelska vesnice a zrejme to bduete nakonec stejne muset upravit vy jako programator

ale kdyz mu date sablony tak vsechno udela za pomoci copy paste pokud dela nove design a nebo jenom doplnuje neco do HTML kodu a neco presouva proste neni to tak komplexni jako celej jazyk a navic mate napr. ve smarty spoustu uzitecnych funcki

Avatar

Autor komentáře: Vita

Datum vložení: 15.9.2003 16:43:43

Reknu to asi tak. Momentalne mam jeden soubor ktery obsahuje nekolik trid. Tridy jsou specifikovany zcela jednoduse. Napriklad trida form. Ta obsahuje cokoli co se tyce formulare - od kompletniho osetreni vcetne vsech testu (coz se provede na zaklade pole ktere tam vlozite jako vstup) az po funkce na vypis formulare do divu, tabulky nebo odstavcu vcetne labelu atd.

Jedine co clovek ktery s tim pracuje (webdesigner) musi zmenit je do ceho se to ma kreslit. Tabulka uz je tam fakt jen kvuli problemum, IE ma totiz tendenci obcas nepochopitelne zmrsit stranky kde je vic floatu vedle sebe.

Avatar

Autor komentáře: Filda

Datum vložení: 15.9.2003 16:53:22

takze ta trida ma v sobe nekolik funkci na vypsani sebe sama? neni to potom zbytecne velky? a co v pridade, ze to nekdo bude chtit vypsat uplne jinak, trida se bude rozsirovat?

moh bych se na tu tridu nekde podivat?

Avatar

Autor komentáře: joky

Datum vložení: 15.9.2003 16:51:35

<I>a nebo jenom doplnuje neco do HTML kodu a neco presouva proste neni to tak komplexni jako celej jazyk .....</I>

ja jsem to spis myslel tak, ze zakladni syntaxe phpka (napriklad vetveni kodu, cykly, promenne) mi nepripadaji o nic slozitejsi nez syntaxe smarty. Ve finale - stejne se ten webdesigner musi neco naucit - takze proc uz se nenaucit rovnou zaklady phpka.

Avatar

Autor komentáře: joky

Datum vložení: 15.9.2003 16:52:15

<I>a nebo jenom doplnuje neco do HTML kodu a neco presouva proste neni to tak komplexni jako celej jazyk .....</I>

ja jsem to spis myslel tak, ze zakladni syntaxe phpka (napriklad vetveni kodu, cykly, promenne) mi nepripadaji o nic slozitejsi nez syntaxe smarty. Ve finale - stejne se ten webdesigner musi neco naucit - takze proc uz se nenaucit rovnou zaklady phpka.

Avatar

Autor komentáře: Dan M.

Datum vložení: 15.9.2003 18:02:09

Když už budou pro designéra funkce španělská vesnice, tak asi těžko využije spoustu užitečných funkcí ve smarty, které by se musel nejdříve naučit, stejně jako funkce v php.

Zkuste si například v následujícím kódu provést tyto náhrady:
{if $highlight_name}
Welcome, <font color="{#fontColor#}">{$name}!</font>
{else}
Welcome, {$name}!
{/if}

a sice:
{ za <?=
} za ?>
{/if} za {endif;}

Rázem získáte identickou funkčnost s oddělenou prezentační vrstvou a syntaxí PHP. Pak už jen stačí v PHP kódu nastavit hodnoty vkládaných proměnných a tento soubor includovat, opět stejným způsobem, jakým to dělají šablony.
Jediným rozdílem je tedy jiná syntaxe, kterou se v případě šablon programátor musí naučit navíc a designér se tak jako tak nějakou syntaxi naučit musí.
Jedinnou výhodu šablon vidím v tom, že vás k oddělení vrstev donutí, ale pokud jste natolik rozumný programátor, který tyto věci dělá automaticky, pak bych význam šablon zredukoval pouze na funkci zpomalovače běhu skriptu :-)
DaM

Avatar

Autor komentáře: Vojtěch Semecký

Datum vložení: 15.9.2003 17:48:02

Design od php kodu je nutno u každého středního a většího projektu oddělit. To je bez debat. Otázka je, proč mají ty "chytré" šablony tak složitou syntaxi.

Logika aplikace by měla zůstat v PHP a šablony by měly obsahovat zase jen design. Nevím proč by v šablonách měla být nějaká logika jako IF-ELSE-END.

Já používám TemplatePower <a href='http://templatepower.codocad.com' target='_blank'>http://templatepower.codocad.com</a> a jsem maximálně spokojen. Jsou to výkonné víceúrovňové šablony s mnoha možnostmi, ale logika zůstává plně řízena z PHP.

Avatar

Autor komentáře: Jakub Podhorský

Datum vložení: 15.9.2003 22:34:51

ja jsem ani netvrdil ze podminky apod. patry do sablony to vsechno obsluhuju tak na strane PHP ovsem zase je nutne pouzit misty nejake cykly pro prohledavani pole jinak by jsme nemohli zase vypsat clanky nebo leda ze bych je ulozil v PHP do nejaky promeny a potom tu promenou vypsal ale tim by podle me byla opet sablona k nicemu

Avatar

Autor komentáře: Joky

Datum vložení: 15.9.2003 15:50:03

Asi jsem to po ranu nenapsal uplne presne - nejde o to, proc oddelovat app. od prez. logiky. To je samozrejme jasne, a bez diskuse, alespon u vetsich projektu.

Jde o to, proc pouzivat sablony typu Smarty, ucit se nejakou novou syntaxi typu {if} {/if} a pod. kdyz na tohle vsechno staci phpko.

Oddelit app. logiku lze dobrym navrhem trid, pripadne vlastnim frameworkem, a v sablonach tak zustane toho phpka minimum.

Takze proc kvuli tem par prikazum zavadet sablonovaci system - to mi neni jasne. Nevidim v tom zadnou zasadni vyhodu, a proto jsem polozil otazku Proc? :-))

Avatar

Autor komentáře: Jakub Podhorský

Datum vložení: 15.9.2003 16:04:02

a proc bych se ja jako webdesigner(ne ze bych nejakej byl) mel ucit kompletni syntaxi jazyka kterej nejspis nikdy nepouziju je lehci se podle me naucit 20 znacek nez 100 prikazu :)

Avatar

Autor komentáře: joky

Datum vložení: 15.9.2003 16:57:09

<I>... kompletni syntaxi jazyka kterej nejspis nikdy nepouziju ...</I>

Tak se to neucte, kdyz to nehcete pouzivat.

Avatar

Autor komentáře: Vita

Datum vložení: 15.9.2003 19:18:02

Joky ale webdesigner skutecne nema zapotrebi pouzit smarty. Webdesigner dela sablony popr. staticke stranky, ukol programatora neni nic vic nez to pak vyrobit stejne aby to odpovidalo jemu dane sablone.

Pokud si webdesigner posleze usmysli (napr. pri redesignu) ze to chce jinak, pak je samozrejme vyhoda pokud to programator nebastlil do kodu ale pouzil neco ve stylu smarty - tedy oddelil vlastni kod od toho co se vypise a jak se to vypise.

Z meho pohledu je to skutecne pro webdesignera samotneho ztrata casu.

Avatar

Autor komentáře: Vilém Málek

Datum vložení: 15.9.2003 19:23:52

To, co popisujete, není práce webdesignéra, ale designéra. Webdesignér provádí koordinaci programátorů, designérů, grafiků atd. To jen tak na okraj ;-)

Avatar

Autor komentáře: Libor

Datum vložení: 17.9.2003 0:19:13

Ja si s XHTML teprve hraju... zkousim a ucim se... ale rekl bych, ze to poskytuje uz dost velky prostor pro oddeleni.
PHP mi vytvari kod nacpanej do divu (menu, novinky, obsah, oblibene...) ty jsou pojmenovany na zaklade dohody s tvurcem CSSka.
Prave s kolegou takhle neco tvorime a zatim to vypada schudne.
Jak rikam, teprve se ucim, tak mne prosim pripadne opravte.

Avatar

Autor komentáře: Jan Brašna

Datum vložení: 17.9.2003 20:31:28

Jenze echo '<div class="........ neni taky v poradku, mel bys stejne cpat data do nejaky sablony ktera se postara o html(wap/xml/pdf/??... atd.)

Avatar

Autor komentáře: Pepak

Datum vložení: 15.9.2003 17:16:45

Tech duvodu je vic, treba ten, ze syntaxe Smartyho prece jenom je jednodussi nez syntaxe PHP.

Osobne ale vidim pri pouziti sablon hlavne tu vyhodu, ze sablony pak muze editovat i clovek, kterej:

- programovat vubec neumi. V PHP by napriklad musel pamatovat na to, ze ma na konci svyho HTML kodu zase otevrit PHP pomoci <?php, nebo by musel hlidat uvozovky, aby stringy zustaly uzavreny apod. (podle toho, jak konkretne ma tu editaci zpristupnenou). Musel by umet v (buhvijak rozsahlym) PHP kodu najit misto, ktery editovat muze, a musel by si dat velkej pozor, aby nahodou nejakym nestastnym zasahem nezlikvidoval celou knihovnu.

- muze mit zajem delat ruzny potouchlosti. Kdyz nekomu zpristupnim primo PHP, tak mu tezko dokazu zabranit, aby si treba otevrel knihovnu pro pripojeni k databaze a z ni si precetl hesla, nebo aby neco smazal. Ze sablon muze uzivatel provadet jenom to, co mu sam dovolim, takze i kdyby se snazil co nejvic uskodit, tak dosahne nanejvejs toho, ze se nezobrazi jeho stranka - ale nenaboura celej web.

Krome toho je tu samozrejme i spoluprace vic lidi. Pokud mam vsechno v nejaky knihovne, tak do ty knihovny muze v jednu chvili sahat jen jeden clovek a je potreba vice ci mene slozite resit synchronizaci. V sablonovym prostredi programator upravuje svou knihovnu, designer upravuje sablonu a obema je srdecne jedno, co na svym souboru provadi ten druhej (samozrejme za predpokladu, ze oba dodrzujou nejakej predem dohodnutej format, v jakym si predavaj parametry).

A v neposledni rade bych rekl, ze sablonovej design se mnohem lip preklada, protoze celej HTML vystup se nachazi na jednom miste (neni rozhazenej pres deset ruznych knihoven). IMHO je mnohem jednodussi prelozit souvislej text, nez nejak slozite a pomalu resit online preklad jednotlivych slov ci frazi. A taky to dava mnohem lepsi vysledky.

Avatar

Autor komentáře: spaze

Datum vložení: 19.9.2003 1:40:46

Proc? tak ja bych si treba nedovolil do kodu dat:
include '<a href='http://uplne.cizi.server/philez/nevinny.file';' target='_blank'>http://uplne.cizi.server/philez/nevinny.file';</a>
smarty pokud se nepletu maji urcitou uroven security, takze by nemel byt problem akceptovat cizi soubory aniz bych do nich musel pokazdy koukat a studovat jejich bezpecnost. Na "skinovani" webu vyborna vec.

Duvod, proc by se designer/htmlkoder/nebojaktonazvu nemel ucit php/programovat: bude si totiz pak myslet, ze kdyz dokazal echo 'hell world'; tak je nejlepsi na svete a razem se zacne cpat do veci kam nema.. a razem aplikace prestanou delat to co maji ;)

a duvod proc je if/else i v sablonach? protoze to je prezentacni logika.. kdyz budu chtit menit pozadi na zaklade aktualni denni doby, tak v aplikacni vrstve si vytahnu akorat cas, v prezentacni podle nej ukazu noc/den. s aplikacni logikou to nema nic spolecnyho. navic - nikdo to nemusi pouzivat :))

co se tyce benchmarku.. ja videl nejaky jiny a ten byl priblizne opacny ;) ale to je jedno, to jen tak FYI ;)

a asi posledni vec na zvazeni: vlastni system je fajn vec, clovek ma kontrolu apod, ale vyvoj je pomerne drahej.. smarty (potazmo cokoliv jiz hotovyho) maji vyvoj, urcitou userbase. a pak jeste aby se clovek bal, kdyz to zverejni, ze prijde nejakej pan svec a cely mu to slohne :P

jinak tahle debata asi nikdy neprestane. jako vsechno maji i template engines svoje vyhody a nevyhody, takze si myslim, ze se vsichni shodneme, ze je dulezity mit cistej, prehlednej, lehce upravitelnej kod a zpusobu jak toho kdo dosahne.. uff, gn ;)

Avatar

Autor komentáře: Jiří Kocman

Datum vložení: 19.9.2003 1:09:53

Je mnoho duvodu... napriklad tento skript zobrazi vypis tabulky s moznosti trideni dle sloupcu, paging apod...


<?php
$sql = $db->db_query('SELECT * FROM galerie ' . $db->orderby(&$ORDERBY, 'nazev', 0));

$db->paging(&$args, INTEGER, $db->db_num_rows($sql));
$radku = $db->db_Fetch_All_Into($loop, $sql, $db->PAGING[0][2], $db->PAGING[0][1]);

$s->assign_by_ref('ORD', order_query('nazev', $db->ORD, $_SERVER['REQUEST_URI'], $ORDERBY));
$s->assign_by_ref('pagingurl', extract_from_query($args[VARNAME], $_SERVER['REQUEST_URI'], 1));
$s->assign_by_ref('paging', $db->PAGING);
$s->assign_by_ref('radku', $radku);
$s->assign_by_ref('loop', $loop);
$s->assign_by_ref('loopimg', $loopimg);
$s->assign('HEAD', 'Galerie');
$sablona = $s->fetch('galerie.tpl');
?>

samozrejme skript je kompletni !!! je vsak includovan do inicializacniho skriptu, ktery natahne smarty, db tridu apod...

Ziskam data z databaze a o zbytek se stara smarty. Pokud pak potrebuji ziskat napriklad jiny format datm, nebo je treba pred tim trosku upravit, hrabu se v par radcich PHP kodu, kdezto kdyz si predstavim co by tam bylo kdyby to mel michat s HTML...


jinak pro inicializaci smarty pouzivam jednoduchy extend... nekdy mi to prijde prakticke:

class Smarty_projekt extends Smarty
{
function Smarty_projekt()
{
$this->template_dir = './templates/';
$this->compile_dir = './templates_c';

$this->caching = 0;
$this->use_sub_dirs = FALSE;
$this->compile_check = TRUE;
}
}
$s = new Smarty_projekt();

Avatar

Autor komentáře: spud

Datum vložení: 15.9.2003 12:33:25

jak se da v PHP nastavit pouzivani jinych oddelovacu php-kodu nez <? ... ?> ?

koukam, ze smarty pouziva { ... }

Avatar

Autor komentáře: Stepan Kouba

Datum vložení: 15.9.2003 13:04:28

Pozor. Toto jsou dve odlisne veci.
Smarty je trida napsana v PHP, ktera nacte sablonu a "prepise" ji do PHP a HTML kodu. Oddelovace v sablonach slouzi pouze pro Smarty k rozpoznani mist, kam maji byt vlozeny promene, podminky,... Oddelovace PHP jsou nutne pro PHP parser, aby nasel mista, ktera ma interpretovat.
Vsimnete si prvniho prikladu v clanku a uvidite, ze prekompilovana sablona je PHP skript, ktery pouziva standardni oddelovace.

V pristim dile bude take par slov o nastaveni oddelovacu v Smarty.

V PHP muzete jako oddelovace nastavit: <?php, <? (pokud nastavite v souboru php.ini vlastnost short_open_tag na On), <script> a popripade <% (pokud nastavite hodnotu asp_tags na On - opet v php.ini).

Avatar

Autor komentáře: David Hauzar

Datum vložení: 15.9.2003 18:55:53

Ze jsou sablony slozite a pomale? Pokud nepotrebujete vsechny funkce smarty a hledate rychly a jednoduchy sablonovy system, vyzkousejte treba <a href="<a href='http://sourceforge.net/projects/xtpl/">XTemplate</a>' target='_blank'>http://sourceforge.net/projects/xtpl/">XTemplate</a></a>.

(
nastudovani syntaxe < 10 minut ,
uspora casu pri psani kodu, ladeni, zmene designu > 10 minut :-)
)

Avatar

Autor komentáře: David Hauzar

Datum vložení: 15.9.2003 18:57:20

Vyznam sablon pro projekty na kterych dela vice nez jeden clovek nezpochybnitelny - html coder nemusi v php kodu pracne vyhledavat html tagy a programator nemusi opravovat chyby v php kodu, ktere pri tam pri umistovani tagu nadelal coder :-).

Sablony jsou ale uzitecne pri projektech, na kterych dela jen jeden clovek a jejichz vzhled se uz nebude menit (popripade je velmi jednoduchy).

Pri praci s sablonami napriklad neni problem zpracovavat jednotlive casti "napreskacku" (pri praci s sablonami se prohlizeci odeslou bloky sablony v tom poradi, v jakem jsou v sablone, ale v php kodu se tyto bloky muzou zpracovavat v libovolnem poradi) - to je uzitecne napriklad pokud se nejaka svrchnejsi cast stranky dynamicky meni podle nejake spodnejsi.

A to nemluvim o tom jak krasny je php kod bez prikazu echo resp. print a bez tisicu zavorek v nich.

Avatar

Autor komentáře: mysh

Datum vložení: 15.9.2003 20:20:48

sablony, includes ... vsecko je na prd

idealni je udelat web v (x)html/css a mate totalne oddelenej kod od designu

nehlede na to ze pri zmene designu neni treba prekopavat jiz napsanou aplikaci nebo kontrolovat chyby ktery v sablone nadelal grafik spatnym copy&paste (nebo treba umaze neco co nema a prob je na svete)

Avatar

Autor komentáře: Vita

Datum vložení: 15.9.2003 20:25:41

Koukam ze jste citelne nepochopil o co se tu jedna. Je JASNE ze vysledek bude xhtml, tady se resi otazka jak ho generovat tak abyste oddelil programovaci jazyk na strane serveru od toho co generuje to samotne xhtml - tedy napriklad urcit jestli se menu bude vykreslovat do seznamu, odstavcu, divu, spanu atd.

Avatar

Autor komentáře: Richard

Datum vložení: 16.9.2003 7:47:01

Líbí se mi, že čím míň tomu někdo rozumí, tím radikálnější má názory.
Jen bych připodotkl že grafik by neměl mít k HTML kódu vůbec přístup, pokud není zároveň webdesigner. A pokud je webdesigner tak tam neudělá chyby.

Avatar

Autor komentáře: Vita

Datum vložení: 16.9.2003 10:30:26

Asi tak :)

Avatar

Autor komentáře: bee

Datum vložení: 16.9.2003 8:27:47

1) co je smart a co smarty?
2) vlastní framework getHTML() vs. šablony?
3) nejlepší je to psát v XHTML?

he, -> zabava.interval.cz?
jdu makat ... SMARTY is NOT DEAD! :)

Avatar

Autor komentáře: Stepan Kouba

Datum vložení: 16.9.2003 9:24:20

Otazka nezni, jestli pouzivat sablony (tady se nejspis vetsina shodne na tom, ze ano), ale jakou formu sablon. Zda se ucit novou syntaxi (Smarty), nebo vkladat casti PHP kodu do HTML, ktere pouze vkladaji (popr. upravuji) vysledky aplikace.
Pro zastance druhe varianty bych rad doporucil zajimavy clanek <a href='http://www.massassi.com/php/articles/template_engines/' target='_blank'>http://www.massassi.com/php/articles/template_engines/</a>. Nabizi i zpusob reseni, jak vytvorit jednoduchou tridu Template.
Domnivam se, ze vyhoda Smarty je ve velkem poctu vestavenych funkci, ktere lze jednoduse vkladat do sablon. Lehce pak vytvorite tag SELECT podle obsahu databaze. Bez problemu tak muze webdesigner pouzivat i tyto slozitejsi funkce, ktere by musel but umet naprogramovat, nebo si je nechat vytvorit od programatora.
Pokud se webdesigner nikdy s serverovym programovacim jaz. nesetkal, pak je podle me jedno jestli se nauci PHP nebo syntaxi Smarty, kdyz mu obe varianty prinesou kyzeny vylsedek. Mozna je druha varianta lepsi i proto, ze se nebude hrabat programatorovi ve vytvorenych tridach a funkcich a nebude se snazit neco zmenit. :-) Takhle bude limitovan jen znalosti syntaxe Smarty.

Avatar

Autor komentáře: joky

Datum vložení: 16.9.2003 12:50:10

viz. odkaz - to je prave to, proc za kazdou cenu vyhazet vsechno PHP z html sablon, jenom aby tam nahodou nebyl nekde nejaky <?, a pak tam dat jinou syntaxi ( pro zmenu {}), ktera se pak stejne prelozi do PHP.

Avatar

Autor komentáře: Jan

Datum vložení: 27.9.2003 0:09:21

Zajimalo by me, z ceho vychazite pri tvrzeni, ze na webove prezentaci Ceske Sporitelny byl pouzit Smarty.

Avatar

Autor komentáře: Jirka

Datum vložení: 4.10.2003 0:58:42

Mohl by mi prosim nekdo rict, kdybych vyrabel nejaky komercni software (webaplikace zalozene na PHP, ASP apd) muzu k tomu vyuzivat SMARTY templates, ktery je sireny pod GPL? jde mi o to aby pak z toho nebyly nejake pripadne neprijemnosti...

Avatar

Autor komentáře: lojza

Datum vložení: 18.1.2004 17:25:16

Ja to na tebe nereknu.

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 23.6.2004 22:32:17

Q: Can I create a proprietary software, and sell it with Smarty?
A: Yes, you can. Smarty is licensed under the [LGPL] and distributing an unmodified smarty source as part of a commercial product is just fine.

A: As far as I know the GPL licence doesn't allow any work using a GPL software in any way different by mere aggregation to be released with a licence different from GPL. For this reason LGPL licence was created. LGPL allows programs using or linking to a library to be released with a different licence.

Avatar

Autor komentáře: Tantrick

Datum vložení: 28.1.2004 18:10:34

Designér by neměl vůbec šahat do souborů aplikace. Měl by upravovat statické stránky a ty předat progamátorovi, ať upraví aplikaci. Programátor mu přece taky nesahá do css souborů.

Avatar

Autor komentáře: Asthmatic

Datum vložení: 6.6.2004 23:40:37

Tohle vsechno je duvod proc chci prosadit v moji firme ASPX(.NET). Jednak i kvuli tomu, ze si celou aplikacni logiku muzu napsat do jedne vzdalene komponenty a tu pak volat z web serveru(ASPX) nebo z bahatych clientu(Win32 aplikace na .NET frameworku).

Cena za M$ SW neni pro mne dulezita, programatori jsou drazsi...

Zatim jsem kovany jen v ASP, PHP a snad vsem "neweb" od MS(vyjma jejich "Javy") a potrebuju pichnout s navrhem systemu kde bych aplikace nerad delil na ty pro web a zvlast pro Win32(normalni EXE apod.).

Help! Mate nekdo s timto zkusenosti(viz schema nize)? Jsou nejake zadrhele?

MS SQL Server ------- --- Web clienti(skrze srvr s ASPX)
Oracle ----------------- aplikacni server
Dalsi extrerni shit --- --- Win32 clienti(zatim jenom)


Diky,
Asthmatic

Avatar

Autor komentáře: Siky

Datum vložení: 8.6.2004 12:03:14

SQL -> PHP -> XML -> XSLT(sablotron) -> XHTML -> CSS.
Pracuju takhle... a tak nějak si ani nestěžuju....

Avatar

Autor komentáře: svatoboj

Datum vložení: 9.11.2004 9:32:46

muze mi nekdo poradit jak vygenerovat ve smarty javascriptovou funkci?

mam tu neco ve smyslu:

<script type="text/javascript">
{literal}function sidebar_menu_default{ {/literal}

{section name=i loop=$leve_menu}
{if $leve_menu[i].rozbalovat == 0}
{literal}document.get.ElementById({/literal}$leve_menu[i].uid{literal}).style.display="none";{/literal}
{/if}
{/section}

{literal}}{/literal}
</script>

a veci se maji tak ze promenna $leve_menu[i].uid neni jednoduse v tomto cyklu expandovana.

jak na to?

svata

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