Почему URL не зарегистрирован? (Drupal 6.x) - PullRequest
1 голос
/ 22 мая 2010

Я использую hook_menu для регистрации нового URL, чтобы при обращении к этому URL вернулись некоторые данные в функцию ajax. Как следует из названия, этот URL не зарегистрирован. Откуда я это знаю? Я попытался набрать это в адресной строке, но, drupal, вернуть только основной шаблон, а не строку тестов, которую я создал. Я уверен, что мой модуль работает для ошибок php, если я намеренно пишу неправильный синтаксис. И да, я очищаю кеш всякий раз, когда делаю изменения. Вот код -

function test_menu() {
$my_form['test'] = array(
    'title' => 'Test address',
    'page callback' => 'test',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
);

return $my_form;

}

функциональный тест () { $ a = "testing";

return $a;      

}

1 Ответ

1 голос
/ 22 мая 2010

Drupal возвращает переменную, но ваш код не предоставляет ее.Чтобы увидеть это, добавьте следующую строку в функцию test() перед строкой return:

drupal_set_message('Variable $a: ' . $a);

. Это отобразит текст и значение переменной в области содержимого страницы, так что вызнать, что Drupal регистрирует путь (и выполняет функцию test() и может использовать ее переменные):

Variable $a: testing

Если $a является массивом, это не будет отображать его значение, а толькотип переменной («Массив»).Чтобы увидеть элементы этого массива:

$a = array ('testing', 'element2', 'item3');

Используйте функцию PHP print_r(), чтобы напечатать список элементов массива с отступом.Заключите его в теги HTML pre, чтобы строка с отступами выглядела правильно:

<code>drupal_set_message('<pre>Array $a: ' . print_r($a). '
');

Будет выведен массив в следующем формате:

Array
(
    [0] => testing
    [1] => element2
    [2] => item3
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...