Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Инструменты разработчика

Ответ
 
Опции темы Опции просмотра
Старый 14.07.2013, 17:33   #1
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
Question Clear useCacheHash по его значению?

Добрый день...

Как очистить кэш через API-TYPO3 для плагина с useCacheHash=1?

Со страницей можно сделать так:
PHP код:

$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/cla...d3d37bb4db6df5
__________________
Иван Литовченко
http://iv-litovchenko.ru/
Ивано++ вне форума   Ответить с цитированием
Старый 14.07.2013, 17:49   #2
Ивано++
Senior Member
 
Аватар для Ивано++
 
Регистрация: 18.01.2013
Адрес: Russia , Moscow
Сообщений: 796
По умолчанию

Есть еще одна функцию - которую нашел - clearSpecificCache:
http://typo3.org/documentation/snippets/sd/9/

Но судя по всему она не подходит для новых версий typo3 (4.7.x)...
Т.к. там еще старые версии таблиц: cache_pages - а в новых это cf_cache_pages


Что то мне все меньше и меньше нравиться EXTBASE - Хотя я его даже и не использую....
Как вот такое с ним сделать?

PHP код:
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/...nsions-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.
__________________
Иван Литовченко
http://iv-litovchenko.ru/

Последний раз редактировалось Ивано++; 14.07.2013 в 18:08
Ивано++ вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Clear cache at particular time Gleb Общие вопросы 1 18.02.2005 14:43


Часовой пояс GMT +4, время: 03:44.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория