Rechnen mit einem Kontextfilter


9

Ist es möglich, anstelle eines Kontextfilters einen Kontextfilter +1 anzugeben (dh einen zum aktuellen Filterwert hinzuzufügen?)

Wenn Sie eine Ansicht haben, die ein Argument enthält, können Sie ein globales Textfeld erstellen, um mithilfe des ursprünglichen Arguments einen Link zu einer anderen Ansicht zu erstellen.

Dh in view1 / arg1 kann ich ein globales Textfeld haben, das als Link zu view2 / arg1 ausgegeben wird

Ist es möglich, ein globales Textfeld zu erstellen, das als Link zu view2 / arg1 + 1 ausgegeben wird?

dh fügt dem aktuellen Argument eine hinzu?

Antworten:


1

In Ansichten für D7 (nicht sicher über D6) können Sie ein Feld vom Typ "Mathematischer Ausdruck" hinzufügen, um dies zu tun. Geben Sie den Ausdruck [!1]+1(oder möglicherweise [%1]+1) in das Feld für den mathematischen Ausdruck ein. Spätere Textfelder können auf diesen Wert (in den Abschnitten zum Umschreiben) als verweisen [expression].


0

Ansichten PHP ist normalerweise meine Antwort, aber es scheint, dass es PHP in Kontextfiltern noch nicht unterstützt ...

Sie müssen sich also ein Modul erstellen und dann:

Ich gehe davon aus, dass Ihr erstes Argument das ist, das Sie ändern möchten, und ich habe keine Ansicht, gegen die ich derzeit testen kann. Sie müssen also print_r($ query-> where [0]); `eingeben, um zu sehen, was passiert dort hineingehen und zum richtigen Wert hinzufügen.


0

Mach so etwas.

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

0

Sie können eine Ansichtsvorlage für Ihre Ansichten erstellen und wie folgt vorgehen.

<?php $arg = arg(1);  ?>
<a href="<?php print base_path() . 'view2/' . ($arg + 1) ;?>">Link to view</a>  
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.