I have a view with a list of nodes and their associated edit links. The nodes can be categorised/filtered so I use an argument* in the view that I set manually on the content template of the pages to display the view (different pages should show different sets) -- there is no correlation between this argument and the path to the pages containing the view. This works fine except that every edit link in the view redirects to a path that is a combination of the page's internal path and some string identifier that depends on the page being shown but isn't the page's title. On node/6 the link looks like edit?destination=nodeIdentifierF6
. I've confirmed the number at the end corresponds to the node's ID and it is always preceeded by a capital F. My guess is that Identifier
is really meant to be %
and that Views substitutes some argument I'm not sure where comes from.
Is there a way to fix this, or a different approach altogether (e.g. using filters in a way that allows me to control the node sets dynamically), short of creating a whole template for this minor annoyance?
*Actually there are two arguments plus the three from the Views Or module, but I'm assuming it doesn't consume arguments, and the other argument has a default value and shouldn't be used. Using filters would be more appropriate, as users shouldn't have control over what set of nodes to display anyway, but I couldn't find a way to adjust filters dynamically, and the alternative seems to be to create n idental views but for this filter. I am mentioning this in case it's important.
22/9 Update:
This appears to be related to drupal_get_destination()
, which returns an encoded path (/
=> %2F
). For the view in question the %2
part must then be interpreted as an argument placeholder and substituted. I am no closer to a solution to the problem, unfortunately.