Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Template sistem

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
ToDD



Joined: 05 May 2005
Posts: 83
Location: Zagreb

PostPosted: 07.11.2005 22:36    Post subject: Template sistem Add user to your forum ignore list Reply with quote

ovako ljudi, neznam vam objasnit svoj polozaj- nisam pocetnik a nisam ono oke u phpu

uglavnom htio bi napraviti template sistem. nasao sam par tutoriala al su bili komplicirani ili nisu radili kako treba

znaci imam jedan html file sa dizajnom i u njemu {sadrzaj} {navigacija}

e sad {sadrzaj} zamijenit s includeom sadrzaj.php a {navigacija} s includeaom navigacija.php

moze li mi neko to objasniti malo. hvala
Back to top
View user's profile Send private message MSN Messenger
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 07.11.2005 22:50    Post subject: Re: Template sistem Add user to your forum ignore list Reply with quote

ToDD wrote:
uglavnom htio bi napraviti template sistem.


nemas potrebe za izradom template sistema. Postoje vec izrazito kvalitetna i provjerena rjesenja za to. Osobno bi ti preporucio www.tinybutstrong.com template sistem. Brz, relativno malen i pouzdan.

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
ToDD



Joined: 05 May 2005
Posts: 83
Location: Zagreb

PostPosted: 07.11.2005 22:54    Post subject: Add user to your forum ignore list Reply with quote

hm, znam da ima, ali ja bi zelio to nauciti.
inace ne bi stavio ovdje topic Very Happy
Back to top
View user's profile Send private message MSN Messenger
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 07.11.2005 22:56    Post subject: Add user to your forum ignore list Reply with quote

hm...imas tutoriale, imas source od minimalno 20 kvalitetnih opensource template sistema...sto tocno ocekujes da ce ti netko tu reci a da neces moci nauciti iz tih izvora?

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 07.11.2005 23:17    Post subject: Add user to your forum ignore list Reply with quote

ToDD, ovo što si tražio se može ovako izraziti:
Code:
$page = file_get_contents('todd.html');
$page = preg_replace('/{(\w+)}/e', 'file_get_contents(\'$1.php\');', $page);
echo $page;

Simple as that.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ToDD



Joined: 05 May 2005
Posts: 83
Location: Zagreb

PostPosted: 07.11.2005 23:39    Post subject: Add user to your forum ignore list Reply with quote

fala. probat cu top pa cu jos malo zakomplicirat i to mi je sve sto mi je trebalo.

jos jednom fala
Back to top
View user's profile Send private message MSN Messenger
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 08.11.2005 01:04    Post subject: Add user to your forum ignore list Reply with quote

Kad smo već kod template sistema, koji osobno koristite?
Back to top
View user's profile Send private message Visit poster's website
bj__



Joined: 09 Nov 2004
Posts: 65
Location: Karlovac

PostPosted: 08.11.2005 01:28    Post subject: Add user to your forum ignore list Reply with quote

koristim PHPlib, uz neke male modifikacije... jako zadovoljan Smile
Back to top
View user's profile Send private message Twitter profile
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 08.11.2005 13:38    Post subject: Add user to your forum ignore list Reply with quote

Genijalan članak o templating sustavima općenito i jednostavna implementacija u PHP-u
http://www.massassi.com/php/articles/template_engines/

Osobno koristim malo pojačanu Brianovu implementaciju
Back to top
View user's profile Send private message Send e-mail Visit poster's website
/dev/null



Joined: 22 Dec 2004
Posts: 144

PostPosted: 08.11.2005 14:10    Post subject: Add user to your forum ignore list Reply with quote

definitivno: http://smarty.php.net
Back to top
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 08.11.2005 14:13    Post subject: Add user to your forum ignore list Reply with quote

ja sam nakon 3mjeseca isprobavanja, i pocetka programiranja svog enginea se odlucio za tinybutstrong...i moram priznati da je stvarno izvrstan

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 08.11.2005 21:35    Post subject: Add user to your forum ignore list Reply with quote

Brian Lozier u članku kojeg sam linkao obraća puno pažnje Smarty-u ... i objašnjava zašto ga je u nekim postavama glupo koristiti.

Netko tko odlično poznaje PHP ne bi trebao učiti zaseban 'templating jezik' (kao što Smarty zahtijeva) samo da bi odvojio prezentacijsku logiku od aplikacijske. Dodajmo još tome golemi overhead koji donosi Smarty i imamo templating engine koji je sam po sebi veći i kompliciraniji od aplikacije koju smo templatingom htjeli pojednostaviti.

