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

merlinofchaos’s picture

Status: Active » Closed (works as designed)

That'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).

dankohn’s picture

merlinofchaos, 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.

merlinofchaos’s picture

You 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.

dankohn’s picture

Please 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 #.

merlinofchaos’s picture

It 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.

dankohn’s picture

merlinofchaos, 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.

Toxid’s picture

So 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.