Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z szablonami
ky3orr
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 25.10.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


witam!

skonstruowalem sobie szablon strony ktory podmienia zmienne typu ####ZMIENNA#### plikami o zadanych tresciach (wybor pliku jest rezlizowany poprzez switch i korzystanie z parametrow $_GET).

strona glowna ladowana takze do savlonu ma pole aktualizacja gdzie data ladowana ma byc z pliku.
niestety kod php nie przechodzi przez parser i caly trafia do przegladarki.

czy istnieje mozliwosc aby kod z ladowanej strony byl takze przetwazany?
co daje uzycie include?

pozdro4all


--------------------
yegomość KY3ORR
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
byther
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 15.06.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(ky3orr @ 2004-10-26 14:44:31)
niestety kod php nie przechodzi przez parser i caly trafia do przegladarki.

Jeżeli korzystasz z funkcji typu file_get_contents(), to się nie dziw - wynikiem są dane, których parser php nie będzie przetwarzać składniowo. W przeciwnym wypadku korzystaj z funkcji include() lub zapoznaj się (ostrożnie...) z funkcją eval().

Cytat
czy istnieje mozliwosc aby kod z ladowanej strony byl takze przetwazany?

Stary, w końcu wszystko jest możliwe! Use your imagination (or take another red pill). cool.gif

Cytat
co daje uzycie include?

Dokumentacja funkcji jest upubliczniona pod adresem http://www.php.net/manual/en/function.include.php. biggrin.gif

Hint: Po co Ci szablony, skoro nadal miksujesz treść z php?


--------------------
Sygnaturka: jest
Go to the top of the page
+Quote Post
ky3orr
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 25.10.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


to proste!

szablon wykorzystuje po to by zaca stronke zgrabnie zlozyc "do qpy" smile.gif

gdy zmieni mi sie poglad na layout to zmienie szavlon i tyle.

zawartosc jest zalezna od klikanych linkow, ale ostateczny wygenerowany site jest przeciez okrelslony wlasnie przez szablon.

dzieki za info.

a moze skonstruowac index.php w taki sposob zeby nie ladowal szablonu i nie podmienial w nim zmiennych, tylko cala logika odpowiedzialna za wybor zawartosci niech wprost w tym index-ie includuje pliki w ramach tabeli (jak w szablonie). questionmark.gif

jaak Ty @byther skonstruowana masz strone (jesli uzywasz szablonow)?


pozdro4all


--------------------
yegomość KY3ORR
Go to the top of the page
+Quote Post
byther
post
Post #4





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 15.06.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(ky3orr @ 2004-10-27 10:23:15)
jaak Ty @byther skonstruowana masz strone (jesli uzywasz szablonow)?

Na przykład tak: http://forum.php.pl/index.php?showtopic=22138
Możesz też wykorzystać najprostszy FrontController:
  1. <?php
  2.  
  3. // plik index.php
  4. // np. APPDIR = /home/byther/public_html/
  5. define( 'APPDIR', dirname( __FILE__ ) . '/' );
  6.  
  7. // Podstrony
  8. $strony = array(
  9. 'index' => 'app/index.php',
  10. 'archiwum' => 'app/archiwum.php',
  11. 'galeria' => 'app/galeria.php',
  12. 'kontakt' => 'app/kontakt.php'
  13. );
  14.  
  15. // Domyślna strona
  16. $pageDefault = 'index';
  17.  
  18. // wybieramy żądaną stronę
  19. $reqPage = $_REQUEST['page'] ? $_REQUEST['page'] : $pageDefault;
  20. if( !isset( $strony[$reqPage] ) )
  21. {
  22. // możesz wysłać informację o \"braku strony\" (Error 404) lub inną akcję...
  23. echo &#092;"Żądana strona nie istnieje ($reqPage)\";
  24. exit();
  25. }
  26.  
  27. // Podstawowe dodatki
  28. require_once( 'smarty/Smarty.class.php' );
  29. require_once( APPDIR . 'lib/db/pgsql.php' );
  30.  
  31. // Inicjalizacja silników do szablonów i baz danych
  32. $tpl =& new Smarty;
  33. $db =& db::instance();
  34.  
  35. // Załadowanie strony
  36. include( APPDIR . $strony[$reqPage] );
  37.  
  38. ?>

Struktura katalogów/plików:
Kod
/home/byther/public_html:
/app/
     /index.php
     /archiwum.php
     /galeria.php
     /kontakt.php
/configs/ - konfiguracje dla Smarty'ego
/lib/ - interfejsy baz danych, parsery, inne cuda na patyku *
/templates/ - szablony dla Smarty'ego
/templates_c/ - skompilowane szablony
/index.php

Przykład pisałem "na żywca", więc weź poprawkę na ewentualne błędy. Możliwe też, że taki sposób tworzenia serwisu jest nieefektywny... Popytaj innych, może czyjąś propozycję architektury aplikacji uznasz za lepszą. smile.gif


--------------------
Sygnaturka: jest
Go to the top of the page
+Quote Post
ky3orr
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 25.10.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


sedreczna dzieka!

sprawa sie rozjasnila smile.gif

pozdro


--------------------
yegomość KY3ORR
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:07