Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
How to reproduce
* Create a view with 10 contextual filters
* Use placeholder !10
* Pass something like foo/2/3/4/5/6/7/8/9/bar
Expected: See "bar"
Experienced: See "foo0"
(!1 is replaced)
Looks like this can be solved by a array_reverse() in pattern replacement code so !10 comes before !1.
Broken in D7, NOT in current D8.
Comments
Comment #1
geek-merlinTo fix in:
* \views_handler_field::get_render_tokens
* \view::_build_arguments
* \views_plugin_display::get_arguments_tokens
Comment #2
geek-merlinComment #3
Anonymous (not verified) CreditAttribution: Anonymous commentedHow did D8 solve this? Backporting might be possible
Comment #4
geek-merlinIt's a complete rewrite, i don't see backport possible.
Comment #5
Anonymous (not verified) CreditAttribution: Anonymous commentedAh that's too bad. I'm going to take a look, and try to sort this out. Thanks.
Comment #6
Anonymous (not verified) CreditAttribution: Anonymous commented