0

私は一日中 drupal 7 の hook_menu と戦って無駄にしています。数日前は、新しいモジュールや新しいメニュー エントリなどを作成するときにすべてが機能していました。

私はcronを開発しており、1つのパラメーターに依存し、出力するファイルを生成するか、他のファイル(入力)を読み取ります。

cron をテストするための簡単な URL を定義しようとしていますが、...lec_profile_cron を brosers に入れると機能しますが、....companies_cron/1 または単に companies_cron o 他の名前 y put at $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
    }
}

たぶんばかげたことだったかもしれませんが、私は見つけることができません...

アドバイスをしてください。

4

1 に答える 1

0

ドキュメントによると、これはうまくいくと思います。$items の引数に th %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 に答える