0

hook_menuとビューで構築されたコンテンツを閲覧するためのカスタム構造があります。コンテンツへのリンクをノードタイプごとに構造内の適切な宛先にルーティングしたいと思います。したがって、通常はノードリンクをクリックするとに移動しますがnode/123、代わりにに送信したいと思いfoo/123ます(ノード123のタイプは「foo」であるため)。

foo/123PathAutoを試しましたが、のエイリアスを作成するだけでは機能しませんnode/123。特定の構造、タブなどは、hook_menuforを使用して構築されていfoo/123ます。PathAuto(私が理解しているように)は実際には表示しているだけで、node/123これは単なるストックdrupalノード表示であり、表示したいものではありません。

まとめて、ノードタイプに基づいてリダイレクトし始めましhook_nodeapidrupal_goto。[いくつかの無限のリダイレクトの問題を解決していますが、私はそれを理解できると確信しています。]しかし、私は本当にこれをしたいですか?サイト上のすべてのリンクがHTTPリダイレクトを通過するというスピードヒットはありませんか?

これを行うための最良の方法は何ですか?

編集
実際に問題は、PathAutoが私のhook_menuを尊重しておらず、おそらくその仕事に適したツールではないということだと思います。PathAutoがまだ設定されていないので、foo/123fooがノードタイプであるページを定義するhook_menuがあります。foo/###に移動すると、ノード###のカスタムバージョンが表示され、期待どおりに機能します。

ここで、にリダイレクトnode/###するfoo/###か、言い換えると、すべてのリンクをnode/###として記述したいと思いますfoo/###。これは、ノードタイプFoomyパターンの下にあるPathAutoの明らかなタスクのようですfoo/[nid]。設定した後を除いて、私のhook_nodeは機能しなくなりました。これfoo/###は、現在、私が要求したようにルーティングされてnode/###おり、表示されるのは、hook_menuではなく、バニラのdrupalノードの表示であるためです。

4

1 に答える 1

1

実際、PathAutoは、カスタムパスの種類を指定するように設定できます。トークンモジュールを使用して、pathAutoがエイリアスを構築する方法を簡単に再構成できるようにします...

pathautoの管理ページ(admin / build / path / pathauto)を確認してください。

編集

編集のために私がすることはhook_menu_alterを実装することであり、ノード/%ページのコールバックをhook_menuで使用されるコールバックに変更してfoo/123ページをレンダリングします。

于 2010-10-13T11:49:16.363 に答える