Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Warunki w plikach .tpl
Michael2318
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


Mam taką prostą klasę:

  1. <?php
  2. class template
  3. {
  4. public $dir = "templates/default/";
  5. public $file;
  6. public $tags;
  7.  
  8. public function __construct($file, $tags = array())
  9. {
  10. $this->file = $file;
  11. foreach($tags as $tag => $tagvalue)
  12. {
  13. $this->tags["{".$tag."}"] = $tagvalue;
  14. }
  15. }
  16.  
  17. public function tag($tags, $value = NULL)
  18. {
  19. if(!isset($value))
  20. {
  21. foreach($tags as $tag => $tagvalue)
  22. {
  23. $this->tags["{".$tag."}"] = $tagvalue;
  24. }
  25. }
  26. else
  27. {
  28. $this->tags["{".$tag."}"] = $tagvalue;
  29. }
  30. }
  31.  
  32. public function display()
  33. {
  34. $tmp = file_get_contents($this->dir.$this->file);
  35. $tmp = str_replace(array_keys($this->tags), array_values($this->tags), $tmp);
  36. $tmp = preg_replace("#\(\.(.*?)\.\)#", "", $tmp);
  37. echo $tmp;
  38. }
  39. }
  40. ?>



Wszystko leci do .tpl'ki w ten sposób:

  1. $szablon = new template('page_header.tpl');
  2. $szablon->tag(array(
  3. 'U_KEYWORDS' => 'opis',
  4. 'U_DESCRIPTION' => 'opis',
  5. 'U_BLOG_NAME' => 'test ?> Blog')
  6. );
  7. $szablon->display();


Jednak chciałbym, aby można było przypisać do tej tablicy, 'nazwę', czyli w ten sposób:

  1. $szablon->tag('moja_nazwa', array(


A w pliku .tpl odtwarzać to tak:

Kod
<!-- BEGIN moja_nazwa -->
moj kod html
<!-- END moja_nazwa -->


I nie mogę za cholerę nic sensownego wymyśleć, aby to ładnie działało ;/ Jakaś pomoc? Google przekopałem pod tym względem doszczętnie, ale tam nic nie ma na ten temat.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 13:30