質問
で構築されたコンテンツを閲覧するためのカスタム構造があります hook_menu
とビュー。コンテンツへのリンクを、ノードタイプでルーティングして、構造内の適切な宛先にルーティングしたいと思います。したがって、通常はノードリンクをクリックすると、 node/123
, 、私は代わりに送られたいと思います foo/123
(ノード123はタイプ「foo」であるため)。
私はPathautoを試しましたが、それを作るのはうまくいきません foo/123
のエイリアス node/123
. 。特定の構造、タブなど... hook_menu
にとって foo/123
. 。 Pathauto(私が理解しているように)は本当に表示されているだけです node/123
これは単なるストックDrupalノードディスプレイであり、私が見せたいものではありません。
私はまとめ始めました hook_nodeapi
と drupal_goto
ノードタイプに基づいてリダイレクトします。 [いくつかの無限のリダイレクトの問題を解決しますが、私はそれを理解できると確信しています。]しかし、私は本当にこれをやりたいですか?サイトのすべてのリンクがHTTPリダイレクトを通過するためのスピードヒットはありませんか?
これを行うための最良の方法は何ですか?
編集
実際、問題は、Pathautoが私のhook_menuを尊重しておらず、おそらく仕事に適したツールではないということだと思います。 Pathautoがまだ設定されていないので、私はのページを定義するhook_menuを持っています foo/123
ここで、fooはノードタイプです。に移動します foo/###
Node ###のカスタムバージョンを表示する予定どおりに機能します。
今、私はリダイレクトしたいです node/###
に foo/###
, 、または別の言い方をすれば、私はすべてのリンクが欲しい node/###
と書かれます foo/###
. 。これは、ノードタイプの下で私のパターンがあるパタオートにとって明らかなタスクのように思えます foo/[nid]
. 。セットアップ後を除き、hook_nodeは機能しなくなります。それは今です foo/###
にルーティングされています node/###
私が尋ねたように、表示されているのは、私のhook_menuではなく、バニラドルパルノードディスプレイです。
解決
実際、Pathautoをセットアップして、カスタムパスの種類を指定できます。 Tokenモジュールを使用して、Pathautoがどのようにエイリアスを構築するかを簡単に再構成できます...
Pathauto(admin/build/path/pathauto)の管理ページを確認します。
編集
編集するには、fook_menu_alterを実装することであり、fool/123ページをレンダリングするためにfool_menuで使用されるコールバックにノード/%ページのコールバックを変更します。