Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования.
Пример логики использования/создания элемента кеша
|
|
$cache_id = 'my_cache_element_name_cid'; if (($cache = cache_get($cache_id)) && REQUEST_TIME < $cache->expire) { // используем значение из кеша $data = $cache->data; } else { // формируем новое значение и данные для кеша ... $data = ....; cache_set($cache_id, $data, 'cache', REQUEST_TIME + 3600 * 12); // в примере время жизни данных - 12 часов } |
Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). В многочисленных примерах и копиях примеров в интернет, их обычно нет, что обычно приводит к постоянному вычислению переменной $data, т.е. кеш никогда не используется.
Drupal 7
Данная запись опубликована в 14.05.2019 15:50 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 6, 2021 г.
У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...
Читать
Март 20, 2019 г.
При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку.
Если форма находится далеко от места вывода ...
Читать
Март 22, 2021 г.
Проявляется как не прогружающиеся wysiwyg редактор (ckeditor, например) или элементы поля, обрабатываемые модулем media, при добавлении параграфа (entity модуля parapraphs). Это по-крайней мере два примера с которыми я лично сам сталкивался.
Характерно, ...
Читать
Февраль 4, 2021 г.
Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее.
Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения.
Небольшой пример ...
Читать