0.11 verarbeitet Smarty nicht korrekt
Posted: Wed Nov 16, 2005 6:17 pm
Wenn in einem Maintemplate z.B. über Smartyplugins veränderte Inhalte kommen, dann arbeitet die CMS nicht korrekt - die Inhalte aktualisieren sich nicht, weil das Maintemplate nicht verändert wird und somit auf alte Inhalte verweist, obwohl Smarty die Inhalte der Plugins neu compilert und somit aktualisiert hat.
Abhilfe - die CMS zwingen, das Maintemplate nue zu compilieren - die index.php ändern.
Damit wird das Maintemplate zwangsläufig neu compiliert.
Diverse NOCACHE-Fehler sind bei mir schlagartig verschwunden.
Der Code ist ein Auszug aus der BETA 5 . Wer genauer hinsieht, stellt fest, dass eine LOG-DATEI permanent mitläuft - bei mir hat sie schon ein Volumen von 20 MB. Man kann sie löschen, dann legt sie sich neu an.
Wer das nicht weiss kommt beim Test auf einem beschränkten Webspace arge Probleme.
Abhilfe - die CMS zwingen, das Maintemplate nue zu compilieren - die index.php ändern.
Code: Select all
$html = "";
//DIE FOLGENDE ZEILE IST NEU
$smarty->force_compile = true;
if (isset($_GET["print"]))
{
($smarty->is_cached('print:'.$page, '', $pageinfo->template_id)?$cached="":$cached="not ");
$log->debug('Fetching: print:' . $pageinfo->template_id);
$html = $smarty->fetch('print:'.$page, '', $pageinfo->template_id) . "\n";
}
else
{
($smarty->is_cached('template:'.$pageinfo->template_id)?$cached="":$cached="not ");
#If this is a case where a module doesn't want a template to be shown, just disable caching
if (isset($_GET['id']) && isset($_GET[$_GET['id'].'showtemplate']) && $_GET[$_GET['id'].'showtemplate'] == 'false')
{
$log->debug('Fetching: template:notemplate');
$html = $smarty->fetch('template:notemplate') . "\n";
}
else
{
$log->debug('Fetching: template:' . $pageinfo->template_id);
$html = $smarty->fetch('template:'.$pageinfo->template_id) . "\n";
}
}
if (get_site_preference('enablecustom404') == "0" && (!$config['debug']))
{
set_error_handler($old_error_handler);
}
//DIE FOLGENDE ZEILE IST NEU
$smarty->force_compile = false;
Diverse NOCACHE-Fehler sind bei mir schlagartig verschwunden.
Der Code ist ein Auszug aus der BETA 5 . Wer genauer hinsieht, stellt fest, dass eine LOG-DATEI permanent mitläuft - bei mir hat sie schon ein Volumen von 20 MB. Man kann sie löschen, dann legt sie sich neu an.
Wer das nicht weiss kommt beim Test auf einem beschränkten Webspace arge Probleme.