hook_menu不适合我,也不是helloworld的例子

时间:2014-01-02 17:04:09

标签: drupal-7 cron hook-menu

我浪费了一整天与drupal 7 hook_menu的战斗,几天前我在创建新模块,新菜单条目等时都工作了。

我正在开发一个cron,取决于1个参数,它生成一个文件来输出,或者读取其他文件(输入)。

我试图定义一个简单的网址来测试cron,当我把... lec_profile_cron放在更加明亮的时候,它可以工作,但如果尝试.... companies_cron / 1或者只是公司_cron o其他名称y放在$ items ['route'],它不起作用。

我试图清理缓存,memcached,使用drush rr,所有并且不明白发生了什么。

我尝试了很多组合和示例,例如我创建的名为helloworld的新模块中的helloword_hello菜单选项,并且找不到返回404。

// CRON TEST
$items['companies_cron/%out'] = array(
    'title' => t('Test cron'),
    'page callback' => 'lec_profile_cron',
    'page arguments' => array(1),
    'access arguments' => array('administer lec profile configuration')
);

function lec_profile_cron($out)
{
    // CRON OUT
    if ($out == 1) {
        //do stuff
    } else {
        //CRON IN
    }
}

也许是一件蠢事,但我找不到......

Ty in advice。

1 个答案:

答案 0 :(得分:0)

根据文档,我认为这会更好。你不需要你的$ items中的args,我也认为你错过了我已经添加的“访问参数”的尾随逗号,并且还返回了一些内容。

$items['companies_cron'] = array(
'title' => t('Test cron'),
'page callback' => 'lec_profile_cron',
'page arguments' => array(1),
'access arguments' => array('administer lec profile configuration'),
return $items;

);

function lec_profile_cron($out = 0){
// If companies_cron/ is called, $out takes default value of 0
// If companies_cron/1 is called, $out value will be 1
// To pass multiple args, like companies_cron/1/2, you would require further params with defaults like $out = 0, $in = 0 ...

// CRON OUT
if ($out == 1) {
    //do stuff
} else {
    //CRON IN
}
};