Передача параметров в модуль Drupal - PullRequest
3 голосов
/ 21 июня 2010

Как я могу передать параметр (например, SKU12345) в модуль Drupal.Вот что у меня есть ...

URL: / my_module / sku / SKU12345

  $items['my_module/sku/%mySKU'] = array(
    'title' => 'Information for SKU %',               // include SKU in title 
    'page callback' => 'my_module_with_parm',
 //'page arguments' => array('my_function_name', 3),   // 3rd parameter?
 'page arguments' => array(3),   // 3rd parameter?
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
    'file' => 'my_module.pages.inc',
  );


//function my_function_name()
//{}

function my_module_with_parm($my_parm) {

  $output = $my_parm;
  return $output;
}

1 Ответ

3 голосов
/ 21 июня 2010

Ваш базовый подход выглядит хорошо, но вам потребуются некоторые незначительные корректировки:

  1. Вам нужно будет использовать 'page arguments' => array(2) - (количество параметров основано на нуле)
  2. Вы должны использовать $items['my_module/sku/%'] для начала - %mySKU нотация будет пытаться использовать «функцию подстановочного знака» , следовательно, потребуется дополнительная функция обратного вызова. (в зависимости от вашего сценария вы можете использовать этот механизм позже, но сейчас он, вероятно, будет отвлекающим)
  3. Если вы хотите изменить заголовок в соответствии с переданным именем, вы не можете использовать подстановочный знак напрямую, вам нужно использовать комбинацию «обратный вызов заголовка» / «аргументы заголовка» (так же, как с обратным вызовом страницы). и параметры аргумента).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...