0

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

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

我试图定义一个简单的 url 来测试 cron,当我将 ...lec_profile_cron 放在 brosers 中时,它可以工作,但是如果尝试 ....companies_cron/1 或只是 company_cron o 其他名称 y 放在 $items['路线'],它不起作用。

我试图清理缓存,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
    }
}

也许是一个愚蠢的事情,但我找不到......

建议。

4

1 回答 1

0

根据文档,我认为这会更好。您的 $items 中的 args 不需要 %out,我还认为您错过了我添加的“访问参数”上的尾随逗号,并且还返回了一些东西。

$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
}
};
于 2014-01-03T10:13:47.970 回答