Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP w plikach .tpl?
Forum PHP.pl > Forum > PHP
osadnik
Czy ktos moze mi doradzic jak umiescic kod php (dokladnie zaincludowac inny plik.php) w pliku .tpl

Umieszczam prosty kawalek kodu ktory powinien zaincludowac inny .php i nic mi nie pokazuje. Widzialem na inny forum jakis link do strony http://pl.php.net/eval ale nie mam pojecia co z tym zrobic...? kto mi pomoze?
Leezard
hmmm po pierwsze to istota szablonow polega na tym ze powinno sie oddzielac kod php od czesci wizualnej aplikacji... takze wszystko msui sie dac zrobic w pliku php a efekt wyswietlic tylko w szablonie tpl pod okreslona nazwa zmiennej

jakiego systemu szablonow uzywasz? i o co konkretnie chodzi, bo moze nie kumam pytania winksmiley.jpg

P.S.

a to tak na marginesie - co do funkcji eval to funkkcja przyjmuje jako argument ciag znakow i jezeli ten ciag jest kodem php to przeksztalca go w kod php i wykonuje go.
itsme
w smarty {include_php file="/path/to/load_nav.php"}
Chewolf
Przykład :
  1. <?php
  2. $a = 'test.tpl';//nazwa pliku
  3. $b = join(file($a));// dodajemy zawartosc pliku do zmiennej
  4. eval(&#092;"?>\".$b.\"<?\");//przepuszczamy przez parser dzieki eval
  5. ?>


ale lepiej zrobić to na smartach... nie ma co się bawić z jakimiś mini systemami ...
Przykład :
  1. <?php
  2. require_once('libs/Smarty.class.php');
  3. $smarty = new Smarty;
  4. $smarty->assign( 'test', 'plik.php');
  5. $smarty->display( 'index.tpl' );
  6. ?>

Plik index.tpl :
Kod
{include_php file="$tresc"}

Bo bardziej chodzi ci pewnie o to... snitch.gif
osadnik
dokladnie musze umiescic cos takiego:

<?php
include('../../plik.php');
?>

w pliku .tpl takiego skryptu do asministracji strona LDU... no i problem nic mi nie wyswietla z tego kodu, a sciezki itd sa ok...
no chyba ze ktos mi pomoze zrobic taka funkcje z plikach php i pozniej ja jakos wywolac w pliku .tpl... tiredsmiley.gif
Leezard
napisz jaki system template'ow: smarty? fasttemplate? czy jeszcze cos innego
po drugie co jest w pliku plik.php ktory chesz includowac?
osadnik
hej, nie zabardzo wiem jakie to templatsy sa, chce zinkludowac plik php ktory wyswietla banery , ale bede tez potrzebowac zincludowac do kodu .tpl tez inne pliki php....

tutaj jest zawartosc pliku php, trzeba by w nim dodac dodatkowa funkcje ktora includuje ten moj plik i pozniej ja wywolac w pliku tpl np: {PLUGIN_LATESTPAGES}

Prosze dac linka do pliku phps
hwao
Czechu
  1. <?php
  2. $a = 'test.tpl'; //nazwa pliku
  3. $b = join(file($a)); // dodajemy zawartosc pliku do zmiennej
  4. eval(&#092;"?>\".$b.\"<?\");//przepuszczamy przez parser dzieki eval
  5. ?>


  1. <?
  2. $plik = 'main.tpl';
  3. $w = join(file($plik));
  4. $szukaj = array('{linki}', '{archiwum}', '{blog}');
  5. $zamien = array(&#092;" <? require('linki.php'); ?> \", \" <? require('arch.php'); ?> \", \" <? require('blog.php'); ?> \");
  6. $wynik = str_replace($szukaj, $zamien, $w);
  7.  
  8. print(iso(\"$wynik\"));
  9. ?>


a w odpowiedzi...
Warning: Wrong parameter count for join()

jakies pomysły? smile.gif
Disaster
Mam problem podobnego typu, a nie padla tutaj rzadna konkretna odpowiedz. Sprawa wyglada tak: chce generowac bloku menu z bazy mysql (cos, powiedzmy, jak w jportalu), ale z wykorzystaniem templatow. Jednak metoda stosowana w jportalu w tym wypadku nie zdaje egzaminu. Dla uproszczenia nie pobieram tutaj zmiennej z bazy danych, tylko przypisuje jej wartosc, bo nie w tym lezy problem::
  1. <?php
  2. $kod = '<?php echo \"Hello world\"; ?>';
  3. $kod = '?>' . $kod . '<?';
  4. $content = eval($code);
  5.  
  6. // Dalsza czesc skryptu
  7.  
  8. $tpl->set_var('CONTENT',$content);
  9. $tpl->pparse();
  10. ?>

Problem dotyczy tego, ze kod zostaje wypisany w momencie przypisania funkcji eval(), a ma ona zostac jedynie przypisana do zmiennej, i przekazana pozniej do klasy obslugujacej szablony. Wyglada to tak:
  1. Hello world
  2. ...
  3. </head>
  4. Zawartosc strony
  5. </body>
  6. </html>

A docelowo ma wygladac tak:
  1. ...
  2. </head>
  3. Zawartosc strony
  4. Hello world
  5. </body>
  6. </html>

Uproscilem troche caly schemat, ale najwazniejsza sprawa powinna byc w miare czytelna. Licze ze znajdzie sie ktos kto bedzie potrafil mi jakos z tym pomoc rolleyes.gif
hawk
@osadnik: Większość forumowiczów wprost marzy o tym, aby poczytać sobie z rana 400 linii głupiego kodu. Gratuluję inteligencji.
ActivePlayer
Zamknijcie mu te bbcody czy costam w jego poscie bo zdupil cos i sie forum dupcy... :|

---
zalatwione
hwao
Prosze koniec OT


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.