Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll

Как работать с кэшем

22/02/2025, by Гость (не проверено)
Форумы

Добрый день создаю модуль и возникли проблемы с кэшем(с ним сталкиваюсь впервые).имееться $xml я его распарсил и все необходимое закинул в переменную $res.(или проще закинуть все в блок и кэшировать уже блок?)

Сейчас требуется закинуть его в кэш (обновлять это раз в 6 часов) и вытаскивать это при обращении.

Знаю что требуется искать в 

cache_get
cache_set
hook_cron

Но чего то не догоняю как закинуть.

Как я понял данный код закиывает в кэш, но куда столько переменных... куда вставить мою переменную?

cache_set($cid, $data, $bin = 'cache', $expire ='CACHE_PERMANENT')

Вытащить из кэша 

cache_get ($ CID, $ bin = "cache")

а для обновления как использовать hook_cron не представляю.

Подскажите мне насчет моей проблемы. Заранее спасибо.


Я возможно ошибаюсь, но друпал кеширует все блоки по умолчанию, если не указано, что его кешировать не нужно в настройках блока. Посмотрите вот этот модуль block cache alter, возможно он вам поможет:

http://drupal.org/project/blockcache_alter

Насчет того, что можно и без модуля обойтись (это в описание к модулю написано):

...
$cache = cache_get('pref_pref_leader', 'cache_block');
// Return cache if possible.
if (!empty($cache) && isset($cache->data) && !empty($cache->data)) {
  return $cache->data;
}

// no cache, generate the output.
...
$content = ...;
$block = array(
  'subject' => 'Семерка лучших',
  'content' => $content,
);
// Cache for 30 mins.
cache_set('pref_pref_leader', $block 'cache_block', time() + 1800);
return $block;
...

Источник: http://drupal.stackexchange.com/questions/6090/drupal-7-block-caching