ďťż
 
=?iso-8859-2?q?System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?= ďťż
 
=?iso-8859-2?q?System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?iso-8859-2?q?System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=



WebCM - 21-09-2007 00:03
=?iso-8859-2?q?System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Potrzebuję bardzo szybkiego i wydajnego systemu szablonów. Zastanawiam
się, czy pisać własny, czy przerobić istniejący do potrzeb CMS-a.

Funkcje

* Pętle lub wyciąganie fragmentów. Dla przykładu chcę wyświetlić
nowości. Ich ilość na stronie zależy od ustawień. Każdy news mainne
dane. W jaki sposób najlepiej to zrobić? Podobnie jak podpinanie w
PDO?

$tpl = new Template('file.tpl');
$tpl -> add('jakaś_zmienna', 'wartość'); //Albo w tablicy
$block = $tpl -> getBlock('news');

foreach($res as $news)
{
$block -> add(...); //Przypisanie zmiennych
$block -> show(); //Jak zorganizować dane w obiekcie?
}
//Albo inaczej - jak?

Co do organizacji danych - albo zamiany następują dopiero w
metodzie show(), albo przetworzone dane przechowywane są w dodatkowej
zmiennej (większe zużycie pamięci RAM). Trzeba zwrócić też uwagę na
instrukcje warunkowe i inne operacje.

* Zmienne - prawdopodobnie w stylu {zmienna}. Istotną kwestią jest
dostęp do innych zmiennych niż przypisane, choć niekonieczną.

* Instrukcje warunkowe - bez tego trudno napisać elastyczne
szablony z dostosowaniem wyglądu do ustawień. Jak je zaimplementować?
Może podobnie jak w XT?

<div id="jakies_id">zawartość</div>

A w PHP coś w stylu:

$tpl -> if( TRUE, ...);
Nie wiem, czy to dobry przykład. W takich blokach znajdują się
jeszcze inne zmienne.

A może coś w stylu PHPTal?

<div if="zmienna">...</div>?
Na podobnej zasadzie mogą działać pętle.

* Cache - bardzo ważne w celu przyspieszenia skryptu. 2 sposoby:
- zapis pliku .tpl do .php bądź innej formy
- zapis przetworzonego szablonu do .html (gdy dane rzadko się
zmieniają)
Jeżeli skrypt dostosowywałby szablony sprawnie, funkcja nie jest
konieczna.

Inne bajery są raczej zbędne. Kolejna rzecz - łączny rozmiar
podstawowych plików systemu szablonów - maks. 4KB.

Czy opłaca się tworzyć własny system szablonów, czy lepiej wykorzystać
już istniejący i dostosować go (np. usunąć zbędne funkcje i
instrukcje)? Myślę jeszcze o XT, PHPTal lub podobnych.





chester - 21-09-2007 00:03

  WebCM pisze:
> Inne bajery są raczej zbędne. Kolejna rzecz - łączny rozmiar
> podstawowych plików systemu szablonów - maks. 4KB.

Tzn. biblioteka/system szablonowy ma zajmować 4KB ?
Po co takie wymaganie?

> Czy opłaca się tworzyć własny system szablonów, czy lepiej wykorzystać
> już istniejący i dostosować go (np. usunąć zbędne funkcje i
> instrukcje)? Myślę jeszcze o XT, PHPTal lub podobnych.

Ja bym obciął jakiś istniejący.
Tyle tylko, że się zastanawiam, po kiego grzyba takie kombinacje z tym
obcinaniem/minimalizacją systemu szablonów?
Widziałem testy wydajności w PHP Solutions i mogę uczciwie powiedzieć że
są nieco nieobiektywne. A to z tego powodu, że operowały na stosunkowo
nieskomplikowanych szablonach. Skompilowany szablon Smarty w który się
wrzuca bardzo dużo zmiennych wcale nie jest znacząco wolniejszy niż tak
zachwalany PHPTal. Nic nie mam do innych systemów, ale prywatnie:
a) lubię smarty. tak po prostu i irracjonalnie ;-)
b) cenię sobie prostotę używania - w smarty nie stosujesz czystego 'php'
(choć możesz jeśli się pojawi taka potrzeba) i dzięki temu osoba
zajmująca się HTML ma znacznie mniejsze szanse coś poważnie spieprzyć

