Добрый день...
Как очистить кэш через API-TYPO3 для плагина с useCacheHash=1?
Со страницей можно сделать так:
$tce = t3lib_div::makeInstance('t3lib_TCEmain');
$tce->clear_cacheCmd('all');
//или
$page_id_intval = intval( $page_id);
$tce->clear_cacheCmd($page_id_intval);
А вот как быть с useCacheHash?:)
Не могу найти такой комманды:
http://doc-typo3.ameos.com/4.1.0/classt3lib__TCEmain.html#72b7b0946a9a5ed2fad3d37bb 4db6df5
Есть еще одна функцию - которую нашел - clearSpecificCache:
http://typo3.org/documentation/snippets/sd/9/
Но судя по всему она не подходит для новых версий typo3 (4.7.x)...
Т.к. там еще старые версии таблиц: cache_pages - а в новых это cf_cache_pages
Что то мне все меньше и меньше нравиться EXTBASE - Хотя я его даже и не использую....
Как вот такое с ним сделать?
function clearSpecificCache($pid, $cHash=false) {
if(is_array($pid)) {
$GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pages', 'page_id IN (' . implode(',', $pid) . ')');
$GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pagesection', 'page_id IN (' . implode(',', $pid) .')');
} else {
$addWhere = $cHash ? ' and cHash = "' . $cHash . '"' : '';
$GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pages', 'page_id = ' . $pid . $addWhere);
$GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pagesection', 'page_id = ' . $pid . $addWhere);
}
}
И это 2008 год.
Вот тут что то еще нашел:
http://blog.tolleiv.de/2011/12/tagging-page-caches/
http://blog.snowflake.ch/2012/12/31/typo3-caching-framework-in-eigenen-extensions-nutzen/
Funktionen
Der eigene Cache kann nun benutzt werden und bietet folgende Funktionen:
has($identifier) - Überprüft, ob ein Eintrag mit dem übergebenen Identifier vorhanden ist.
get($identifier) - Gibt den gewünschten Eintrag oder NULL, falls kein Eintrag vorhanden ist, zurück.
getByTag($tag) - Gibt alle Einträge mit dem übergebenen Tag zurück.
remove($identifier) - Entfernt den gewünschten Cache Eintrag.
flush() - Entfernt alle Cache Einträge.
flushByTag($tag) - Entfernt alle Einträge mit dem übergebenen Tag.
set($identifier, $data, $tags = array(), $lifetime = NULL) - Schreibt einen Eintrag in den Cache. Lifetime wird in Sekunden angegeben. Bei NULL wird der default genommen, 0 heisst unendlich.
collectGarbage() - Startet den Garbage Collector.
getBackend() - Gibt das Cache Backend des aktuellen Caches zurück.
getIdentifier() - Gibt den Identifier dieses Caches zurück.
isValidEntryIdentifier($identifier) - Überprüft, ob ein Identifier Gültig ist und gibt true, beziehungsweise false zurück.
isValidTag($tag) - Überprüft, ob ein Tag valid ist und gibt true oder false zurück.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot