web-dev-qa-db-ja.com

ビューを使用して作成されたテーブルにCSSクラスを追加する方法

ビューを使用して作成されたテーブルにcssクラスを追加したいのですが。カスタムテーマで「views-view-table.php」をオーバーライドしようとしましたが、うまくいかないようです。 「views-view-table.php」で、「<table <?php if ($classes) { print 'class="'. $classes . '" '; } ?><?php print $attributes; ?>>」の行を「<table class="responsive">」に置き換えてからキャッシュをクリアしましたが、機能しませんでした。誰でも助けることができます。前もって感謝します。

7
maaz siddiqui

これは古い投稿ですが、いくつかの解決策を紹介します。

まず、これはあなたの質問に直接答えないかもしれませんが、テーブルをターゲットにするために使用している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にはそのオプションはありません。これは私の見解では見落としですが、モジュールの開発者はそれを修正することを計画していないようです。とはいえ、 そのためのパッチはありませんが存在します直接リンク )。

3
Shelton

これにはテンプレートファイルは必要ありません。ビューの[詳細]> [その他]タブに、CSSクラスオプションがあります。そこで追加して、CSSに適切なセレクターを使用できます。 hook_preprocess_views_view() を使用して、テンプレートで使用される$classes変数にクラスを追加することもできます。

2
sareed

オーバーライドしようとするファイルは「views-view-table.tpl.php」である必要があります。 「.tpl」を忘れました。オーバーライドできるすべての使用可能なファイルを表示するには、ビュー構成ページのオプション「詳細->テーマ:情報」を使用します。

0
Ciprian

ビューのテーマを誤って設定しています。テーマを表示するには、以下の手順に従います。

  1. ビューの[詳細設定]タブに移動します。
  2. 「テーマ:情報」をクリックします。
  3. テーマテンプレートディレクトリにファイルを作成します。例: 「views-view-table--abc.tpl.php」:ビュー名が「abc」の場合、つまり「abc」を目的のビュー名に置き換えます。
  4. [テンプレートファイルの再スキャン]ボタンをクリックして、作成したファイルの名前が太字になっているかどうかを確認します。そうである場合は、ビューのテーマが設定されています。そうでない場合は、ファイル名が正しくない可能性があります。詳細については https://drupal.org/node/35297
0
Astha chauhan