Oczywiście nie znaczy to że to system najwydajniejszy itp - wiem że jest
to kobyła, ale jak po zakończeniu testów robisz force_compile na true,
to wcale tak źle nie jest, szczególnie przy dużej ilości zmiennych.

chester




the_foe - 22-09-2007 00:16

  Kiedys napisalem sobie taki prosty "bez bajer" system:

<?php
#najprostszy system szblonow
#autor the_foe
define ( "KAT_SZAB" , "szablony"); //katalog z szablonami
define ( "WSKAZNIK", '$this');//wskaznik klasy np $this funkcje $fun
class easy_temp{
var $bufor;
var $kat_szab=KAT_SZAB;
var $wskaznik=WSKAZNIK;
var $war__war=array();
function dodaj_plik($plik)
{
//dodaje plik do bufora

if (is_array($plik)){
//rekurencja
foreach ($plik as $v){
$this->dodaj_plik($v);
}
}else{
if(!empty($this->kat_szab))$plik=$this->kat_szab."/".$plik;
if (is_file($plik)==false){
$this->bufor.="BRAK WSKAZANEGO PLIKU: ".$plik."<br>";;
}
else
{
$this->bufor.=implode("",file($plik));

}
}

}
function pokaz(){
$pat='/{([\w\$\[\]\']*)(\|.*?|)}/se';
$to=preg_replace($pat,"\$this->go('\\1','\\2')",$this->bufor);
echo $to;
}
function go ($a__a,$b__b){
if ($this->wskaznik{0}=='$'){
if ($this->wskaznik!='$this')
global ${substr($this->wskaznik,1,strlen($this->wskaznik))};
$w__skaznik=$this->wskaznik."->";
}else{
$w__skaznik=$this->wskaznik."::";
}
if (!empty($b__b)){
$b__b=substr($b__b,1,strlen($b__b)-1);
$z__z=explode("|",$b__b);
$b__b="";
foreach ($z__z as $v__v){
$b__b.=",".$v__v;
}
$b__b=substr($b__b,1,strlen($b__b)-1);
}
if ($a__a{0}=='$'){
$a__a=substr($a__a,1,strlen($a__a)-1);
if(!empty($this->war__war[$a__a])){
$a__a=$this->war__war[$a__a];
}else{
if ($this->wskaznik{0}=='$')eval('$a__a='.$w__skaznik.$a__a. ';');
}
}else{
eval('$a__a='.$w__skaznik.$a__a.'('.$b__b.');');
}
return $a__a;
}
function ustaw($co,$dane=""){
if (is_array($co)){
$this->war__war=$co;
}else{
$this->war__war[$co]=$dane;
}

}
}
?>




Tomasz Sledz - 22-09-2007 00:16

  Friday 21 of September 2007 12:10:40 the_foe napisał(a):
> Kiedys napisalem sobie taki prosty "bez bajer" system:
>

no i ???
W czym problem ???

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Tomasz Śledź
3d3d5162764e6d4c6a56574c79416b6270786d636c314764
3d7747637538326269426b6270786d636c314764
73426e4c76396d5975345761734a585a7452334c766f446330 524861
--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.php





WebCM - 23-09-2007 00:00
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Może napiszę podstawowy mechanizm systemu szablonów, na jakiej
zasadzie oprzeć "cache" (gdzie są pętle, itd.)?

Co do pętli - rekordy z bazy danych pobieram na bieżąco:

foreach($result as $news)
{
...
}

Metoda bardzo szybka w przeciwieństwie do buforowania danych i użycia
innej pętli.

Smarty i OPT to obszerne skrypty. Można powiedzieć, że implementuje
własny język. Podstawowe pliki to ok. 145 KB. Rzecz głównie w tym, że
w przypadku szybkiego i lekkiego systemu CMS nie ma potrzeby ładować
do pamięci funkcji, które na 98% nie zostaną wykorzystane.

