Cách sử dụng lớp div để bọc một số trường đã chọn của chế độ xem dạng lưới


9

Tôi đã trải qua điều này:

nhưng không thể hiểu cách sử dụng lớp div để bọc một số trường đã chọn của chế độ xem dạng lưới. Trong trường hợp của tôi, tôi muốn bọc ba trường nhìn vào một lớp div như hình ảnh hiển thị bên dưới:
nhập mô tả hình ảnh ở đây


Bạn có ý nghĩa div classgì? Bạn chỉ có nghĩa là một divthẻ bình thường ?
Beebee

Câu trả lời:


11

Nó thực sự đơn giản bằng cách sử dụng các ghi đè Trường.

Đầu tiên, đặt trường (author) User: Picture(author) User: Nametrường thành "Loại trừ khỏi màn hình".

Sau đó mở cài đặt cho Content: Post datetrường và mở trường "Viết lại kết quả".

Kiểm tra "Viết lại đầu ra của trường này". Điều này sẽ tiết lộ một "Mô hình thay thế" khác sẽ hiển thị cho bạn các mã thông báo cho tất cả các trường phía trên trường hiện tại. Tất cả những gì bạn cần làm là đặt một <div>trình bao bọc trong hộp văn bản và sao chép các mã thông báo bạn muốn ở giữa các thẻ div.

nhập mô tả hình ảnh ở đây


1
Ngoài ra, hãy kiểm tra bài đăng này bằng cách sử dụng cùng một phương thức mediac hiện.com / blog / ultimate
Andrew Welch

3

bạn nên sử dụng hook_view_pre numnder (& $ lượt xem) hoặc theme_ process_view_view_field ()

function YOUR_THEME_preprocess_views_view_fields(&$vars) {

  if ($vars['view']->name == 'view_name') {

    foreach( $vars['view']->result as $key => $value) { 
      $add_start_div = '<div class="add_div">';
      $markup_for_field_name_1 = $value->field_name1[0]['rendered']['#markup'] ; 
      $value->field_name1[0]['rendered']['#markup'] = $add_start_div . $markup_for_field_name_1;
      $markup_for_field_name_3 = $value->field_name3[0]['rendered']['#markup'];
      $add_end_div = '</div>';
      $value->field_name3[0]['rendered']['#markup'] = $value->field_name3[0]['rendered']['#markup'] . $add_end_div;
    }
  }
}

thiếu một vài đóng cửa}}
Andrew Welch

2

Tạo một mẫu cho đầu ra kiểu hàng ví dụ: view-view-field - frontpage-Promotion-news-Story - block.tpl.php. Nhìn vào khung nhìn-> nâng cao-> chủ đề cho các tùy chọn. Sao chép và dán tên của tính đặc hiệu của mẫu bạn muốn và tạo một tệp có tên đó, sau đó chạy 'quét lại' để Drupal tìm thấy mẫu mới.

Sau đó làm một cái gì đó như:

<?php
$field_vals = [];
foreach($fields as $id => $field){
    $field_vals[$id]= $field->content;
}
?>
<!-- layout fields -->
<div class="promoted-news-story">
<!-- image, title, date, body, link -->
    <div class="promoted-news-story__image-wrap">
        <?php print $field_vals['field_standard_header_image'];?>
    </div>
    <div class="promoted-news-story__content-wrap">
        <h2><?php print $field_vals['title'];?></h2>
        <?php print $field_vals['field_news_date'];?>
        <?php print $field_vals['body'];?>
        <?php print $field_vals['view_node'];?>
    </div>
</div>

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.