【问题标题】:Multiple arguments on menu callback菜单回调的多个参数
【发布时间】:2010-08-16 03:19:36
【问题描述】:

我知道如何将一个参数传递给菜单回调

  $items['someaddress/%'] = array(
    'title' => 'title',
    'page callback' => 'some_function',
    'page arguments' => 1,
    'type' => MENU_CALLBACK
  );

我不明白为什么传递的参数是 $_POST['nid'] 但这有效。对应页面参数1。

function some_function (){

    $node = isset($_POST['nid']) ? node_load($_POST['nid']) : FALSE;

}

我现在正在尝试传递多个参数。 $items['someaddress/%/%/%'] = array( 并正在寻找我如何做到这一点的代码示例。

谢谢!

【问题讨论】:

    标签: drupal drupal-6 drupal-routes


    【解决方案1】:

    page arguments 使用数组:

    $items['someaddress/%/%/%'] = array(
      'title' => 'title',
      'page callback' => 'some_function',
      'page arguments' => array(1, 2, 3),
      'type' => MENU_CALLBACK,
    );
    
    function some_function($arg1, $arg2, $arg3) {
      // Insert code here
    }
    

    无论如何,您应该始终保留arguments passed to menu callbacks as an array

    仅供参考:您所看到的行为是 Drupal 的菜单系统是如何设计的。该数字对应于传递给菜单的每个参数。 1 是第一个参数,2 是第二个,依此类推。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多