Co do XT - używa funkcji DOM (XML), co pewnie nie jest zbyt szybkie.
Ciężko powiedzieć na ten temat, gdy brak testów wydajności. Nie wiem,
czy opłaca się przerabiać jakiś skrypt, czy pisać własny system
szablonów.




ADi - 24-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Witam,

On 20 Wrz, 20:10, WebCM <webcm...@gmail.com> wrote:

> Potrzebuję bardzo szybkiego i wydajnego systemu szablonów. Zastanawiam
> się, czy pisać własny, czy przerobić istniejący do potrzeb CMS-a.

[...]

Wszystko co wymieniles masz w PHP, wiec nie widze powodu dla ktorego
mialbys uzywac jakis wymyslnych systemow szablonow, lub pisac
wlasne... Wiekszosc osob nie rozumie, ze oddzielenie warstwy
biznesowej aplikacji od warstwy widoku (patrz MVC) wcale nie polega na
tym, ze w widokach nie mozna uzywac PHP. Przeciwnie, po cholere
implementowac Smarty czy inna kobyle, zeby uzyskac funkcjonalnosc,
ktora masz domyslnie w PHP? Przeciez to sie nie trzyma kupy...

Jezeli nie rozumiesz za bardzo o co mi chodzi, to zobacz jak to jest
domyslnie rozwiazane w Zend Framework: http://framework.zend.com/manual/en/zend.view.html
Mozesz tez przeanalizowac system generowania widoku w takim
prosciutkim frameworku, ktory znajdziesz tutaj: http://tinymvc.org
(klasa TinyMVCViewRenderer).

Wniosek? Najlepszym "jezykiem szablonow" jest PHP. I to by bylo na
tyle...

Pozdrawiam,

--
ADi




WebCM - 24-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Dobry system szablonów jest o tyle dobrym rozwiązaniem, że pliki nie
zawierają kodu PHP i skomplikowanych instrukcji, co sprawia, że zmiana
wyglądu jest łatwe. To nie ma być kobyła. Smarty ma swój język - to
nie tak powinno wyglądać. XT już jest bliżej.

Chyba przeprowadzę za chwilę testy szybkości kilku systemów. Co
zrobić, by były wiarygodne?




ADi - 24-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  On 23 Wrz, 13:22, WebCM <webcm...@gmail.com> wrote:

> Dobry system szablonów jest o tyle dobrym rozwiązaniem, że pliki nie
> zawierają kodu PHP i skomplikowanych instrukcji, co sprawia, że zmiana
> wyglądu jest łatwe. To nie ma być kobyła. Smarty ma swój język - to

Chodzi wlasie o to, ze pliki widoku zawierajace kod PHP nie sa niczym
zlym i jak najbardziej zgodnym z MVC. A "skomplikowane instrukcje",
typu instr. sterujace sa czesto niezbedne i bardzo wygodne, tylko
wlasnie po co do tego osobny engine, skoro mamy to w PHP?

Co sie natomiast tyczy latwej zmiany _wygladu_ strony, to nie tedy
droga... widoki renderowane przez framework powinny byc uniwersalne,
najlepiej jako semantyczny kod (X)HTML, lub po prostu XML. Wyglad w
takim wypadku mozesz dowolnie opisac tylko przy pomocy CSS i
ewentualnie XSL (w przypadku XML) i kazdy webmaster moze to zrobic
palcem nie dotykajac plikow widoku (well.. przynajmniej w teorii;)).

Pozdrawiam,

--
ADi




WebCM - 25-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Jeśli w szablonie z kodem PHP są wstawiane wyłącznie zmienne, nie
zmniejsza to zbytnio czytelności. Gdy dojdą instrukcje warunkowe i
pętle, wtedy już jest problem - tworzy się syf, z którym grafik może
sobie nie poradzić.

Chciałbym, abyście pomogli mi dokonać właściwego wyboru. Autor OPT
twierdzi, że w XT uzależniamy kod PHP od budowy kodu HTML. Gdy po
zmianie szaty graficznej nie ma ona dokładnie identycznej struktury,
jak stara, trzeba ponownie przepisać skrypt. Po części się zgadzam,
lecz rozważmy 2 przykłady:
- ul > li - odnosimy się do znaczników, które muszą wystąpić
- #id, .class - każdemu elementowi możemy nadać te atrybuty

