0

メニューでそのようなワイルドカードを使用することは可能ですか?

$items['foo/bar-%xxx']
...
'page arguments' => array(1),

私がバーを得ることができるように-何かを議論に入れますか?

4

2 に答える 2

2

この不快な返信をするのではなく、danielson317 が提案したことをしないでください。その理由は、この方法では、サイトのパフォーマンスを台無しにする不要なメニュー ルーター項目がいくつかあるからです。第二に、それは私たちが通常行う方法ではありません。

これを行うには、メイン コールバックを関数に登録します。

$items['foo/%']
...
'page arguments' => array(1),

コールバック関数で、指定された引数が有効かどうかを確認できます。

function MYMODULE_foo_bar($value){
if (substr($value, 0, 4) != 'bar-'){
drupal_not_found();
return; // not necessary though.
}
$value = substr($value, 5);
// $value is now the the desired value.
//do what you want and return the output.
}
于 2012-08-21T20:31:55.687 に答える