この説明 のhook_preprocess_views_view_field()
によれば、_$variables
_には、特に_$variables['field']
_が含まれます。
ただし、オブジェクトを検査するためだけにprint_r($variables['field'])
を実行すると、(ユーザー名とパスワードを含めるために)オブジェクト全体が出力され、ブラウザがクラッシュします。
私はフィールド名を確認する方法を理解しようとしていますが、奇妙に単純ではないことが証明されています。
_$variables
_を適切にインデックス化するにはどうすればよいですか?
ほとんどのビューオブジェクトには循環参照があり、出力が膨大になる可能性があるため、ブラウザがクラッシュする可能性があります。
_$variables['field']
_は、レンダリングされるフィールドのフィールドハンドラオブジェクトです。私はこれらすべてが \Drupal\views\Plugin\views\field\FieldPluginBase()
から派生していることを97%確信しています(3%の不確実性は1日の終わりであり、私は本当に疲れています)。
最善の策は、debug(get_class($variables['field']))
を実行して完全修飾クラス名を取得し、前処理でヒントを入力することです。例:
_function MYMODULE_preprocess_views_view_field(&$variables) {
/** @var \Drupal\views\Plugin\views\field\Boolean $field */
$field = $variables['field'];
}
_
次に、IDE=を使用して、必要な操作をナビゲートします。
_$variables
_の内容を確認するには、
_debug(array_keys($variables));
_
タイプを取得するために同様の演習を行います。これは、キーがすべて文字列である、単なる退屈な連想配列です。
このコードを使用すると、フィールド名を取得できます。
$variables['field']->field
またはあなたもしたいかもしれません
$variables['field']->realField