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


7

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

回答:


3

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

最初に、これはあなたの質問に直接答えないかもしれませんが、テーブルをターゲットにするために使用しているCSSセレクターを変更できます。

したがって、使用table.yourclassする代わりにを使用できます.yourclass table。これは、詳細セクションのビュー全体にカスタムクラスを設定することで実現できます。

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


2

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


これは、ビュー自体ではないOPが求めているようビューによって生成されたテーブルにクラスを追加します
undersound

0

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


0

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

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

申し訳ありませんが、それは単なるタイプミスでした。「views-view-table.tpl.php」をオーバーライドしています。「テンプレートファイルの再スキャン」をクリックする前でも、その名前はすでに太字になっています。このファイル(views-view-table.tpl.php)を「modules / views / theme / views-view-table.tpl.php」から「mytheme / templates / views-view-table.tpl.php」にコピーしました質問で指定された変更を行いました。しかし、それは助けにはなりませんでした。私が見逃しているものはありますか?
maaz siddiqui 14年

「views-view-table--abc.tpl.php」などの特定のテーブルの.tpl.phpファイルをオーバーライド/作成することができ、その機能は非常に優れています。しかし、同じプロセスを使用して「views-view-table.tpl.php」をオーバーライドすることはできません。何が悪いのかわかりません。
maaz siddiqui 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.