Вы можете запустить hook_menu_alter в своем пользовательском модуле, и оттуда вы можете делать с этим путем все, что захотите (таксономия / термин /%).
функция обратного вызова для этих путей.Например:
mysql>
select * from menu_router where path like '%taxonomy/term/%';
Это говорит о том, что обратный вызов страницы равен taxonomy_term_page .Вам не нужно копировать весь этот код в свою пользовательскую функцию, все, что вам нужно сделать, это примерно так:
function mymodule_menu_alter(&$items) {
// Route taxonomy/term/% to my custom caching function.
$items['taxonomy/term/%']['page callback'] = 'mymodule_cached_taxonomy_term_page';
}
function mymodule_cached_taxonomy_term_page($term) {
// Retrieve from persistent cache.
$cache = cache_get('taxonomy_term_'. $term);
// If data hasn't expired from cache.
if(!empty($cache->data) && ($cache->created < $cache->expire)) {
return $cache->data;
} else {
// Else rebuild the cache.
$term_page = taxonomy_term_page($term);
cache_set('taxonomy_term_'. $term, $term_page, 'cache_page', strtotime('+30 minute'));
return $term_page;
}
}
Если вы пойдете по этому пути, вы захотите ознакомиться с cache_get и cache_set .Возможно, вы захотите также проверить отличное кэширование Lullabot article .
Вы можете использовать тот же подход для forum /%, node и всего остального, что вы хотите.Удачного кеширования!