Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pliki tpl
Forum PHP.pl > Forum > PHP
D@msi
Przerabiam pewien engine, który jest oparty na szablonach w plikach tpl, nie wiem czy ten format pliku obsługuje php, poniewarz wstawiając do niego komende wywołująca newsy z penego systemy poprostu nie działa:

Kod
<?
$newspath = "news";
include("$newspath/show.php");
?>  


pliki tpl znajdują się u mnie w foldrze templates. a php w katalogu głównym, wsztrskie pliki z tą komendą w foldrze templates wywołuja prawidłowo newsy, tylko w index.tpl, ktory jest stylem strony głównej zamaist newsów nie wyswietla się nic. Bardzo mi na tym zależt, tak więc ogromnie licze na waszą pomoc....


Pozdrawiam


P.S zminne są wywoływane normalnie ( {$cos tam} itp...) winksmiley.jpg
mike
Do obsługi plików .tpl potrzebujesz parsera szablonów. Bo to są w rzeczywistości szablony.

Nie napisałeś jakiego systemu szablonów używasz, ale po przykładzie zmiennych, jestem pewien że to Smarty.

php bezposrednio nie wykonuje szablonów, jak wspomniałem robi to parser.

Do plików .tpl nie możesz wstawic bezpośrednio kodu php dlatego nie działa.

Poczytaj sobie o Smarty a dowiesz się więcej i zrozumiesz zasadę działania.

A jeżeli chcesz wstawić jednak ten kod to czytanie zacznij od: {php}
Dravo
W szablonach Smarty (a rozumiem, że je masz na myśli) nie wywołuje się żadnego kodu php, w ten sposób. Nie jest to ich celem. Mają one własny język (który jest duży, <tutaj subiektywne i obiektywne odczucia>), który ma teorytycznie na celu odseparować logikę prezentacyjną (właśnie szablony) od biznesowej (kod php).

Szablony są parsowane i przetwarzane przez kod php, gdzie też podpina się zmienne, co zapewne sam wiesz najlepiej.

Pliki *.tpl nie są parsowane przez php. Zajrzyć do informacji odnośnie ustawień apacha.
W pliku httpd.conf posiadasz linijkę (lub podobną):
Cytat
AddType application/x-httpd-php .php .php4 .php3 .phtml .tpl <-- dodajesz


Osobiście, jako człowiek i programista, odradzam tak robić i proponuję abyś opowiedział, co chciałeś przez dołączenie tego pliku uzyskać.
CyklOP
Pliki .tpl nie są od tego, aby w nich umieszczać php. To php ma się wykonać i przesłać zmienne / tablice do szablonu (czyli .tpl), który to odpowiednio wyświetli. To skomplikowane zagadnienie, polecam manuala ze smarty.php.net (tam jest to prosto wyjaśnione).

Na upartego możesz wcisnąć kod php w {php} {/php}, przynajmniej z tego co pamiętam tak to wyglądało w przypadku szablonów SMARTY.


huh, 3 osoby naraz biggrin.gif
D@msi
nie mam pojecia jaki to typ, jak wciskam kod ppomiędzi {php}, wywala mi błąd:

Kod
Parse error: parse error, unexpected '<' in /home/gothicp/public_html/templates_c/%%45^45E^45E480CD%%index.tpl.php on line 91


w plikach tpl, odpowiednio są przerabiane zmienne {tego typu}. Ja chciałem w odpowiednie miejsce strony wstawic system newsów, a żeby te się wyświetlały na stronie trzeba posłużyć się wyrzej napisanym skryptem. Naprawde chciałbym wam więcewj powiedzieć ale jestem w tym zielony. Dodam że jest to silnik vallheru-engine (gamers- fusion). Oraz że zmienne {tego typu}, są nieruszane przez zwykłe pliki php :/


moze podam adres:

www.gothic.polnet24.com
mike
Cytat(D@msi @ 2005-07-21 21:55:40)
moze podam adres:

www.gothic.polnet24.com

Ten wspaniałomyślny gest nic nam nie daje. No chyba że podasz hasło na FTP tongue.gif

Wstaw tak:
Cytat
{php}
$newspath = "news";
include("$newspath/show.php");
{php}
D@msi
Cytat(mike_mech @ 2005-07-21 21:12:07)
{php}
$newspath = "news";
include("$newspath/show.php");
{php}

{php}
$newspath = "news";
include("$newspath/show.php");
{/php}



raczej tak, i oto mi chodziło, bardzo wam wszystkim dziękuje winksmiley.jpg
Tomaan
Cytat(Dravo @ 21.07.2005, 22:30:26 ) *
W pliku httpd.conf posiadasz linijkę (lub podobną):

a jeśli mam serwer na home.pl i nie mam takiego pliku?
erix
Sprawdź, czy masz w panelu własne typy MIME, etc.
Tomaan
Cytat(erix @ 10.09.2009, 20:28:34 ) *
Sprawdź, czy masz w panelu własne typy MIME, etc.
ekhm, sorka, całkowity żółtodziób jestem, w jakim panelu i jak to sprawdzić?

Ps. męczę się jak Ty z Shoperem smile.gif Chcę tylko zainkludować pewien plik .php w szablonie .tpl smile.gif To się okazuje trudniejsze niż się spodziewałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.