Cách thêm lớp css vào bảng được tạo bằng cách sử dụng khung nhìn


7

Tôi muốn thêm một lớp css vào một bảng được tạo bằng cách sử dụng các khung nhìn. Tôi đã cố gắng ghi đè "view-view-table.php" trong chủ đề tùy chỉnh của mình nhưng điều đó dường như không hoạt động. Trong "view-view-table.php" Tôi đã thay thế dòng " <table <?php if ($classes) { print 'class="'. $classes . '" '; } ?><?php print $attributes; ?>>" bằng " <table class="responsive">" và sau đó xóa bộ đệm, nhưng nó không hoạt động. Có ai giúp được không. Cảm ơn trước.

Câu trả lời:


3

Đây là một bài viết cũ, nhưng tôi muốn kết hợp với một vài giải pháp.

Đầu tiên, và điều này có thể không trả lời trực tiếp câu hỏi của bạn, nhưng bạn có thể thay đổi các bộ chọn CSS bạn đang sử dụng để nhắm mục tiêu bảng.

Vì vậy, thay vì sử dụng table.yourclassbạn có thể sử dụng .yourclass table. Điều này có thể được thực hiện bằng cách đặt một lớp tùy chỉnh cho toàn bộ khung nhìn trong phần nâng cao .

Tất nhiên, điều này sẽ không hoạt động nếu bạn đang cố gắng thêm các lớp trực tiếp vào phần tử như bạn có thể cần phải làm với Bootstrap, tức là table.table.table-striped.

Giải pháp thứ hai sẽ cho phép bạn thêm các lớp giống nhau vào tất cả các bảng của bạn. Trong template.phptệp của bạn , thêm vào như sau:

function THEME_preprocess_views_view_table(&$vars) 
{
    $vars['classes_array'][] = 'table table-striped';
}

Nếu bạn cần nhắm mục tiêu một bảng cụ thể, trước tiên bạn cũng có thể kiểm tra $varsbiến để tìm tên của chế độ xem và hiển thị được gọi và chỉ áp dụng các lớp của bạn cho các mục bạn muốn nhắm mục tiêu. Tôi đã không kiểm tra, nhưng nó có thể được tìm thấy trong một cái gì đó như $vars['view']->current_display.

Cuối cùng, điều đáng chú ý là Lượt xem thực sự hỗ trợ các lớp tùy chỉnh trên bảng. Các biến được gọi trong các tệp mẫu, không có tùy chọn nào cho nó trong GUI xem. Đây là một sự giám sát theo ý kiến ​​của tôi, nhưng các nhà phát triển của mô-đun dường như không có kế hoạch sửa chữa nó. Điều đó nói rằng, một bản vá cho nó không tồn tại ( liên kết trực tiếp ).


2

Bạn không cần một tệp mẫu cho việc này. Trong tab Nâng cao> Khác trong chế độ xem của bạn, có tùy chọn lớp CSS. Bạn có thể thêm nó vào đó và sau đó sử dụng các bộ chọn phù hợp cho CSS của bạn. Bạn cũng có thể sử dụng hook_preprocess_views_view()để thêm lớp vào $classesbiến được sử dụng trong mẫu.


Điều này sẽ thêm các lớp để quan điểm riêng của mình không phải là bảng được tạo ra bởi quan điểm như OP là yêu cầu
undersound

0

Tệp bạn cố gắng ghi đè phải là "view-view-table.tpl.php". Bạn đã quên ".tpl". Để xem tất cả các tệp có sẵn mà bạn có thể ghi đè, hãy sử dụng tùy chọn "Nâng cao -> Chủ đề: Thông tin" từ trang cấu hình xem.


0

Bạn đang theo chủ đề quan điểm không chính xác. Thực hiện theo các bước dưới đây để xem chủ đề:

  1. Chuyển đến tab Nâng cao trong chế độ xem của bạn.
  2. Bấm vào Chủ đề: Thông tin.
  3. Tạo tệp trong thư mục mẫu chủ đề của bạn với tên, ví dụ. "Views-view-table - abc.tpl.php" nếu tên xem của bạn là 'abc' tức là Thay thế 'abc' bằng tên xem mong muốn.
  4. Nhấp vào nút "Quét lại tệp mẫu" và xem tên của tệp bạn đã tạo có đậm hay không. Nếu có thì chế độ xem của bạn đã được theo chủ đề, nếu không thì tên tệp có thể không chính xác. Để biết thêm chi tiết https://drupal.org/node3532970

Xin lỗi vì đó chỉ là một lỗi đánh máy. Tôi đang ghi đè "view-view-table.tpl.php". Tên của nó đã được in đậm ngay cả trước khi tôi nhấp vào "Quét lại tệp mẫu". Tôi vừa sao chép tệp này (view-view-table.tpl.php) từ "mô-đun / lượt xem / chủ đề / lượt xem-view-table.tpl.php" vào "huyền thoại / mẫu / lượt xem-xem-bảng.tpl.php" và thực hiện các thay đổi theo quy định trong câu hỏi. Nhưng nó không giúp được gì. Có điều gì tôi đang thiếu?
maaz siddiqui

Tôi có thể ghi đè / tạo tệp .tpl.php cho các bảng cụ thể, chẳng hạn như "view-view-table - abc.tpl.php" và nó hoạt động rất tốt. Nhưng tôi không thể ghi đè "view-view-table.tpl.php" bằng cách sử dụng cùng một quy trình. Tôi không làm gì sai.
maaz siddiqui
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.