Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Cache-Gruppen

Sie können auch eine feinere Gruppierung vornehmen, indem Sie 'cache_id'-Gruppen erzeugen. Dies erreichen Sie, indem Sie jede Cache-Untergruppe durch ein '|'-Zeichen (pipe) in der 'cache_id' abtrennen. Sie können so viele Untergruppen erstellen, wie Sie möchten.

Man kann Cache-Gruppen wie eine Verzeichnishierarchie betrachten. Zum Beispiel kann man sich die Cache-Gruppe "a|b|c" als eine Verzeichnisstruktur "/a/b/c" angesehen weden. clear_cache(null, 'a|b|c') würde die Dateien '/a/b/c/*' löschen, clear_cache(null, 'a|b') wäre das Löschen der Dateien '/a/b/*'. Wenn eine Compile-Id angegeben wurde, wie clear_cache(null, 'a|b', 'foo'), dann wird die Compile-Id so behandelt, als sei sie an die Cache-Gruppe angehängt, also wie die Cache-Gruppe '/a/b/foo'. Wenn ein Templatename angegeben wurde, also wie bei clear_cache('foo.tpl', 'a|b|c'), dann wir Smarty auch nur '/a/b/c/foo.tpl' löschen. Es ist NICHT möglich, ein Template unterhalb mehrerer Cache-Gruppen (also '/a/b/*/foo.tpl') zu löschen. Das Gruppieren der Cache-Gruppen funktioniert nur von links nach rechts. Man muss die Templates, die man als eine Gruppe löschen möchte alle unterhalb einer einzigen Gruppenhierarchy anordnen, um sie als eine Gruppe löschen zu können.

Cache-Gruppen dürfen nicht mit der Hierarchie des Template-Verzeichnisses verwechselt werden. Die Cache-Gruppen wissen nicht, wie die Templatehierarchie strukturiert ist. Wenn man z. B. eine Templatestruktur wir "themes/blue/index.tpl" hat und man möchte alle Dateien für des "blue"-Theme löschen, dann muss man händisch eine Cache-Gruppe wie display("themes/blue/index.tpl", "themes|blue") und kann diese dann mit clear_cache(null,"themes|blue") löschen.

Example 14.9. 'cache_id'-Gruppen


<?php
require('Smarty.class.php');
$smarty = new Smarty;

$smarty->caching = true;

// leere alle Caches welche 'sports|basketball' als erste zwei 'cache_id'-Gruppen enthalten
$smarty->clear_cache(null, 'sports|basketball');

// leere alle Caches welche 'sports' als erste 'cache_id'-Gruppe haben. Dies schliesst
// 'sports|basketball', oder 'sports|(anything)|(anything)|(anything)|...' ein
$smarty->clear_cache(null, 'sports');

$smarty->display('index.tpl', 'sports|basketball');
?>

  

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors