Re: area tag encoding dash in sku to %2d

Mike Heins <[email protected]>
Newsgroups gmane.comp.web.interchange.users
Message-ID <[email protected]>
Quoting Peter ([email protected]):
> On 10/06/17 09:10, IC wrote:
> > I am trying to stop the area tag from encoding a dash in the sku to %2d
> > in mv_arg in the url, ie when using:-
> > 
> > <a href="[area function/stock_alert [item-code]]">[L]In-Stock
> > Notification[/L]</a>
> > 
> > If the sku is 100-10 the url generated is
> > /function/stock_alert?mv_arg=100%2d10
> 
> It shouldn't hurt anything, but if you want it to go away try this:
> [area href=function/stock_alert form="mv_arg=[item-code]"]
> 
> > Where does the dash get encoded to %2d, I looked in Interpolate.pm and
> > various other files but couldn't work out where is was being encoded.
> > 
> > Can I make dash an allowed character somwhere?
> 
> Alternatively you can replace the hexify function in Util.pm using a
> globalsub (in interchange.cfg):
> 
> GlobalSub <<<EOR
> sub override_hacking {
>     package Vend::Util;
>     sub hexify {
>         my $string = shift;
>         $string =~ s/([^\w-])/sprintf '%%%02x', ord($1)/ge;
>         return $string;
>     }
> }
> EOR

I think you have one too many < in the here doc. Should work fine, though.

We could consider defining that string in Vend::Util like is done
for HTML::Entities, but the above is the functional equivalent and not
difficult to do.

-- 
Mike Heins
End Point -- Expert Internet Consulting    http://www.endpoint.com/
phone +1.765.253.4194  <[email protected]>

For a successful technology, reality must take precedence over public
relations, for Nature cannot be fooled. -- Dick Feynman
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.