Smarty bi preporučio u situacijama kad je site kojeg treba složiti jedan solidan komad weba (čitaj: malo veći site) i kad programeri nemaju nikakve veze sa client-side dijelom svega toga kojeg uostalom uređuju dizajneri bez poznavanja PHP-a. FERweb nikada ne bi radio bez Smartya.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 08.11.2005 21:52    Post subject: Add user to your forum ignore list Reply with quote

Jako dobar članak, točno tako nešto sam tražio... moje razmišljanje je isto bilo, zar je stvarno potrebno inkludati tolike klase i "učiti" novi jezik za tako nešto...

btw, već si par puta spomenuo ferweb, imaš li ti kakve veze s njim?
Back to top
View user's profile Send private message Visit poster's website
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 09.11.2005 00:20    Post subject: Add user to your forum ignore list Reply with quote

Osim što je to moj fax, službeno sam član ferweb team-a ali sam trenutno svojevoljno u pričuvi (čitaj: nikako ne nalazim vremena)

Znam njegove internalse iz brojnih razgovora sa kolegama koji su ga napravili, zato govorim kao primjer. Makar oni koji rade client-side poznaju PHP Smarty im ipak pomaže da se site toliko scale-a. Ali rijetko je koji site baš toliki Confused
Back to top
View user's profile Send private message Send e-mail Visit poster's website
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 09.11.2005 07:26    Post subject: Add user to your forum ignore list Reply with quote

Heh, odlično, onda mi možeš reči i koga mogu udaviti oko tog site-a, neke stvari su mi fakat bedaste.... btw, pozdrav, kolega!
Back to top
View user's profile Send private message Visit poster's website
budha



Joined: 02 Mar 2004
Posts: 1377
Location: Osijek

PostPosted: 09.11.2005 10:43    Post subject: Add user to your forum ignore list Reply with quote

ljudi, jer bas sve moramo ponovo Rolling Eyes
jel toliko tesko napraviti par klikova, ili koristiti search?

_________________
I hate to advocate drugs, alcohol, violence, or insanity to anyone, but they've always worked for me.
Back to top
View user's profile Send private message Visit poster's website
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 09.11.2005 10:53    Post subject: Add user to your forum ignore list Reply with quote

Naravno da ne moramo, sjećam se tog thread-a, uostalom i postao sam tamo, no trendovi se mijenjaju, mijenjaju se navike, prošlo je već godinu dana...

Npr., ja sam svoje mišljenje promijenio...
Back to top
View user's profile Send private message Visit poster's website
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 14.02.2006 10:19    Post subject: Add user to your forum ignore list Reply with quote

Sulien wrote:
Genijalan članak o templating sustavima općenito i jednostavna implementacija u PHP-u
http://www.massassi.com/php/articles/template_engines/

Osobno koristim malo pojačanu Brianovu implementaciju


Možeš li napisati u kratko što si mijenjao?

Napokon sam ulovio malo vremena poigrati se s dotičnim, i ovaj clean & simple pristup mi se jako sviđa. Međutim ima jedna stvar koja me muči.

Vrlo ja pametna ova klasa i kuži kada čitavu varijablu zamjenjujem novim objektom, da treba i taj objekt "sparsati". Međutim, što ako imam template u koji nema nikakvih varijabli (dio stranice koji je fiksan)? Kako klasa koristi funkciju extract, to ju malo zbrejka.

Da li bih trebao pročitati "ručno" sadržaj tog file-a pa ga dodijeliti nekoj varijabli u glavnom templateu ili ? Jerbo mi se ovo baš i ne čini najbolje riješenje...
Back to top
View user's profile Send private message Visit poster's website
gog



Joined: 17 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 17.02.2006 17:03    Post subject: Add user to your forum ignore list Reply with quote

Našao sam, ili bolje reči kontaktirao sam autora koji mi je ponudio riješenje...

Code:
var $vars;
na početku klase treba zamijeniti sa

Code:
var $vars = array();
Back to top
View user's profile Send private message Visit poster's website
_butch



Joined: 10 Sep 2003
Posts: 870
Location: Maichno, Krlovc

PostPosted: 18.02.2006 10:38    Post subject: Add user to your forum ignore list Reply with quote

