[ic] area tag encoding dash in sku to %2d
Mike Heins
mikeh at endpoint.com
Sat Jun 10 11:32:42 UTC 2017
Quoting Peter (peter at pajamian.dhs.org):
> 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 <mikeh at endpoint.com>
For a successful technology, reality must take precedence over public
relations, for Nature cannot be fooled. -- Dick Feynman
More information about the interchange-users
mailing list