Druga strona odradza stosowania systemów typu Smarty ze względu na
pseudojęzyk bądź nieczytelną składnię.
http://pornel.net/szablony

Ostatecznie napiszę własny system szablonów z podstawowymi funkcjami,
lecz wolałbym sprawdzone rozwiązanie (np. XT, OPT, PHPTal).
Najważniejsze, by skrypt był szybki i nie ładował dużo kodu do pamięci.




Bartosz \omnibus\ Derleta - 25-09-2007 00:09

 
>
> Smarty i OPT to obszerne skrypty. Można powiedzieć, że implementuje
> własny język. Podstawowe pliki to ok. 145 KB. Rzecz głównie w tym, że
> w przypadku szybkiego i lekkiego systemu CMS nie ma potrzeby ładować
> do pamięci funkcji, które na 98% nie zostaną wykorzystane.
>

Obszerne ale stabilne i dość wydajne, można skroić na miarę potrzeb.

> Co do XT - używa funkcji DOM (XML), co pewnie nie jest zbyt szybkie.
> Ciężko powiedzieć na ten temat, gdy brak testów wydajności. Nie wiem,
> czy opłaca się przerabiać jakiś skrypt, czy pisać własny system
> szablonów.

:/

Mam nieprzyjemne doświadczenia z tym systemem, selektory ssą i tyle,
xpatha w ogóle nie czyta, ogólnie żal, nie polecam :/

--
Pozdrawiam,
Bartosz "omnibus" Derleta




WebCM - 25-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Która to była wersja XT i PHP?

Plik opt.class.php po zoptymalizowaniu Toolset'em waży ok. 20 KB +
inne (np. kompiler - 46,1 KB) - zazwyczaj mniej kodu łącznie ładujędo
pamięci. Może po ręcznym wywaleniu zbędnych funkcji różnica będzie
zauważalna.

Decyzję muszę podjąć jak najszybciej. Gdzie mogę dorwać autora XT? Już
10 dni nie był na forumweb.pl, a nie chcę pisać do niego na
komunikator.




sash668 - 25-09-2007 00:09

  WebCM <webcm123@gmail.com> in
news:1190658879.931029.278820@22g2000hsm.googlegro ups.com wrote:

> Jeśli w szablonie z kodem PHP są wstawiane wyłącznie zmienne, nie
> zmniejsza to zbytnio czytelności. Gdy dojdą instrukcje warunkowe i
> pętle, wtedy już jest problem - tworzy się syf, z którym grafik
> może sobie nie poradzić.

No właśnie dlatego nie lubię czystego php jako system szablonów mimo,
że byłoby to najwydajniejsze.

> [...]

> Druga strona odradza stosowania systemów typu Smarty ze względu na
> pseudojęzyk bądź nieczytelną składnię.
> http://pornel.net/szablony

W Smarty najbardziej lubię wtyczki, szczególnie te które samemu można
napisać ;-). Na upartego link z przykładu porneLa może wyglądać w
Smarty tak:

{href params=$params}

lub

{href href=$params.href title=$params.title
attributes=$params.attributes}

//do tego oczywiscie dane:
$params = array(
'href' => 'http://costam.pl/dupa/ala-ma-psa-kot-zdechl&kanarek',
'title' => 'ala ma psa & <kota>',
'attributes' => array (
'em',
array("span style='border: 1px solid red;'", 'span')
),
//'target' => '_blank'
);

// i jakieś przypisanie (wedle uznania)
$tpl->assign('params', $params);

('target' dodany specjalnie ;-P, za to zostanie odpowiednio "obsłużony"
w pluginie jęśli się odkomentuje)

Jednak dalej pozostanie to "zlepiaczką tekstu", ale za to szablon jest
dość "czysty". Poza tym, bardzo przyzwyczaiłem się do generowania
danych bez formatowania a potem wysyłania tej/tych tablicy/tablic do
szablonu a tam już niech się dzieje co chce.

Na szybko pisany plugin do tych linków można znaleźć pod:
http://phpfi.com/264860

