You are here

使用通配符的值

老葛的Drupal培训班 Think in Drupal

为了使用路径中匹配的那部分,可以在page arguments键中指定该路径部分的位置:
function menufun_menu() {
    $items['menufun/%/bar/baz'] = array(
        'title' => 'Hi',
        'page callback' => 'menufun_hello',
        'page arguments' => array(1), // The matched wildcard.
        'access callback' => TRUE,
    );
    return $items;
}
 
/**
* Page callback.
*/
function menufun_hello($a = NULL, $b = NULL) {
    return t('Hello. $a is @a and $b is @b', array('@a' => $a, '@b' => $b));
}
 
我们的页面回调函数menufun_hello()所收到的参数,如图4-13所示。
 
4-13.第一个参数来自于匹配的通配符,第2个参数来自于URL的最后部分。
 
    第一个参数,$a,是通过页面回调传递过来的。用于页面回调的条目array(1)的意思是,“不管路径中的部分1是什么,请将它传递过来”。我们是从0开始算起的,所以部分0就是'menufun',部分1就是通配符所匹配的任何东西,部分2就是'bar',依次类推。第2个参数,$b,也被传递了过来,它的传递原理我们在前面已经学过了,那就是Drupal路径后面的一部分将会作为参数传递给回调函数(参看本章前面的“页面回调参数”一节)。
 

Drupal版本: