ビューを使用して作成されたテーブルにcssクラスを追加したいのですが。カスタムテーマで「views-view-table.php」をオーバーライドしようとしましたが、うまくいかないようです。 「views-view-table.php」で、「<table <?php if ($classes) { print 'class="'. $classes . '" '; } ?><?php print $attributes; ?>>
」の行を「<table class="responsive">
」に置き換えてからキャッシュをクリアしましたが、機能しませんでした。誰でも助けることができます。前もって感謝します。
これは古い投稿ですが、いくつかの解決策を紹介します。
まず、これはあなたの質問に直接答えないかもしれませんが、テーブルをターゲットにするために使用しているCSSセレクターを変更できます。
したがって、table.yourclass
使用できます.yourclass table
。これは、advancedセクションでビュー全体のカスタムクラスを設定することで実現できます。
もちろん、これは、Bootstrapで行う必要がある可能性があるように、要素にクラスを直接追加しようとしている場合は機能しません。つまり、table.table.table-striped
。
2番目のソリューションでは、すべてのテーブルに同じクラスを追加できます。あなたのtemplate.php
ファイル、以下を追加:
function THEME_preprocess_views_view_table(&$vars)
{
$vars['classes_array'][] = 'table table-striped';
}
特定のテーブルをターゲットにする必要がある場合は、$vars
変数を最初に呼び出して、呼び出されるビューとディスプレイの名前を見つけ、ターゲットとするクラスにのみクラスを適用します。私はチェックしていませんが、おそらく$vars['view']->current_display
。
最後に、ビューが実際にテーブルのカスタムクラスをサポートしていることは注目に値します。変数はテンプレートファイルで呼び出されますが、ビューのGUIにはそのオプションはありません。これは私の見解では見落としですが、モジュールの開発者はそれを修正することを計画していないようです。とはいえ、 そのためのパッチはありませんが存在します ( 直接リンク )。
これにはテンプレートファイルは必要ありません。ビューの[詳細]> [その他]タブに、CSSクラスオプションがあります。そこで追加して、CSSに適切なセレクターを使用できます。 hook_preprocess_views_view()
を使用して、テンプレートで使用される$classes
変数にクラスを追加することもできます。
オーバーライドしようとするファイルは「views-view-table.tpl.php」である必要があります。 「.tpl」を忘れました。オーバーライドできるすべての使用可能なファイルを表示するには、ビュー構成ページのオプション「詳細->テーマ:情報」を使用します。
ビューのテーマを誤って設定しています。テーマを表示するには、以下の手順に従います。