> Ostatecznie napiszę własny system szablonów z podstawowymi
> funkcjami, lecz wolałbym sprawdzone rozwiązanie (np. XT, OPT,
> PHPTal). Najważniejsze, by skrypt był szybki i nie ładował dużo
> kodu do pamięci.

Sam zasanawiam się nad przesiadką na coś innego właśnie ze tego
względu, że Smarty to jakby nie patrzeć kobyła. Myślałem nad
wychwalanym przez porneLa PHPTAL tylko martwi mnie to, że ostatnia
wersja jest z końca 2k6-11, czyżby porzucony? No i system cache'owania
trzeba samemu zrobić.

--
Best regards
sash668
na dżimejl dot kom




WebCM - 26-09-2007 00:04
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Prawdopodobnie wszystko, czego potrzebuję, to: wstawianie wartości -
{var} i definiowanie fragmentów kodu. Przez "fragmenty kodu" rozumie
się m.in.:
- instrukcje warunkowe
- pętle

Tu wystarczy nawet definiowanie bloków, choć szablony mogą zawierać
też inne konstrukcje. PhpBB stosuje komentarze HTML. Też ciekawe
rozwiązanie.
<!--BEGIN nazwa--> lub (w wersji 3): <!--IF coś_tam-->

Powróćmy do XT. Autor zaprzestał rozwijania wersji z CACHE. Zapewne
głównym powodem jest brak czasu. Buforowanie szablonów wg mnie jest
możliwe (gdy odwołujemy się przez XPath, ID bądź klasę), lecz znacznie
trudniejsze.

Wybierając drogę OPT, zamykam drzwi do XT. Obiekt OPT tworzy się tylko
raz. Szablon wczytuje się dopiero po ustawieniu danych do podmiany.
Wycinanie fragmentów jest raczej niemożliwe (np. w pętli foreach, o
czym pisałem w poprzednich postach). Za to w XT każdy szablon jest
obiektem (wczytuje go konstruktor klasy). Muszę przyznać, że ten
system ma naprawdę wielkie możliwości - a to przede wszystkim zasługa
funkcji DOM w PHP5. :) Pseudojęzykowe systemy mogłyby się schować,
gdyby nie fakt, o którym pisał autor OPT w odpowiedzi na komentarz:
http://www.zyxist.com/pokaz.php/hackujemy_opt

Atrybuty ID i CLASS można nadać każdemu elementowi. Problem przejawia
się jednak w tym, że znaczniki mają swoje atrybuty, np. <a> - href
(czego nie ma <input>). Adres odnośnika generuje się w PHP i muszę
szablonowi go jakoś przekazać. Znacie inne przykłady?

Najprawdopodobniej napiszę własny system szablonów, wzorując się na XT
i OPT. Tylko nie wiem, w którą stronę się kierować (tak by potem nie
było problemów z podstawieniem innej klasy, gdyby ktoś chciał
większych możliwości). Podstawowe założenia:
- używać DOM tylko w czasie kompilacji
- zmienne {var}, {title}...
- fragmenty - albo jak w PhpBB, albo XML-owo, albo przez #ID

Mam nadzieję, że rozwinie się ciekawa dyskusja i znajdziemy lepsze
rozwiązanie. Jak napiszę lekką klasę do obsługi szablonów, udostępnię
ją.




marcin.hacia@gmail.com - 27-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  On 24 Wrz, 20:34, WebCM <webcm...@gmail.com> wrote:

> Chciałbym, abyście pomogli mi dokonać właściwego wyboru. Autor OPT
> twierdzi, że w XT uzależniamy kod PHP od budowy kodu HTML. Gdy po
> zmianie szaty graficznej nie ma ona dokładnie identycznej struktury,
> jak stara, trzeba ponownie przepisać skrypt. Po części się zgadzam,
> lecz rozważmy 2 przykłady:
> - ul > li - odnosimy się do znaczników, które muszą wystąpić
> - #id, .class - każdemu elementowi możemy nadać te atrybuty

Zaraz, przecież zwykle zmiana wyglądu dobrze zakodowanej i
przemyślanej strony nie wymaga grzebania w (X)HTML, a zmiany CSS.
Natomiast jeżeli by wymagała zmian, to raczej kosmetycznych, typu
wstawienie dodatkowego div'a (kontener na coś), zamiany listy
wypunktowanej na numerowaną lub odwrotnie albo czegoś podobnego...




