Witam .
Mam problem z parserem szablonów OPT.
Mianowicie:
Nieprawidłowo pobiera mi on dane z pliku tekstowego. Wyświetla jedynie pierwszy znak każdego rekordu i nie mam pojęcia dlaczego tak się dzieje... Nie mam też zbyt wiele czasu na analizę samej klasy. Przeczytałem jedynie ogólne informacje n.t. specyfikacji...

Mój kod wygląda następująco :

plik: test_01.php

  1. <?php
  2. require('../lib/opt.class.php');
  3.  
  4. $config = array(
  5. 'root' => './templates/',
  6. 'cache' => './cache/',
  7. 'cache_disabled' => 0,
  8. 'show_warnings' => 0,
  9. 'show_source' => 0,
  10. 'not_found_errors' => OPT_NOT_FOUND_ERROR
  11. );
  12.  
  13. $tpl = new opt_template;
  14. $tpl -> conf_load_array($config);
  15. $tpl -> init();
  16. $data = array();
  17. $data = file('test_01.txt');
  18. $data_size = count($data);
  19. sort($data);
  20. for($i = 0; $i <= $data_size; $i++){
  21.  
  22. $cat_inf = explode(&#092;"<~>\", \"$data[$i]\");
  23.  
  24. $data[$i]['0'] = &#092;"$cat_inf[0]\";
  25. $data[$i]['1'] = &#092;"$cat_inf[1]\";
  26. $data[$i]['2'] = &#092;"$cat_inf[2]\";
  27. $data[$i]['3'] = &#092;"$cat_inf[3]\";
  28. $data[$i]['4'] = &#092;"$cat_inf[4]\";
  29.  
  30. }  
  31.  
  32. $tpl -> assign('data', $data);
  33.  
  34. if(!$tpl -> parse('test_01.tpl')){
  35. echo 'Blad kompilacji!';
  36. }
  37.  
  38. $tpl -> shutdown();
  39. ?>


plik: templates/test_01.tpl

  1. <title>Dane</title>
  2. </head>
  3.  
  4. <tr><td>Dane:</td></tr>
  5. {section=data}
  6. <tr><td>{$data.0}</td><td>{$data.1}</td><td>{$data.2}</td><td>{$data.3}</td><td>{$data.4}</td></tr>
  7. {sectionelse}
  8. <tr><td>Brak rekordów!</td></tr>
  9. {/section}
  10. </body>
  11. </html>


plik: test_01.txt

  1. 1<~>name_01<~>description<~>info<~>jakiestam_dane01
  2. 2<~>name_02<~>description<~>info<~>jakiestam_dane02
  3. 3<~>name_03<~>description<~>info<~>jakiestam_dane03


Będę wdzięczny za pomoc smile.gif .

Pozdrawiam.