For this path:
http://www.mywebsite.com/article/hps-slide-5#overlay-context=article/hps...

Using: "Add on every page except the listed pages."

And the following in the list of paths:
*#*
admin/*
*overlay*

It would not exclude the above URL. Eventually I had to use:
*#*
admin/*
*overlay*
*/edit

So only the "*/edit" was of any use. I would have though both the "*#*" and the "*overlay*" also matched. Maybe the * don't cross the slash boundary? That however might make it rather limited. Ideally I would like to see a setting where you can just automatically "include only on" or "exclude all" admin pages.

Comments

rfay’s picture

Category: bug » support

Just fyi, paths are Drupal paths. That would exclude '#', as it's a fragment, not a path.

In your case, you have used the path module to *alias* the path, and I'm not sure of the results of that.

But I'm absolutely sure that the only things you can use here are 'article' and 'hps-slide-1'. Anything after that is not part of the picture.

This selection is not a function of this module, as far as I know; it's a standard Drupal feature.

reg’s picture

Good to know, thanks.

However, the "*/edit" did work and that's at the very end of the path so are you sure this is correct? Maybe it's a little more complicated then that. There's got to be some documentation somewhere, you wouldn't happen to know where that is would you? I would like to go through it and get a thorough understand.

rfay’s picture

Unfortunately the "/edit" in your case is part of a fragment (for overlay) not part of the path.

I'm not sure the overlay was ever calculated in this sort of thing. You may have to find another workaround. I'm not even sure that you really want to exclude that part, as (if I'm not mistaken) it's about the page to return to, not the page being displayed. But I rarely enable overlay.

reg’s picture

Hang on, I think we are crossing wires. It sounds like you are telling me the /edit won't work because it's part of the fragment, I am telling you it is the only thing that did work -- that is what happened, not theory.

This is why I asked if you could point me to where this is documented, even just what is the relevant code and I'll analyze it myself as I really need to fully understand this.

reg’s picture

Never mind, I'm finding the code now, just tracing backward to the drupal core from your code, I'll figure it out.

reg’s picture

Status: Active » Closed (fixed)

So now I understand. I traced the actual values that Drupal does for a compare (not really a compare but a regex test to be accurate) and this is what it does:

The actual regex strings is:

/^(.*#.*|admin\/.*|.*overlay.*|.*\/edit|)$/

And the URL is:

node/202/edit

So it's using the internal URL only. Now I know how to handle this.

reg’s picture

For anyone interested I think this will exclude all admin operations, if anyone thinks of anything I missed please add it to the list:

admin/*
*/edit
*/add

The add & edit lines should exclude all add & edit operations that don't happen under a URL with admin it.

rfay’s picture

Thanks so much for following up!

reg’s picture

No worries, still figuring it out, right now I have:

admin/*
user/*/*
node/*/*
reg’s picture

Title: Doesn't seemt to always exclude paths predictably » Doesn't seem to always exclude paths predictably
miccelito’s picture

@Reg - Did you fix any workaround for css injection for path with overlay in its url?

As you mentioned
*#*
admin/*
*overlay*

I would like to do the same for i.e. "*/#overlay=admin/*" but as I understand it's not possible...?