我正在将基于AJAX的复杂解决方案作为模块构建到Drupal 7站点中。我决定不编写一个独立的PHP脚本来响应我的jQUERY ajax调用,而是在我的drupal模块中实现代码。
我的问题是在jQUERY和DRUPAL :e之间建立连接--响应单击事件的函数.
我使用了以下代码:
function staff_filter_menu(){
$items = array();
$items['staff/filtering/results/%'] = array(
'page callback' => 'staff_filter_function',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
$items['staff/filtering/saveclipboard'] = array(
'page callback' => 'staff_filter_savetoDB',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
drupal_flush_all_caches();
return $items;
}但是,当我停止、卸载和重新启动模块时,它就停止工作了。这似乎不是一个可靠的策略。
发布于 2012-02-29 14:21:24
drupal_flush_all_caches()这样做:
清空缓存表,重新构建菜单缓存和主题注册,并调用钩子,以便其他模块的缓存数据也可以被清除。
当重新构建菜单时,hook_menu()是called...basically --通过将drupal_flush_all_caches()放在当前的位置而导致无限循环。
发布于 2012-07-11 15:17:29
您仍在创建一个循环,其中正在调用菜单项,然后由缓存清除。如果需要的话,应该首先调用它,但是如果您在模块的hook_menu()中需要这样做的话,还会出现另一个问题。
您应该删除它,并确保您的表单使用固定数据调用和返回数据。
https://stackoverflow.com/questions/9499873
复制相似问题