web-dev-qa-db-ja.com

トークンをビューブロックタイトルに追加する

ページにいくつかのビューブロックを表示しています。コンテンツは、URLからのnidをカスタムphpに渡すことによってフィルタリングされています。問題のノードのフィールドを使用するようにブロックタイトルを変更したいと思います。これは可能ですか?

6
Lucy

ビュー3の場合、指定された回答は部分的に正しくありません。トークンは、ビューブロックのヘッダー領域で使用できます。利用できる唯一のトークンは、ビューで使用されるフィールド用です。そのため、非表示にするトークンのみに使用されるフィールドを設定できます。

グローバル:テキスト領域オプションをヘッダーで選択し、最初の行の置換トークンを使用するをチェックして、-からトークンを選択する必要があります。 置換パターンドロップダウン。

4
Vodkasniffer

現在のバージョンのビュー(3.14)では、ビューのタイトルにトークンを書き込むことができます。

ヘルプメッセージにはそのように書かれていませんが、 https://simplytest.me でテストしてみましたが、うまくいきました。

最後のフィールドを選択してRewrite the output of this fieldをアクティブにし、Replacement patternsを展開すると、使用可能なトークン名を確認できます。

これはViews UIから可能だとは思いません。

これを行うには、テーマで[theme_name]_preprocess_blockフックを使用してタイトルを作成します。また、ビューのプリプロセスフックでブロックタイトルを設定することもできますが、どちらを使用するかわかりません。

1
googletorp

ビューではトークンの使用が許可されていないため、これは不可能です。

それは技術的に達成可能であると言われています。あなたがnidをいくつかのカスタムPHPに渡すと言うとき。どういう意味ですか?ビューは引数としてnidを使用しますか?または何か他のものを返していますか?.

本当の問題は、実際にフィールドでコンテンツをフィルタリングしているかどうかです。たまたまnidを渡してノードの読み込みを行い、そのフィールドでフィルタリングを行っている場合、これは実際に可能です。これがあなたのやっていることだと思います。私は間違っているかもしれません。

実際にフィールドでフィルタリングしている場合、引数を編集すると、タイトルを上書きするオプションがあります。どの引数がフィールド値であるかに応じて、%1または%2を使用できるはずです。

この答えについては、多くの仮定をしていることに注意してください。繰り返しますが、これは、実際にフィルタリングしている値がフィールドである場合にのみ可能です。

1
ericduran

各ビューがブロックに表示された単一のノードを返し、このブロックのタイトルを変更したいと考えています。あなたはトリッキーなトリックでこれを簡単に行うことができます:)。

  • 必要なすべてのフィールドを使用してビューを作成し、タイトルを付けないでください
  • ノードのタイトルフィールドを選択し、[出力の書き換え]を選択し、<h2>を使用してフィールドトークンをテキストエリアに配置します:<h2>[field_FIELDNAME_value]</h2>
  • <none>を使用してブロックにタイトルを付けないでください

通常、これを使用すると、<h2>、もう少し洗練されたCSSが存在するため、ブロックタイトルのようなスタイルのビューによってノードのタイトルが返されるブロックが表示されます。これで完了です。

0
tostinni

簡単です。ブロックのタイトルには、トークンを追加するだけです。このフィールドがビューに存在する必要がある場合は、フィールドの出力を書き換えて、トークンの名前を取得し、ブロックのタイトルにコピーして貼り付けます。 。

0
Rafa