Cara melakukan aritmatika pada filter kontekstual

9

Daripada menentukan filter kontekstual, apakah mungkin untuk menentukan filter kontekstual +1 (yaitu menambahkan satu ke nilai filter saat ini?)

Jika Anda memiliki pandangan yang mengambil argumen, saya mengerti bahwa Anda dapat membuat bidang teks global untuk membuat tautan ke tampilan yang berbeda menggunakan argumen asli.

Yaitu di view1 / arg1 saya dapat memiliki bidang teks global yang output sebagai tautan ke view2 / arg1

Apakah mungkin untuk membuat bidang teks global yang ditampilkan sebagai tautan ke view2 / arg1 +1

yaitu menambahkan satu ke argumen saat ini?

Harun
sumber

Jawaban:

1

Di Views untuk D7 (tidak yakin tentang D6), Anda dapat menambahkan bidang tipe "Ekspresi matematika" untuk melakukan hal semacam ini. Masukkan ekspresi [!1]+1(atau mungkin [%1]+1) di bidang ekspresi Matematika, dan kemudian bidang teks kemudian bisa merujuk ke nilai ini (di bagian Menulis ulang mereka) sebagai [expression].

benjifisher
sumber
0

Tampilan PHP biasanya menjadi jawaban saya, tetapi tampaknya belum mendukung PHP dalam Filter Kontekstual ...

Jadi, Anda harus membuat sendiri modul dan kemudian:

Saya berasumsi argumen pertama Anda adalah yang ingin Anda ubah, dan saya tidak memiliki pandangan yang dapat saya uji terhadap saat ini, jadi Anda perlu print_r($ query-> di mana [0]); `untuk melihat apa terjadi di sana dan menambah nilai yang benar.

Jim Kirkpatrick
sumber
0

Lakukan sesuatu seperti ini.

<?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>
Eric N.
sumber
0

Anda dapat membuat template tampilan untuk tampilan Anda dan melakukan sesuatu seperti ini di bawah ini.

<?php $arg = arg(1);  ?>
<a href="<?php print base_path() . 'view2/' . ($arg + 1) ;?>">Link to view</a>  
Jayendra Kainthola
sumber