marcin.hacia@gmail.com - 27-09-2007 00:09
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  On 24 Wrz, 20:56, "Bartosz \"omnibus\" Derleta"
<bartosz_derl...@op.pl> wrote:

> Mam nieprzyjemne doświadczenia z tym [XT] systemem, selektory ssą i tyle,
> xpatha w ogóle nie czyta, ogólnie żal, nie polecam :/

Bo to jest ciągle wersja rozwojowa. Potrzeba osób znających PHP, które
pomogłyby autorowi, ponieważ brakuje mu czasu na zajmowanie się tym
systemem. Obsługę xpatha możnaby dodać później (o ile się niemylę
jest/była w planach). Selektory ssą? Pewnie dlatego, że nie wszystkie
selektory CSS zostały zaimplementowane, pewnie z wyżej wymienionego
powodu.

Mógłbyś też bardziej sprecyzować wypowiedź, że selektory ssą? Co
konkretnie?




Bartosz \omnibus\ Derleta - 27-09-2007 00:09

  marcin.hacia@gmail.com pisze:
> On 24 Wrz, 20:56, "Bartosz \"omnibus\" Derleta"
> <bartosz_derl...@op.pl> wrote:
>
>> Mam nieprzyjemne doświadczenia z tym [XT] systemem, selektory ssą i tyle,
>> xpatha w ogóle nie czyta, ogólnie żal, nie polecam :/
>
> Bo to jest ciągle wersja rozwojowa. Potrzeba osób znających PHP, które
> pomogłyby autorowi, ponieważ brakuje mu czasu na zajmowanie się tym
> systemem. Obsługę xpatha możnaby dodać później (o ile się nie mylę
> jest/była w planach). Selektory ssą? Pewnie dlatego, że nie wszystkie
> selektory CSS zostały zaimplementowane, pewnie z wyżej wymienionego
> powodu.
>
> Mógłbyś też bardziej sprecyzować wypowiedź, że selektory ssą? Co
> konkretnie?
>

Tak, niby proste zapytanie "#contentElement". Po zmianie id elementu na
content, zapytanie zaskoczyło.

--
Pozdrawiam,
Bartosz "omnibus" Derleta




neo - 29-09-2007 00:00
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  On 26 Wrz, 18:01, "Bartosz \"omnibus\" Derleta"
<bartosz_derl...@op.pl> wrote:
> marcin.ha...@gmail.com pisze:
>
>
>
> > On 24 Wrz, 20:56, "Bartosz \"omnibus\" Derleta"
> > <bartosz_derl...@op.pl> wrote:
>
> >> Mam nieprzyjemne doświadczenia z tym [XT] systemem, selektory ssą i tyle,
> >> xpatha w ogóle nie czyta, ogólnie żal, nie polecam :/
>
> > Bo to jest ciągle wersja rozwojowa. Potrzeba osób znających PHP, które
> > pomogłyby autorowi, ponieważ brakuje mu czasu na zajmowanie się tym
> > systemem. Obsługę xpatha możnaby dodać później (o ile sięnie mylę
> > jest/była w planach). Selektory ssą? Pewnie dlatego, że nie wszystkie
> > selektory CSS zostały zaimplementowane, pewnie z wyżej wymienionego
> > powodu.
>
> > Mógłbyś też bardziej sprecyzować wypowiedź, że selektory ssą? Co
> > konkretnie?
>
> Tak, niby proste zapytanie "#contentElement". Po zmianie id elementu na
> content, zapytanie zaskoczyło.
>
> --
> Pozdrawiam,
> Bartosz "omnibus" Derleta

Bardzo ułatwilibyście mi jakiś rozwój xt, gdyby ewentualne problemy
były kierowane bezpośrednio do mnie. Starałem się utrzymać pełną
kompatybilność z css3 i wedle moich testów wszystko powinno działać.
Jednak, oczywiście, jestem człowiekiem i również popełniał błędy.
Zatem jeśli znajdziecie jakieś problemy z selektorami proszę o
bezpośredni kontakt, np. via email.

