кэш очистить все(), похоже, не работает


У меня есть блок с несколькими полями CCK. В этом блоке у меня есть ссылка на действие, которое изменяет значение полей в этом блоке.

Код следующий:

db_query("UPDATE {content_type_event} SET field_event_places_amount_value = field_event_places_amount_value - 1 WHERE nid=%d", $nid);
cache_clear_all();  

После перезагрузки старое значение все еще отображается. Мне нужно вручную очистить кэш, чтобы увидеть текущее значение.

Author: kiamlaluno, 2011-05-09

2 answers

Проверьте, какой кэш является релевантным (например, cache_content, cache_views_data) для этого содержимого, и явно очистите этот кэш. Если вы вызываете cache_clear_all() без параметров, вы "только" очищаете страницу и блокируете кэш. Взгляните на код cache_clear_all(), чтобы увидеть подробности.

 7
Author: nonsenz, 2011-05-10 05:37:29

Так как это поле CCK, мне нужно использовать content_clear_type_cache()

 1
Author: Codium, 2011-06-15 20:25:30