is_cached (gecachte Version existiert) <methodsynopsis> <type>bool</type><methodname>is_cached</methodname> <methodparam><type>string</type><parameter>template</parameter></methodparam> <methodparam choice="opt"><type>string</type><parameter>cache_id</parameter></methodparam> <methodparam choice="opt"><type>string</type><parameter>compile_id</parameter></methodparam> </methodsynopsis> <para> Gibt 'true' zurück, wenn ein gültiger Cache für das angegebene Template existiert. Dies funktioniert nur, wenn <link linkend="variable.caching">caching</link> eingeschaltet ist. </para> <example> <title>is_cached caching = true; if(!$smarty->is_cached("index.tpl")) { // Datenbank-Abfragen, Variablen zuweisen... } $smarty->display("index.tpl"); ?> ]]> Als optionalen zweiten Parameter können Sie die 'cache_id' übergeben, falls Sie mehrere Caches für ein Template verwenden. 'is_cached' bei mehreren Template-Caches caching = true; if(!$smarty->is_cached("index.tpl", "FrontPage")) { // Datenbank Abfragen, Variablen zuweisen... } $smarty->display("index.tpl", "FrontPage"); ?> ]]> Technische Bemerkung Wenn is_cached true zurück gibt, wird die Ausgabe geladen. Alle weiteren Aufrufe von display() oder fetch() werden aus diesem Cache bedient. Dies verhindert eine Race Condition, die auftauchen könnte, wenn ein anderes Script das besagte Template aus dem Cache löscht. Das bedeutet natürlich auch, dass clear_cache() und andere Cache spezifische Einstellungen keine Auswirkungen haben, nachdem is_cached true zurückgegeben hat.