Drupal 8の_$variables
_配列を理解しようとしています...
ですから、_MYTHEME.theme
_ファイルがあり、MYTHEME_preprocess_field()
メソッドが機能しています(カスタマイズが必要な他のフィールドに使用しているため、機能します)。
現在、私のサイトのフロントページに表示されている記事のタイトルに焦点を当てています。次の方法でアクセスできます。
_if ($variables['field_name'] == 'title') {
$title = $variables['element'][0]['#context']['value'];
// ...
}
_
私がやりたいのは、_®
_(登録商標)のすべてのインスタンスを_<sup>®</sup>
_に置き換えることです。ただし、配列内のこの値を別の値に設定すると、サイト上でnotが変更されます。
行方不明のものはありますか?私が見つけたいくつかのソースは、配列の_['#markup']
_要素を変更(または追加)すると言っていましたが、これに関するオンラインの情報が不足しています。
フィールドの値を変更するにはどうすればよいですか?これは、基本的で簡単なことのようです。
Drupal 8フロントページはfrontpageというビューです。ビューが変更されていない場合、show: "Content"
デフォルトでは(フィールドの代わりに)。もしそうなら、以下を適用して各ノードのタイトルを変更できます
function THEMENAME_preprocess_node(&$variables) {
//for views that show: "Content" (not fields)
if($variables["is_front"]){
$variables["label"][0]["#context"]["value"] .= " end of title";
}
}