Koristio sam ja u pocetku Smarty, koji je ok jerbo ima ogromni doc i tako neke stvarcice koje te ucine glupim i ne mos razmisljat.
Kasnije sam presao na phpLib, al nisam imo vremena pisati neke male modove za njega pa sam se ustalio na patTemplateu.
Po meni jedan veoma solidan templating sistem, xml like syntax u templateu, jako pregledan. i ful logicke funkcije za razliku od smarty-a..

Kod smarty-a me smeta to sto pokusava biti i templating system i poseban jezik, neka cudna podvrsta php-a. Nama ne trebaju podvrste, ocemo ciste templating engine.

Ako hoces koristiti templating engine -
phpLib ili patTemplate

_________________
FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms!
Flikrac
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
zytzagoo
mi3.crew


Joined: 25 Aug 2003
Posts: 1842
Location: Zagreb, Hrvatska

PostPosted: 30.08.2008 13:23    Post subject: Add user to your forum ignore list Reply with quote

Izvlačim iz naftalina, ali s razlogom Smile

Nekidan mi je sh00le na kavi spomenuo Blitz Templates - http://alexeyrybak.com/blitz/blitz_en.html

- pisano u C-u, built kao PHP ekstenzija
- sintaksa jednostavna do bola, konfigurabilna, gotovo identicna phplib-u samo je cijela stvar
jedno 10x brža.

Probajte ako imate priliku, nećete požaliti, trust me. Brutalno brzo.

_________________
[+]I[+]am[+]my[+]own[+]religion[+]
Back to top
View user's profile Send private message Visit poster's website Twitter profile
liban0n



Joined: 10 Feb 2004
Posts: 128
Location: Dubrovnik, Zagreb

PostPosted: 30.08.2008 14:31    Post subject: Add user to your forum ignore list Reply with quote

zytzagoo wrote:
Izvlačim iz naftalina, ali s razlogom Smile

Nekidan mi je sh00le na kavi spomenuo Blitz Templates - http://alexeyrybak.com/blitz/blitz_en.html

- pisano u C-u, built kao PHP ekstenzija
- sintaksa jednostavna do bola, konfigurabilna, gotovo identicna phplib-u samo je cijela stvar
jedno 10x brža.

Probajte ako imate priliku, nećete požaliti, trust me. Brutalno brzo.


Ovo zvuci zanimljivo al osobno sam zagrizao za smarty, za sad mi se pokazao u svemu odlican.

_________________
mount -t swap /dev/brain /mnt/head
look'n for a job
Back to top
View user's profile Send private message Visit poster's website
zytzagoo
mi3.crew


Joined: 25 Aug 2003
Posts: 1842
Location: Zagreb, Hrvatska

PostPosted: 30.08.2008 14:36    Post subject: Add user to your forum ignore list Reply with quote

liban0n wrote:
Ovo zvuci zanimljivo al osobno sam zagrizao za smarty, za sad mi se pokazao u svemu odlican.

Meni ne paše. BTW, http://codelemur.wordpress.com/2007/08/10/php-templating-celebrity-deathmatch/

_________________
[+]I[+]am[+]my[+]own[+]religion[+]
Back to top
View user's profile Send private message Visit poster's website Twitter profile
Tristan



Joined: 01 Aug 2006
Posts: 614
Location: Under the sky

PostPosted: 30.08.2008 15:30    Post subject: Add user to your forum ignore list Reply with quote

Ovaj Blitz se čini super. Smarty je problematičan kad trebaš naučit dizajnera koji nema osnove programiranja da ubaci foreach petlji ili sekciju da bi mu sustav prikazao vijesti. Kad to nauči, ubrzo ga možeš naučit da trpa te sve vijesti iz arraya sa native phpom.

_________________
Carpe diem...
Back to top
View user's profile Send private message Visit poster's website
nevio



Joined: 25 Dec 2007
Posts: 173
Location: New Jersey / Rijeka

PostPosted: 20.09.2008 23:32    Post subject: Add user to your forum ignore list Reply with quote

zytzagoo wrote:
Izvlačim iz naftalina, ali s razlogom Smile

Nekidan mi je sh00le na kavi spomenuo Blitz Templates - http://alexeyrybak.com/blitz/blitz_en.html

- pisano u C-u, built kao PHP ekstenzija
- sintaksa jednostavna do bola, konfigurabilna, gotovo identicna phplib-u samo je cijela stvar
jedno 10x brža.

