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