I use Views field view as follow :

  • Level 1 title
    • Level 2 title
      • Level 3 title
      • Level 3 title
      • Level 3 title
  • Level 1 title
    • Level 2 title
      • Level 3 title

Each level has a field named parent refering to the previous level. I use contextual filters on each level, so level 1 sends to level 2:
[!nid]/!1/!2/!3/!4
and level 2 to level3:
[!nid]/!4/!5

!1 and !2 are for level 2 and !3 and !4 are for level 3.
I have set the strings "!1", "!2", "!3" and "!4" as exception values for the contextual filters: when nothing is provided via the url, the first level will send these raw strings to the nested levels.

The problem occures on level 3 when argument 4 is set but not 3. Here is an output of $view->args on level 3.
Argument 3 and 4 set:

array (size=3)
  0 => string '7' (length=1)
  1 => string 'agricole' (length=8)
  2 => string 'pollutions' (length=10)

Argument 3 set but not 4:

array (size=3)
  0 => string '7' (length=1)
  1 => string 'agricole' (length=8)
  2 => string '!4' (length=2)

Argument 4 set but not 3:

array (size=3)
  0 => string '7' (length=1)
  1 => string '' (length=0)
  2 => string 'pollutions' (length=10)

!3 is not sent as expected. I can't use an empty string as a exception value and anyway I would need two exception values.

Comments

vladimiraus’s picture

Status: Active » Closed (outdated)

Thank you for your contributions.
Drupal 7 is no longer supported.
Closing the issue.

Now that this issue is closed, please review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, please credit people who helped resolve this issue.