Cách thực hiện số học trên bộ lọc theo ngữ cảnh


9

Thay vì chỉ định bộ lọc theo ngữ cảnh, có thể chỉ định bộ lọc theo ngữ cảnh +1 (nghĩa là thêm một bộ lọc vào giá trị bộ lọc hiện tại?)

Nếu bạn có chế độ xem lấy tham số, tôi hiểu rằng bạn có thể tạo trường văn bản chung để tạo liên kết đến chế độ xem khác bằng cách sử dụng đối số ban đầu.

Tức là trong view1 / arg1 tôi có thể có một trường văn bản toàn cầu xuất ra dưới dạng một liên kết đến view2 / arg1

Có thể tạo trường văn bản toàn cầu xuất ra dưới dạng liên kết đến view2 / arg1 + 1

tức là thêm một vào đối số hiện tại?

Câu trả lời:


1

Trong Chế độ xem cho D7 (không chắc chắn về D6), bạn có thể thêm trường loại "Biểu thức toán học" để thực hiện loại điều này. Nhập biểu thức [!1]+1(hoặc có thể [%1]+1) trong trường biểu thức Toán học, và sau đó các trường văn bản sau này có thể tham chiếu giá trị này (trong phần Viết lại của chúng) dưới dạng [expression].


0

Xem PHP thường là câu trả lời của tôi, nhưng có vẻ như nó chưa hỗ trợ PHP trong Bộ lọc ngữ cảnh ...

Vì vậy, bạn sẽ cần phải tạo cho mình một mô-đun và sau đó:

Tôi giả sử đối số đầu tiên của bạn là đối số bạn muốn thay đổi và tôi không có chế độ xem tôi có thể kiểm tra ngay bây giờ, vì vậy bạn sẽ cần print_r($ query-> trong đó [0]); `để xem những gì đang diễn ra ở đó và thêm vào giá trị chính xác.


0

Làm một cái gì đó như thế này.

<?php
  $view = views_get_current_view();
  $arg = $view -> args[0];
  $newarg = intval($arg) + 1;
?>
<a href="https://drupal.stackexchange.com/view2/<?php print($newarg); ?>">Increment my contextual filter</a>

0

Bạn có thể tạo mẫu chế độ xem cho chế độ xem của mình và thực hiện một số thứ như thế này bên dưới.

<?php $arg = arg(1);  ?>
<a href="<?php print base_path() . 'view2/' . ($arg + 1) ;?>">Link to view</a>  
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.