2014-01-02 5 views
0

я трачу весь день борьба с Друпал 7 hook_menu, дней назад все было работать, когда я создавать новые модули, новые пункты меню и т.д.hook_menu не работает для меня, ни пример HelloWorld

Im разработки хрон, зависит от 1, генерировать файл для вывода или читать другой файл (ввод).

Я пытаюсь определить простой URL-адрес для проверки cron, и когда я ставлю ... lec_profile_cron в ролики, он работает, но если попробуйте ... company_cron/1 или просто company_cron o другое имя y, $ items ['route'], его действие не работает.

Я пытался очистить кеш, memcached, использовать drush rr, все и не понимаю, что происходит.

Я пробовал множество комбинаций и примеров, таких как опция меню helloword_hello в новом модуле i create called 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 
    } 
} 

Может быть, было глупо, но я не могу найти ...

Тая в совет.

ответ

0

Согласно документации, я думаю, что это будет работать лучше. Вам не нужен th% out для args в ваших $ 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 
} 
}; 
+0

У меня есть возвратный $ пунктов IM моего кода, я скопировать только что элементы [ «companies_cron»] определение, а не запятая не имеет никакого смысла, на самом деле лучше Dont писать запятые, если там не больше позиций массива. И вы простите близкое) до возвращения. На самом деле ваш ответ неправильный, но спасибо за ваше время. – ruudy

+0

На самом деле, я прошу отличаться. Кроме того, я пытался помочь. Не сдавайте тест, как по собственному признанию, ваш код не был синтаксически правильным в любом случае. Коды-трейлы считаются лучшими в массивах в Drupal многими. Drupal имеет множество массивов, во многих из этих массивов порядок не столь значителен, как имена ключей, поэтому кто-то может быстро отсортировать длинный массив по его ключам и не беспокоиться, если последняя строка имеет запятую или нет. Некоторая полезная информация https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7 – Sibbo

Смежные вопросы