ЗДЕСЬ ВЫ ИДЕТЕ:
Мне пришлось деинсталлировать модуль "devel" (он был несовместим со специальными пунктами меню, которые мне были нужны хуже), поэтому я сделал свой собственный.
Везде, где вы видите MODULENAME, замените его именем вашего модуля.
ШАГ 1:
Добавьте к любому модулю (желательно к одному из ваших пользовательских модулей) в HOOK_MENU перед строкой «return $ items»:
// short cut for flushing the caches:
$items['flush-cache'] = array(
'type' => MENU_CALLBACK,
'title' => t('Flush the cache'),
'description' => 'MODULENAME Custom Cache Flush',
'page callback' => 'MODULENAME_flush_cache',
'access callback' => TRUE,
);
ШАГ 2:
Теперь, в том же файле модуля, где он не «внутри» какой-либо другой функции, добавьте:
/** Page callback **/
function MODULENAME_flush_cache() {
drupal_flush_all_caches();
return 'Caches were flushed.';
}
Теперь вы можете просто перейти по URL-адресу "/ flush-cache" на своем сайте, чтобы очистить кеш. (После того, как вы очистите кэш в последний раз по-старому.)
ШАГ 3:
Если вы хотите, чтобы ДЕЙСТВИТЕЛЬНО это было удобно, добавьте следующее в файл page.tpl.php. Вы можете поместить его в любом месте между и . ПРИМЕЧАНИЕ: $ my_is_test - это переменная, которую я использую, она ИСТИНА в моей тестовой системе и ЛОЖЬ в производстве. Если у вас нет чего-то подобного, замените его на ИСТИНА или ЛОЖЬ, чтобы включить или выключить:
<?php if ($my_is_test): ?>
<a style="text-align:left; position:absolute; right:2px; top:20px;" href="<?=$base_path?>flush-cache" onclick="this.innerHTML = '<b><blink><big>Wait...</big></blink></b>';">flush</a>
<? endif; ?>
И вуаля! В верхнем правом углу каждой страницы, на которую вы можете нажать, есть ссылка «очистить». Не стесняйтесь менять «правую» и «верхнюю» суммы (или «правую» на «левую» или «верхнюю» на «нижнюю», чтобы разместить ее там, где вам нравится. Позиционирование ссылок работает только в современных браузерах, но только для вас, так что это не должно быть проблемой, верно?