Closed (works as designed)
Project:
Panels
Version:
6.x-3.2
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
21 Dec 2009 at 15:53 UTC
Updated:
12 Aug 2010 at 20:39 UTC
I entered the following as an override URL:
latest?quicktabs_2=1#quicktabs-2
It shows up when rendered as:
latest%3Fquicktabs_2%3D1%2523quicktabs-2
That is, panels is URL encoding the special characters, but I need those special characters to just pass through. As it is now, the resulting URL is a 404.
Thanks in advance for any help. Panels is a spectacularly powerful module.
Comments
Comment #1
merlinofchaos commentedThat's not improper. You can't enter the query string or the fragment as part of the URL. (Heck, the fragment, i.e, the part after the #, is never sent to the server anyway).
Comment #2
dankohn commentedmerlinofchaos, fragment identifiers are not sent to the server, but they're certainly completely legal URL syntax according to RFC 3986. But when entered through URL override, it's not possible to use either fragment identifiers or query syntax, because panels is incorrectly encoding the # and the ?. Those characters need to be passed through to the browser unencoded in order to preserve their semantics.
Comment #3
merlinofchaos commentedYou cannot enter them as a URL (I'm no longer sure what you mean by URL override) in Panels. Again, it is not improper, it is your assumptions that are.
Comment #4
dankohn commentedPlease see the News header in the middle column, halfway down autism.healingthresholds.com. That's using the News view as a content item in a panel. I'm trying to change the URL of the header. When I am in "Configure view news_front (News Recent)", the final option is "Override URL". (The comment is: "If this is set, override the View URL; this can sometimes be useful to set to the panel URL".)
I want that URL to take you to http://autism.healingthresholds.com/latest?quicktabs_2=1 (I've left out the fragment identifier to illustrate my point). However, I can't enter that URL, because the ? get's inappropriately URL encoded into a %3F. Instead, I've set that URL override to go to "/news", and then I use the path redirect module to do a 301 redirect from "/news" to "/latest?quicktabs_2=1".
But this shouldn't be necessary. The URL Override field should let me enter a valid URL and not URL encode characters like ? and #.
Comment #5
merlinofchaos commentedIt doesn't. Drupal's url() mechanism works that way. Your insistence that this is improper does not sway me in the slightest. If you want the title to go to that URL with the fragment and the query string, you'll just have to theme it or use some other method.
Comment #6
dankohn commentedmerlinofchaos, sorry, I'm not trying to convince you through repetition. I'm in awe of the contributions that you've made to Drupal.
But is there any chance that Override URL could use the same URL parsing function that menus do? Because the menu uses the URL http://autism.healingthresholds.com/latest?quicktabs_2=1#quicktabs-2 perfectly fine (see What's New: Latest News). But when I put the same URL in the Override URL field in Panels, the ? and # get encoded, resulting in a 404 error.
Comment #7
Toxid commentedSo the url of the title can be changed through theming? How is that done?
EDIT: I found a good enough solution. Just enter the absolute adress, ex: http://www.yourpage.com/view?exposedfilters.