Podstrony
|
telcocafeNa pocz±tku witam wszystkich.A teraz problem. Czyta³em ten artyku³ http://php.org.pl/artykuly/3/16 i nie moge sobie poradziæ z utworzeniem pliku templates.php stale jaki¶ b³±d mi wyskakuje. Mo¿e kto¶ mi go napisaæ poprawnie. A o to co mi wysz³o: <?php //******************************************************************** //*     miniTemplate v. 1.2 //* Prosta klasa obs³ugi szablonów oparta na wzorze Splatch'a (splatch@wp.pl) //******************************************************************** class template {   var $template = array();   var $files = array();   function template($dir)   {     if($dir == "")     {       $this -> set_root("");     }     else     {       $this -> set_root($dir);     }     return true;   }   function set_root($dir)   {   if($dir != "")   {     if(!is_dir($dir))     {         die("Template: nie mozna znalesc sciezki do szablonu.");     }     else     {       $this -> root = $dir;     }   }  }  function set_files($files)   {     if(!is_array($files))     {       die("Template: funkcja set_files przyjmuje tylko tablice!");     }     else     {       while(list($tpl_id,$file) = @each($files))       {         $this -> files[$tpl_id] = $this -> root ."". $file;             }     }   }    function assign_vars($tpl_id,$values)   {     if(!is_array($values))     {       die("Template: funkcja assign_vars() przyjmuje wartsci tylko w tablicy.");     }     else     {       reset($values);       while(list($tag,$value) = @each($values))        {         $this -> template[$tpl_id][tag][$tag] = $value;        }      }     return true;   }   function assign_var($tpl_id,$tag, $value)   {      if(empty($tag))      {        die("Template: w funkcji assign_var() musisz podac nazwe znacznika!");      }      $this -> template[$tpl_id][tag][$tag] = $value;      return true;   }   function clear($tpl_id)   {     unset($this -> template[$tpl_id]);     unset($this -> template[$tpl_id][tag]);     unset($this -> template[$tpl_id][tag][]);   }   function compile($tpl_id,$code)   {      while(list($key, $value) = @each($this -> template[$tpl_id][tag]))     {        $tag = '{'.$key.'}';        if(!strstr($code, $tag))        {           die("Template: nie mozna znalesc znacznika $tag w pliku");        }        $code = str_replace($tag, $value, $code);      }   return $code;   }   function pparse($tpl_id)   {      if(empty($this -> files[$tpl_id]))      {        die("Template: tablica <i>files</i> dla wartosci <i>$tpl_id</i> jest pusta.");      }      $file = $this -> files[$tpl_id];      $code = @implode("\n",@file($file));      $gcode = $this-> compile($tpl_id,$code);     $gcode = str_replace("\n\n", $gcode);      return($gcode);   }    function parse($tpl_id)   {     print($this -> pparse($tpl_id));   } } ?> I pokazuje mi ,¿e z linijk± unset($this -> template[$tpl_id][tag][]); (linijka 87) Co¶ jest nie tak tylko co ? Prosze o pomoc albo napisanie tego pliku z góry thx U¿ytkownik dEz17 edytowa³ ten post 22 czerwiec 2005, 16:43 chyba COS ci pokazuje co?:> Moze powiedz jaki blad? Czytaæ umiem to odrazu napisa³em ze w unset($this -> template[$tpl_id][tag][]); (linijka 87) co ? :] Czytaæ umiem to odrazu napisa³em ze w co ? :] aha dok³adnie NIerozumiem tej funkcji: function clear($tpl_id) { unset($this -> template[$tpl_id]); unset($this -> template[$tpl_id][tag]); unset($this -> template[$tpl_id][tag][]); } Nie powinno byæ w odwrotnej kolejno¶ci? I co oznaczaj± puste nawiasy kwadratowe? bo szczerze mówi±c, to pierwszy raz widzê taki zapis przy unset() (jedynie kojarzy mi siê to z c++.) Nie no dobra niby ju¿ mi sie uda³o chce kto¶ zobaczyc jak to teraz wygl±da :?: Poda³by¶ chocia¿ przyczynê i rozwi±zanie problemu. Nie no dobra niby ju¿ mi sie uda³o chce kto¶ zobaczyc jak to teraz wygl±da :?: Dobra juz jestem sorry ze tak pó¼no. Rozwi±zanie to pier**** jakis glupi parser i wzi±¶æ pobawiæ sie smartami taaa to jest odpowied¼ dla ciekawszych co sie nie znaj± smarty gotowe do u¿ytku na licencji GPL znajdziecie tutaj http://smarty.php.net |
|||
Sitedesign by AltusUmbrae. |