ďťż

[LAYOUT] Sposób na wygląd strony. System Template'ów.

       

Podstrony


telcocafe

Cześć.
Widziałem na jakiejś stronie doskonały sposób na stworzenie Layoutu.
Wszystko bazowało na tym że wygląd był wczytywany z pliku np:
<html> <head><title>$title</title></head> <body> $jednatresc $drugatresc </body> </html>
Cały wic polegał na tym że kod był wczytywany za pomocą jakiejś funkcji,
a zmienne w tekście pliku były zamieniane na tekst.
Moje pytanie brzmi.
Jak to zrobić ?
Jak umieszczać w tekście te zmienne ? ( bo ja je tak podałem tylko przykładowo one chyba ineczej wyglądały )
I jak wczytać z pliku te layout ?
Pozdrawiam.



Poczytaj o smarty.


Poczytaj o smarty.

Ok, dzięki Mathew ale i tak bym chciał żeby mi ktoś dokładnie na mojego posta odpowiedział.

http://www.leon.w-wa...s/templates.php
Zmienne zapisuje się tak:
{TITLE} {JEDNA_TREŚĆ} {DRUGA_TREŚĆ}




http://www.leon.w-wa...s/templates.php
Zmienne zapisuje się tak:
{TITLE} {JEDNA_TREŚĆ} {DRUGA_TREŚĆ}


Dziękuje ci bardzo o to mi chodziło.
Nie zamykajcie jeszcze wątku, bo jak czegoś nie będę wiedzial to nie chce zaśmiecać forum nowymi tematami.

Edit >
Hej mam mały problem nie wiem co ta:
return preg_replace('/{([^}]+)}/e', '$this->dane["\\1"]', $this->tmpl);
linia oznacza.
Po prostu nie rozumiem tego ; (
a zwłaszcza nie rozumiem '/{([^}]+)}/e'.
Help ?
Użytkownik laughFik edytował ten post 11 sierpień 2006, 19:10
To są wyrażenia regularne

http://www.programuj...w/regularne.php

Zobacz ten: http://qbsdesign.be/justit.html Prostszy od Smarty ale spełnia swoje zadanie.


Cześć.
Widziałem na jakiejś stronie doskonały sposób na stworzenie Layoutu.
Wszystko bazowało na tym że wygląd był wczytywany z pliku np:
<html> <head><title>$title</title></head> <body> $jednatresc $drugatresc </body> </html>
Cały wic polegał na tym że kod był wczytywany za pomocą jakiejś funkcji,
a zmienne w tekście pliku były zamieniane na tekst.
Moje pytanie brzmi.
Jak to zrobić ?
Jak umieszczać w tekście te zmienne ? ( bo ja je tak podałem tylko przykładowo one chyba ineczej wyglądały )
I jak wczytać z pliku te layout ?
Pozdrawiam.

Jeśli nie chcesz się bawić gotowymi systemami szablonów możesz to zrobić w prosty sposób:
<?php (...) //wartosci poniższym zmiennym nadajesz wedle uznania $title = "tytul strony"; $jednatresc = "..."; $drugatresc = "..."; //po przypisaniu wartości zmiennym wczytujesz plik z szablonem include("szablon.tpl"); ?>
Proste i przyjemne :)


Dziękuje ci bardzo o to mi chodziło.
Nie zamykajcie jeszcze wątku, bo jak czegoś nie będę wiedzial to nie chce zaśmiecać forum nowymi tematami.

