Đếm số lượng giá trị trong một trường chấp nhận giá trị không giới hạn [đã đóng]


7

Tôi có một trường hình ảnh có thể chứa các giá trị không giới hạn. Làm cách nào tôi có thể hiển thị số lượng giá trị hình ảnh có trong trường này trong dạng xem?

Tôi đang sử dụng Drupal 7.

Câu trả lời:


4

đầu tiên cài đặt mô-đun trường được tính toán sau đó bạn nên viết một vòng lặp for trong biến để đếm giá trị của trường sau đó bạn chỉ cần xuất biến này.


1
Thx đã chỉ cho tôi mô-đun trường tính toán. Tôi không cần phải viết một vòng lặp mặc dù. Tôi đã sử dụng đếm. Mã được tính toán: $ entity_field [0] ['value'] = Count (field_get_items ($ entity_type, $ entity, 'field_images')); Mã hiển thị: $ displayDefput = $ entity_field_item ['value']; Sau khi tôi thực hiện lĩnh vực này, tôi có thể đánh giá giá trị của các lượt xem.
jeroen

11

Có một cách để làm điều này tự nhiên trong Drupal 7.

  1. Đặt 'Sử dụng tổng hợp' thành Có
  2. Thêm một trường có chứa nhiều giá trị, chẳng hạn như trường tệp
  3. Đặt cài đặt tổng hợp cho nó thành COUNT DISTINCT

Đơn giản. Tuy nhiên, điều này sẽ cho phép tổng hợp cho tất cả các trường, nhưng cài đặt mặc định cho các trường khác sẽ khiến chúng hoạt động bình thường.


2

Câu hỏi hay. Có thể có cách tốt hơn hoặc được xây dựng để thực hiện việc này, nhưng nếu không, trước tiên, hãy kiểm tra group multiple values togethertùy chọn cấu hình trong trường bạn đang xử lý và sau đó tạo mẫu cho chế độ xem và trường đó trong câu hỏi:

<?php
$foo=node_load($row->nid);
if (count($foo->field_photo)) {
  print 'There are ' . count($foo->field_photo) . ' photos in this node.';
}

Bằng cách nhanh chóng ném một cái nhìn cùng tên foovới một field_phototrong đó, đây sẽ là một mẫu gọi làviews-view-field--foo--field-photo-fid.tpl.php


Thông minh! Không có mô-đun bổ sung cần thiết ở đây! Tôi đặt đoạn trích của bạn vàoviews-view-fields--MYVIEWNAME.tpl.php
AvL

1

Sử dụng Chế độ xem, bạn muốn chế độ xem của mình hiển thị các trường và trường xem của bạn sẽ là đồng bằng của trường thực thể.

'Delta' chỉ có nghĩa là đếm.

Vì vậy, ví dụ trên trang web của tôi trong hộp thoại 'thêm trường' của chế độ xem, tôi thấy một trường có tên 'Nội dung: Tệp đính kèm (tải lên: delta).' Thêm phần này cho phép tôi hiển thị có bao nhiêu tệp đã được đính kèm vào nút đó.

Khi bạn định cấu hình trường này, có lẽ bạn sẽ muốn chú ý đến phần 'không có hành vi kết quả', để ẩn nó nếu delta = 0 hoặc một cái gì đó.

HTH.


trường này có phải là tổng của tất cả các tệp được đính kèm vào nút không? nếu vậy, điều này chỉ hoạt động nếu anh ta không có bất kỳ trường tập tin nào khác, phải không?
Jimajamma

Trường xem này sẽ tổng cộng tất cả các tệp được đính kèm tại trường đó. Vì vậy, bạn có thể có các trường tệp khác và chúng sẽ không hiển thị. Nhưng câu hỏi là: làm thế nào để bạn hiển thị số lượng tệp cho một trường tệp đính kèm.
paul-m

Lý do tôi hỏi là ít nhất trong drupal 6, trường delta hiển thị delta của trường riêng lẻ, ví dụ: nếu có 5 tệp, nó sẽ hiển thị 0, 1, 2, 3, 4, mỗi hàng một hàng và không phải 5, như trong số tất cả Vì vậy, câu hỏi của tôi thực sự là trong drupal 7, có một trường delta khác có tổng số nội dung trong một trường hay có một trường cho biết có bao nhiêu tệp được đính kèm vào toàn bộ nút.
Jimajamma

@Jimajamma bạn là đồng bằng cứng nhắc cho vị trí trong mảng.
jeroen

0

Sử dụng mô-đun Views PHP tôi đã thêm trường Ảnh / Hình ảnh như bình thường và sau đó thêm trường PHP toàn cầu và thêm:

$photos = $data->field_field_images;
$count = count($photos);
//dsm($count);
print $count;
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.