hook_menu не работает для меня, ни пример helloworld
Я трачу весь день на борьбу с drupal 7 hook_menu, несколько дней назад все работало, когда я создавал новые модули, новые пункты меню и т. Д.
Я разрабатываю cron, зависит от 1 параметра, создаю файл для вывода или читаю другой файл (вход).
Я пытаюсь определить простой URL-адрес для проверки cron, и когда я помещаю...lec_profile_cron в броузеры, это работает, но если попробовать....companies_cron/1 или просто companies_cron или другое имя, которое вы ставите в $items['route'], это не работает.
Я пытался очистить кеш, memcached, использовать drush rr, все и не понимаю, что происходит.
Я пробовал много комбинаций и примеров, таких как опция меню helloword_hello в новом модуле, который я создаю под названием helloworld, и его результаты 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
}
}
Может быть, это было глупо, но я не могу найти...
Ты в совете.
1 ответ
Согласно документации я думаю, что это будет работать лучше. Вам не нужен th % для аргументов в ваших $items, и я также думаю, что вы пропустили запятую в конце "аргументов доступа", которую я добавил, и также что-то возвращаете.
$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
}
};