Jesse Sheidlower wrote on 4/11/09 9:51 PM: > > I don't know the best way to handle this. I'd expect that what > I want to do is pass a variable like "url_to_call" to the JS, > but I don't know how to get it there. I can certainly have a > <script> block in my TT file that simply sets the JS variable > from the stash, but this feels like a kludge. I assume there's > also some way to tweak the controller so that this relative > URL will work properly with chained controllers, but this also > feels like a kludge.
It might be a kludge, but it's what I do. I use YUI and ExtJS (with some jQuery). The namespace creation in YUI/ExtJS is nice, so I can make a YUI.myApp namespace, e.g. <script type="text/javascript"> YUI.myApp.BaseURL = '[% c.uri_for('whatever') %]'; // set constant </script> I tend to render whatever can't be put in a .js file in <script> tags, often building up a TT hashref and then rendering it as JSON: [% SET myJsonConfig = { foo => 'bar', ... }; %] <script> var myFooThing = YUI.myApp.initFooThing([% myJsonConfig.as_json %]); </script> See Template::Plugin::Handy for the as_json vmethod. -- Peter Karman . http://peknet.com/ . pe...@peknet.com _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/