4

次のエイリアス パスを持つKidsという基本的なページがあります。example.com/kids

タグを持つResourcesというコンテンツ タイプもあります。

タグ「kids」または基本ページのエイリアスが何であれ、すべてのリソースを取得するブロックを作成したいと考えています。基本ページごとにハードコーディングされたフィルターを含むブロックを作成したくありません。

ビューを作成し、コンテキスト フィルターを URL の最初のパラメーターに設定しました。これが基本ページのエイリアスであると想定しています。残念ながら、コンテキスト フィルターはエイリアスの後に開始するように見えるため、これは機能しません。

example.com/kids結果を返しません。

example.com/kids/kids私が望むように動作し、子供でタグ付けされたすべてのリソースを返します。ただし、Kids の下にネストされた 2 つ目の基本ページを作成するとkids/kids、有効なエイリアス パスとして機能しなくなり、コンテキスト フィルターはそれを無視します。

tl;dr;

基本ページのエイリアスをコンテキスト フィルターとして使用するモジュールまたは方法はありますか?

ありがとう!

4

2 に答える 2

1

コンテキスト フィルター設定では、既定値が渡されない場合に既定値を設定するように選択できます (これがエイリアスで起こっていることです)。その後、ページ エイリアスの最後の部分を返す PHP を記述できます。

次の行に沿ったもの:

return array_pop(explode('/',drupal_get_path_alias()));

そのため、「example.com/kids」にアクセスすると、コンテキスト フィルターには引数「kids」が含まれます。

別名パス「example.com/kids/kids」も同様です。

于 2012-09-27T21:03:34.147 に答える
0

私も一度同じ問題に直面します。これが私がしたことです。

Xという名前のコールバック/メニューを作成し、X / Aのようなメニューに渡しました。ここで、Aは引数「子供」です。URL エイリアスを使用して、この URL を X/A から A に書き換えます。

このようにして、それは私にとって完璧に機能し、まだ機能しています。

于 2012-08-24T11:27:21.417 に答える