Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> include skryptu php w szablonie
nagg
post 8.01.2005, 13:56:16
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.01.2005

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


Niedawno zrobilem pierwsz, prosta stronke w szablonie. Dumny jestem jak paw, choc do konca nie kapuje jak to wszystko tam dziala tongue.gif
Jednak spotkalem sie z niemilym problemem.

Wygląda to tak. Chce dodac skrypt kontaktu do szablonu:

kontakt.php
  1. <?php
  2.  
  3.  
  4. require_once 'tpl/functions.php';
  5.  
  6. $tplTresc = file_get_contents('feedback.php'); // tutaj normalnie jest zawartosc strony. w tym przypadku ma to byc skrypt kontakt
  7. ...
  8. $tplTytul = 'tytul';
  9. $tplStopa = file_get_contents('stopa.tpl');
  10. $tplMenuTop = file_get_contents('menu-top.tpl');
  11.  
  12.  
  13. $page = new simpleTemplate();
  14. $page -> loadFromFile('tpl/strona.tpl');
  15.  
  16.  
  17. $page -> addChange('{tresc}', $tplTresc);
  18. $page -> addChange('{tytul}', $tplTytul);
  19. $page -> addChange('{menu}', $tplMenuTop);
  20. $page -> addChange('{stopa}', $tplStopa);
  21.  
  22. echo $page -> executeChanges();
  23.  
  24. ?>


Jezeli plik feedback.php to plik skryptu, na stronie wyswietli sie caly tekst skryptu. Jesli plik feedback.php to jedynie plik w ktorym jest include pliku ze skryptem nic sie nie wyswietla. W zrodle strony pokazuje sie komenda <?php include "feedback.php";?> ale nie jest to interpretowane.
Czy jest wiec jakis sposob na "szablonowanie" plikow ktore includuja skrypty phpquestionmark.gif

Cos mi sie wydaje, ze trzeba jakos oddzielic skrypt od formularza html, i includowac sam form? dobrze mysle? Jest to jedyne wyjscie?

Szczerze mowiac nie chodzi mi tylko o ten konkretny przypadek, tylko ogolnie. Musi byc jakis sposob chyba. A bardzo by to mi ulatwilo zycie smile.gif
Z gory Wam dziekuje smile.gif


hwao
Go to the top of the page
+Quote Post
tiraeth
post 8.01.2005, 14:41:55
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


linia 18...
  1. <?
  2. $page -> addChange('{tresc}', $tplTresc)
  3. ?>

zamień na
  1. <?
  2. $page -> addChange('{tresc}', eval('?>'.$tplTresc.'<?'))
  3. ?>


eval" title="Zobacz w manualu PHP" target="_manual() -> dokonuje parsowania php kodu umieszczonego w np. zmiennej...
Go to the top of the page
+Quote Post
nagg
post 8.01.2005, 15:21:05
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.01.2005

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


Wtedy formularz leci na gore strony, a nie w wyznaczone templatem miejsce...
Go to the top of the page
+Quote Post
tiraeth
post 8.01.2005, 16:26:59
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


No to nie poprawiaj 18 linijki tylko zmień 23 na:
  1. <?php
  2. eval('?>'.$page -> executeChanges().'<?');
  3. ?>
Go to the top of the page
+Quote Post
nagg
post 8.01.2005, 17:18:55
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 8.01.2005

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


Świetnie. dokładnie o to chodziło. Dzięki wielkie!
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:46