Edit >
Hej mam mały problem nie wiem co ta:
return preg_replace('/{([^}]+)}/e', '$this->dane["\\1"]', $this->tmpl);
linia oznacza.
Po prostu nie rozumiem tego ; (
a zwłaszcza nie rozumiem '/{([^}]+)}/e'.
Help ?


Ten preg_replace zamienia wszystkie {costam} na wartość $this->dane["costam"].

Jeśli chcesz prosty wstęp do Smarty:
Instalacja Smarty
Ksiega gości w oparciu o Smarty

A jeśli cos własnego chcesz napisać, mniej skomplikowanego to zobacz tu:
System szablonów
Użytkownik Kodie edytował ten post 14 sierpień 2006, 08:48

Ten preg_replace zamienia wszystkie {costam} na wartość $this->dane["costam"].

Jeśli chcesz prosty wstęp do Smarty:
Instalacja Smarty
Ksiega gości w oparciu o Smarty

A jeśli cos własnego chcesz napisać, mniej skomplikowanego to zobacz tu:
System szablonów

Wszystko mi się podoba i działa piękinie ;)
Ale jak by tu można zrobić aby użytkownik mógł wybrać sobie jakąś skórę z folderu template?


Wszystko mi się podoba i działa piękinie ;)
Ale jak by tu można zrobić aby użytkownik mógł wybrać sobie jakąś skórę z folderu template?

przechowujesz info o skorce w ciastku / sesji i wywolujesz tak

if($_SESSION['skorka'] == 1) $skorka = 'czerwona';
else if($_SESSION['skorka'] == 2) $skorka = 'zielona';
else $skorka = 'czarna';

a potem przy wywolaniu klasy
$templ = new Template($skorka.'/example.tpl');
[... tu dalszy kod]


przechowujesz info o skorce w ciastku / sesji i wywolujesz tak

if($_SESSION['skorka'] == 1) $skorka = 'czerwona';
else if($_SESSION['skorka'] == 2) $skorka = 'zielona';
else $skorka = 'czarna';

a potem przy wywolaniu klasy
$templ = new Template($skorka.'/example.tpl');
[... tu dalszy kod]

Na ciasteczkach się nie znam ;(
A jak zrobi tak aby pobierało z templates np. jest sobie ladnaskorka.tpl to by wyświetlało samo ladnaskorka bez *.tpl?


A jak zrobi tak aby pobierało z templates np. jest sobie ladnaskorka.tpl to by wyświetlało samo ladnaskorka bez *.tpl?
<? function obetnij_nazwe(string $s) { for ($i=count($s)-1; $i>0; $i--) { if ($s[$i]=='.') { $zm = substr($s, 0, $i); break; } } return $zm; }

Trudno pomyśleć, prawda? :P
Jeśli znasz się na sesjach, stworzenie skórek to... banał...


<? function obetnij_nazwe(string $s) { for ($i=count($s)-1; $i>0; $i--) { if ($s[$i]=='.') { $zm = substr($s, 0, $i); break; } } return $zm; }

pbnan, po co utrudniać sobie życie?
$jakas_nazwa = basename($nazwa_pliku, '.tpl');
B)


Ten preg_replace zamienia wszystkie {costam} na wartość $this->dane["costam"].

Jeśli chcesz prosty wstęp do Smarty:
Instalacja Smarty
Ksiega gości w oparciu o Smarty

A jeśli cos własnego chcesz napisać, mniej skomplikowanego to zobacz tu:
System szablonów


Kodie nie chce być upierdliwy ale czy miałbyś może link do strony która wyjaśnia
użycie funkcji preg_replace bo na stronie manuala php nie ma nic co mogło by dotyczyć mojego problemu.
Tak samo na na stronie compzone, którą odwiedziałem w poszukiwaniu informacji dotyczących tego jak ona zamienia te dane.
Ogólny zarys i funkcjonowanie szablonó smarty jest mi znane.
Problem jednak pozostaje z wyrażeniami regularnymi które zmienia preg_replace.
Poprostu chciałbym wiedzieć na jakiej zasadzie to działa.

Polski manual Smarty: http://rzseattle.piwko.pl
Wyrażenia regularne: http://www.gajdaw.pl/php/wyrreg.html oraz http://www.gajdaw.pl/php/wyrreg.html

I wszystko jasne ;)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.