Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> templates jak w phpbb
vtuner
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


Jak prosto zrobić aby sam kod funkcji itp. będą w samym pliku test.php natomiast caly wyglad w test.tpl w phpbb jest cos takiego:
  1. <?php
  2. $template->set_filenames(array(
  3. 'body' => 'test.tpl')
  4. );
  5. ?>


i potem odpowiednie odwolania do roznych czesci strony
  1. <?php
  2. $template->assign_vars(array(
  3. 'MARKETCONFIGINFO' => "$marketinfo",
  4. 'MARKETTABLETITLE' => "Stwórz lub Zmodyfikuj swój Market",
  5. 'S_CONFIG_ACTION' => append_sid('admin_shop.' . $phpEx),
  6. 'MARKETTITLE' => "Edycja Marketu",
  7. 'MARKETGENERAL' => $lang['conf_config'],
  8. 'MARKETSETTINGS' => $lang['conf_conf'],
  9. 'MARKETCOMMISIONS' => $lang['commissions'],
  10. 'MARKETEXPLAIN' => "Sekcja ta służy do tworzenia lub modyfikowania powstałego Marketu.",
  11. 'MARKETGLASS' => $board_config['market_glass'])
  12. );
  13. ?>


patrzylem na te wszytkie funcje assign_vars i set_filenames ale one maja odwołania w całym kodzie forum. Czy można to jakość w prostrzy sposob zrobic??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vtuner
post
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


jak chcesz skorzystac z prostego systemu szablonow to masz.

templates.php
  1. <?php
  2. class template
  3. {
  4.  var $unparsed = array(0 => '');
  5.  var $parsed = '';
  6.  var $blocks = array('default' => '');
  7.  function load($file)
  8.  {
  9. $this -> unparsed = @file($file.'.tpl');
  10.  }
  11.  function parse()
  12.  {
  13. $this -> parsed = "";
  14. $cnt = count($this -> unparsed);
  15. for($i = 0; $i <= $cnt; $i++)
  16. {
  17.  $text = $this -> unparsed[$i];
  18.  $found = array();
  19.  if(preg_match_all("#{(.+?)}#is", $text, $found))
  20.  {
  21. foreach($found[1] as $block)
  22. {
  23.  $block_names[] = '{'.$block.'}';
  24.  $block_values[] = &$this -> blocks[$block];
  25. }
  26. $text = str_replace($block_names, $block_values, $text);
  27.  }
  28.  $this -> parsed .= $text;
  29. }
  30.  }
  31. }
  32.  
  33. ?>


index.php(przykladowy) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
  1. <?php
  2.  
  3. include('template.php');
  4. $tpl = new template;
  5. $tpl -> load("index_body"); // Rozszerzenie dodawane automatycznie
  6. $tpl -> blocks = array(
  7.  "JEDEN" => date(Y-m-d H:i),
  8.  "DWA" => "Szablonów",
  9. );
  10. $tpl -> parse();
  11. echo $tpl -> parsed;
  12.  
  13. ?>


index_body.tpl (przykladowa nazwa szablonu podana w indexie)
  1. <table align="center">
  2. <tr>
  3. <td>Udało ci się o {JEDEN} w systemie {DWA}</td>
  4. </tr>


POZDRAWIAM
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 6.10.2025 - 17:37