Co do obsługi xpath - jest przecież wbudowana w php. Zresztą
wyszukiawnie selektorów via css3 jest tak de facto tłumaczeniem css3
na xpath za pomocą kilku wyrażeń regularnych.

Co do samej dyskusji wtrącać się nie będę, bo z założenia jestem
stronniczy ;-)

Pozdrawiam,
Tomasz `neo` Kołodziejski




WebCM - 30-09-2007 00:00
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Odświeżam temat. Wciąż nie wiem, które założenie wybrać. :)W XT nie
ma bałaganu:

<ul id="dodaj">
<li class="art remove_class" />
<li class="file remove_class" />
</ul>

Potem: jeśli #dodaj.art ma istnieć, podstawiam tekst. Powiedzmy, że
#dodaj.file trzeba usunąć, bo użytkownik nie ma tam dostępu - w XT
chyba da się to zrobić. Jest jednak wyjątek - do elementu <li>
wsadzamy gotowy odnośnik:

$szablon -> add('#dodaj.art', '<a href="...t">'.$lang['art'].'</a>');

Jeśli chcemy całkowicie oddzielić kod PHP od HTML, musimy się pokusić
o dodatkowe rozwiązania. Najpopularniejszym są wstawki:

<li id="art"><a href="{url}">{lang_art}</a></li>

Do tego dochodzą sekcje. Mogę to zrobić tak jak w XT (dostęp do
elementu przez ID) albo inaczej:

<section id="nazwa">...</section>

<!--SECTION nazwa-->...<!--END nazwa-->

<li tpl:if="zmienna">Zostanie usunięty</li>

$szablon -> add('zmienna', false);

W tym ostatnim przypadku albo wyszukuję wszystkie atrybuty tpl:if
(lub: if), albo tylko zdefiniowane. Jednak to nie jest do definicji
sekcji, tylko instrukcji warunkowej.

Jakie są wasze koncepcje na dobry system szablonów, aby wszystko było
czytelne, łatwe w tworzeniu dla użytkowników (webmasterów)? Zgodność z
XML też jest dużym plusem, choć niekoniecznym, jeżeli analizator
przetworzy dane prawidłowo.

PS. Fragmenty są bardzo ważne. Nie chcę dołączać 10 plików dla
poszczególnych elementów (np. podkategorie, bloki menu, itp.), a w
przypadku pętli wolę wysyłać dane (np. newsy) do przeglądarki na
bieżąco (przy każdej iteracji).




WebCM - 18-10-2007 00:03
=?iso-8859-2?q?Re:_System_szablon=F3w_wg_wymaga=F1_-_porad=BCcie?=
  Jest tu jeszcze kto? Spójrzcie tutaj:
http://www.sitepoint.com/forums/showthread.php?t=507033

Prawie wszyscy zalecają stosowanie PHP jako języka szablonów.
Posunąłem się do innego rozwiązania, które zakłada utworzenie
interfejsu w panelu administracyjnym CMS-a, w którym można ponownie
skompilować pliki stylów lub zainstalować skórkę ściągniętą z
internetu (rozpowszechniane byłyby bez kodu PHP - do kompilacji).

Gdy poddałem pod wątpliwość inny problem (funkcje vs dodatkowe pętle w
szablonie), zaczęto proponować jeszcze inne rozwiązania (dodatkowy
plik). Tego na pewno nie zastosuję.
http://www.sitepoint.com/forums/show...0&postcount=18

Na razie zostaję przy szablonach z kodem PHP oraz wersjach przyjaznych
webmasterom i grafikom (także rozpowszechnianych), które będą
kompilowane / instalowane w panelu administracyjnym. Zalety też są:
sprawdzenie nowych wersji, itp. Wciąż mam wątpliwości, czy w
niektórych przypadkach bezpośrednie użycie systemu szablonów (np. w
newsach, komentarzach) z wycinaniem fragmentów nie jest lepszym i
nawet wydajniejszym rozwiązaniem (przy użyciu funkcji DOM).
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 =?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?= =?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?= =?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?= =?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • tejsza.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com