如何对上下文过滤器进行算术运算


9

除了指定上下文过滤器外,还可以指定上下文过滤器+1(即在当前过滤器值上加一个吗?)

如果您有接受参数的视图,那么我知道您可以创建一个全局文本字段,以使用原始参数链接到其他视图。

即在view1 / arg1中,我可以有一个全局文本字段,该文本字段作为到view2 / arg1的链接输出

是否有可能创建一个全局文本字段,该文本字段作为到view2 / arg1 + 1的链接输出

即添加一个到当前参数?

Answers:


1

在D7的视图(不确定D6)中,您可以添加“数学表达式”类型的字段来执行此类操作。在“数学表达式”字段中输入表达式[!1]+1(或也许输入[%1]+1),然后以后的文本字段可以将该值(在其“重写”部分)引用为[expression]


0

Views PHP通常是我的答案,但看来它还不支持上下文过滤器中的PHP ...

因此,您需要为自己创建一个模块,然后:

我假设您的第一个参数是您要更改的参数,并且我现在没有可以针对其进行测试的视图,因此您需要print_r($ query-> where [0]);`来查看内容在那里继续并添加到正确的值。


0

做这样的事情。

<?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

您可以为视图创建视图模板,并在下面执行类似的操作。

<?php $arg = arg(1);  ?>
<a href="<?php print base_path() . 'view2/' . ($arg + 1) ;?>">Link to view</a>  
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.