web-dev-qa-db-ja.com

プログラムでビューフィールドにCSSクラスを追加するにはどうすればよいですか?

これはノードではなくビューのフィールドであるため、template_preprocess_fieldを使用しても機能しないと思います。

私はこれを見てきました answer しかし、それはフィールド値にのみ適用され、マークアップとそれを囲むスタイルには適用されないようです。

例:マークアップのフィールドの出力は現在次のとおりです。

<div class="views-field views-field-field-status">
    <div class="field-content">
        Active
    </div>
</div>

クラスを条件付きで追加したい:

<div class="views-field views-field-field-status">
    <div class="field-content my-conditionally-added-class">
        Active
    </div>
</div>
1
SMTF

ビュー管理UIを介して、任意のcssクラス、HTMLタグを任意のフィールドに追加できます。そこからクラスを追加してみませんか?


[〜#〜]更新[〜#〜]

何らかの条件に基づいてcssクラスを追加する必要があるため、次の前処理関数を使用する必要があります。あなたのコードはこのようなものになるでしょう(おそらくいくつかの修正が必要になるでしょう)

function mytheme_preprocess_views_view_field(&$vars){
     $view = $vars['view'];
    if($YOUR_CUSTOM_CONDITION == TRUE && $view->name == VIEW_NAME)
           $vars['classes_array'] = 'my-conditionally-added-class';
}

コンテンツをビューに出力するため、mytheme_preprocess_views_view_field関数を使用する必要があります。

詳細については、 プリプロセス機能を使用したテーマビューフィールドの出力 をご覧ください。

2
M a m a D