0

drupal 6 では、ノード メニューは$items['node/%node']. これにより次のような URL が返されるはずですwww.sitename.com/node/1 が、再度アクセスするwww.sitename.com/node/1/somethingと同じメニューが呼び出されるため、www.sitename.com /node/1/something のコンテンツが次の複製として作成されます。www.sitename.com/node/1

これを止める方法はありますか

4

1 に答える 1

0

このパスをオーバーライドするモジュールの hook_menu に新しいメニュー パスを追加する必要があると思います。次のようになります。

function mymodule_menu() {
    $items = array();
    $items['node/%node/something'] => array(
        'title' => 'My title',
        'page callback' => 'my_custom_callback',
        'page arguments' => array(1),
        'access arguments' => array('access content'),
        'type' => MENU_LOCAL_TASK // use this if you want to add new tab
        'type' => MENU_CALLBACK // use this if you want just callback function
    );
    return $items;
}

その後、my_custom_callbackこのページのコードを実行する関数を記述する必要があります。

function my_custom_callback($nid = null) {
    // do your code
    return $output
}
于 2011-11-22T10:05:11.410 に答える