[erledigt]template system

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

[erledigt]template system

Beitrag von Ambience »

Hallo.
ich habe ein problem:

ich schreibe gerade ein neues template system (inspiration von phpbb).

so funktioniert es:

Code: Alles auswählen

$template->set_filenames(array(
  'color' => 'select_color.html',
  'body' => 'posting_body.html'
));

$color_table = $template->display('color', FALSE);
$template->assign('COLOR_TABLE', $color_table);
nun bei dem letzen $template->assign soll die ausgabe in der reservierten variable sein. also nicht direkt ausgegeben werden, sondern erst wenn man: {COLOR_TABLE} im template hat. und auch nur dann an dieser stelle im template.
nun gibt es mir irgendwie immer nur eine 1 anstatt den inhalt der datei zurück. könnte mir da evtl jemand helfen?...

die funktion:

Code: Alles auswählen

 private function compile($handle, $echo) 
  { 
    global $phpEx;
    
    require_once('unicode.' . $phpEx);
    
    $code = file($this->root . $this->files[$handle]); 
    $code = implode('', $code);
    
    //
    // replace \ with \\ and then ' with \'
    //    
    $code = str_replace('\\', '\\\\', $code);
		$code = str_replace('\'', '\\\'', $code);
    
    $code = make_unicode($code);
        
    // 
    // parse single assigns 
    // 
    $code = preg_replace('#\{([a-z0-9\-_]*?)\}#is', '\' . ( ( isset($this->assigns[\'\1\']) ) ? $this->assigns[\'\1\'] : \'\' ) . \'', $code);

    if ($echo == false)
    {
      return $code;
    }
    else
    {
      eval("echo '$code';");   
      return true;
    }
  }
danke
Antworten

Zurück zu „Coding & Technik“