Probajte ako imate priliku, nećete požaliti, trust me. Brutalno brzo.


NEvezano za tengine, ma bilo bi prehebeno 90% sajta bacit kao php ekstenziju. To bi bilo brzo lol XD

koristim ako bas moram smarty inace imam svoje template engine di pristupam elementima preko objakata

Evo ako zelite nesto presimple brzo za napravit bas mi se pisu klase pa da roknem neku netestiranu sad tu iz glave vamo:

p.s. Ako zelite klasu napravit da je extensible u oba smijera onda maknut final prije class deklaracije

Code:

final class templateEngine
{
    /**
     * Di ce bit poslozeni elementi nekog page-a. Ostavi null;
     *
     * @var probably array
     */
     protected static $elements = array();

     /**
      * Instanca objekta... pusti vraziju varijablu da je null
      *
      * @var unknown_type
      */
     protected static $instance  = null;
     
     /**
      * Di se nalazi path do svih fajlova?
      * Moze biti ovaj koji bi recimo bio default da ne morate
      * opet metodu pozivat i da trosite bespotrebno resource...
      * no ak bas ocete imate metodu setBasePath() pa se igrajte.
      */
     private static $_basepath  = "nekakav/path/do/jezika/";
     
     /**
      * Ekstenzija fajla... Recimo da ovo nije potrebno no svejedno neka
      * i ovo napisemo
      */
     const LANG_FILE_EXTENSION = ".php";
     
     
     /**
      * Ajmo roknut objekat tako da je siglenton a ne da svaki puta
      * novi drek otvaras... no nije ni potrebna ova funkcija al svejedno lol...
      *
      * @return self
      */
     public static function getInstance()
     {
            if ( ! self::$instance )
                self::$instance = new self;
           
            return self::$instance;
     }
     
     /**
      * Postavi novu putanju do roota templejtova...
      *
      * @param string $path
      */
     public static function setBasePath($path)
     {
        if (! is_dir ( $path ) )
           throw new Exception( "De provjeri putanje malo :)" );
        
   if (! self::$_basepath )
           self::$_basepath = $path;
       
        return self::$_basepath;
     }

     public function loadTemplate($name)
     {
        // ajmo ocistit staticnu varijablu.
        if ( self::$elements )
           self::$elements = array();
       
        $path = self::$_basepath . $name . self::LANG_FILE_EXTENSION;
       
        if (! file_exists( $path ) )
           throw new Exception("Trenutacni jezicni templejt ne morem pronac... Joj meni kuku lele!");
           
        // nasal ga je co! Gremo ga nekako sad srokat...
        require_once $path;
       
        // imas primjerice unutar fajla varijablu
        // $lang['nekakavnaziv'] = "Lore ipsum dolor sit amet";
       
        self::$elements = $lang;
       
        // neznam zasto no eto ga... bezveze sam tu reci
        return self::$elements;
     }
     
     /**
      * Ahjmo ga magicno nekako dobit back...
      *
      * @param  string $name
      * @return string
      */
     protected function __get($name)
     {
        return self::$elements[$name];
     }
     
}


Recimo da bi ovo sljakalo koliko ja znam i vidim no nisam testirao nista...

Sad kako importat sve to skupa....



Recimo index.php templejt fajl zelite pozvat te iz njega vas title zanima

Code:

// to stavis primjerice u bootstrap fajl ( za one koji znaju di i sta... inace digod i zanemari ovaj koment )
// ovo je samo poziv da se klasa instancira.
$template = templateEngine::getInstance();

// gremo loadirat fajl koji nam treba
$template->loadTemplate("index");

// ajmo sad izbacit title
echo $template->title;

// ovo bi po meni bilo nesto simple nad totalno simple a da ipak nije ono neki drek require_once samo pa loadiraj iz
// array-a. Ovo bi se jos dalo napravit da extendas objekat sa ArrayObject pa se malo zabavis jos i bolje, pa

// da malo ga napravis da pamti neke stvari malo bolje i pretvoris primjerice index u doslovno objekat te ga
// kao takvog jednom instanciras i vise ne... ili ti ga observer pattern.


ev pa nek me netko ubije... no bas sam dobio voljnu napisat ovo koliko god da noobovski bilo.

_________________
http://hr.linkedin.com/in/neviovesic
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group