web-dev-qa-db-ja.com

ノード本体でカスタムトークンを使用する

同じコンテンツを使用する個々のノードを更新するのではなく、トークンを更新するだけで済むように、リサイクルされたコンテンツをトークンに入れることで、将来のワークロードを最小限に抑えようとしています。私はトークンの経験がほとんどないので、私の質問は非常に基本的です。

私が欲しいものの例..何十もの異なるノードで以下を持っていると言います:

アイテム1:$ 29.99

「アイテム1」の価格が変更されたときに各ノードを更新する必要はなく、「ノード1」のトークンを使用するだけで各ノードを保持できるため、すべてのノードの代わりにトークンを更新するだけで済みます。 Custom Tokens モジュールをインストールしましたが、ノードのコンテンツ本文にカスタムトークンを表示する方法がわかりません。カスタムトークン名を「token-1」に設定した場合、実際のコンテンツにトークンをどのように表示しますか?すなわち。 [token-1]、[custom:token-1]などは機能しません。

どんな助けでも大歓迎です!

5
Kev

Token filter モジュールをインストールし、ノード本体でトークンを使用するようにテキスト形式で構成する必要があります。

7
Dave Reid

D6の場合はtoken_replacehook_nodeapiを、D7の場合はhook_node_loadをお試しください

token_replace

パラメーター

$ text:置換可能なトークンを含む可能性のある文字列。

$ data:(オプション)キー付きオブジェクトの配列。単純な置換シナリオでは、「ノード」、「ユーザー」などが一般的なキーであり、付随するノードまたはユーザーオブジェクトが値です。 「サイト」などの一部のトークンタイプは、$ dataからの明示的な情報を必要とせず、空の場合でも置き換えることができます。

$ options:(オプション)トークンの置換プロセスを制御するための設定とフラグのキー配列。サポートされているオプションは次のとおりです:

language:ロケール依存のトークンを生成するときに使用される言語オブジェクト。コールバック:トークン置換の配列が生成された後に後処理するために使用されるコールバック関数。たとえば、テキストのみの電子メールでトークンを使用するモジュールは、最終的なテキストに挿入される前にトークン値からHTMLエンティティを取り除くコールバックを提供する場合があります。 clear:置換値を生成できない場合にトークンを最終テキストから削除する必要があることを示すブールフラグ。 sanitize:Webブラウザーに表示するためにトークンをサニタイズする必要があることを示すブールフラグ。デフォルトはTRUEです。このオプションをFALSEに設定した開発者は、ユーザーにデータを表示する前に、filter_xss()、check_plain()またはその他の適切なスクラブ関数を実行する責任を負います。

hook_nodeapi

hook_node_load

2
niksmac