Код выше для Drupal 6.
Для Drupal 7 модуль flush-cache будет выглядеть следующим образом:
<?php
/**
* Implementation of hook_menu()
*/
function flush_cache_menu() {
$items = array();
$items['flush-cache'] = array(
'type' => MENU_NORMAL_ITEM,
'title' => t('Flush the cache'),
'description' => 'Flush all website caches to make sure it updates to relect '.
'your recent changes.',
'page callback' => 'flush_cache_custom_callback',
'access callback' => user_access('flush cache'),
);
return $items;
}
/**
* Implementation of hook_permission()
*/
function flush_cache_permission() {
return array(
'administer my module' => array(
'title' => t('flush cache module'),
'description' => t('Content admin flush cache.'),
),
);
}
/**
* Function that flushes the cache
*/
function flush_cache_custom_callback() {
drupal_flush_all_caches();
return 'Caches were flushed.';
}
Примечание: чтобы затем очистить его, перейдите по адресу:
sitename.com / флеш-кэш
Убедитесь, что вы даете им разрешение на странице разрешений. Очистите кэш один раз «нормальным» способом, если разрешение не появляется после включения модуля.
Это предпочтительно, если вы не хотите, чтобы ваш клиент получал доступ к меню администратора, но вы все еще хотите, чтобы они могли очищать кеш.