Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czemu wyświetla funkcję na górze ...
Forum PHP.pl > Forum > PHP
Strzałek
Na samym początku powiem że używam parser'a z phpBB i proszę nie mówić żebym zmienił na smarty ...

Więc mam funkcję:
  1. <?
  2. //blok menu prawy
  3. function right_menu(){
  4.  
  5.  global $db, $tpl, $cfg;
  6.  
  7.  $db -> query(&#092;"SELECT * FROM \".TABLE_MENU.\" WHERE pos_x='right'\"); 
  8.  
  9.  $tpl -> set_filenames(array('menu_right' => 'menu_right.tpl'));
  10.  while($r = $db -> fetch()){
  11.  
  12. $tpl -> assign_block_vars('RIGHT_MENU', array('TYTUL' => $r['title'],
  13.  'TRESC' => $r['text']));
  14.  
  15.  }
  16.  $tpl -> pparse('menu_right');
  17.  
  18. }
  19. ?>


i działa ona bez zarzutu. Bardzo dobrze.

Teraz mam index.php:

  1. <?
  2. $tpl -> set_filenames(array('index' => 'index.tpl'));
  3. $tpl -> assign_vars(array('MENU_PRAWE' => right_menu()
  4.  'TEXT'  => 'asdzxc'));
  5. $tpl -> pparse('index');
  6. ?>


a w index.tpl mam tabelkę z 3 kolumnami. W pierwszej {MENU_LEWE} i później {TEXT} etc.. i jak włączam index to wyświetla mi całą funkcję ale nad tabelą :/ czemu sad.gif
ActivePlayer
Funkcja right_menu ma zwracac wartosc a nie wyswietlać ją...
Strzałek
dodam jeszcze że funkcja parsująca wygląda tak:

  1. <?
  2. function pparse($handle)
  3. {
  4. if (!$this->loadfile($handle))
  5. {
  6. die(&#092;"Template->pparse(): Couldn't load template file for handle $handle\");
  7. }
  8.  
  9. // actually compile the template now.
  10. if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
  11. {
  12. // Actually compile the code now.
  13. $this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);
  14. }
  15.  
  16. // Run the compiled code.
  17. eval($this->compiled_code[$handle]);
  18. return true;
  19. }?>
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.