[silva-dev] on-the-fly css/js inclusion with Porto Layout
Jonathan Bowlas
j.bowlas at ucl.ac.uk
Wed Jun 22 10:21:05 CEST 2011
Hi Sylvain,
Thanks for the reply, hope you're having a great time in Florence.
Jon
On 21 June 2011 10:59, Sylvain VIOLLON <sylvain at infrae.com> wrote:
>
> Hello,
>
> On Mon, 20 Jun 2011 11:14 +0100, "Jonathan Bowlas" <j.bowlas at ucl.ac.uk>
> wrote:
>> Hi Devs,
>>
>
> Hello,
>
> Greetings from EuroPython, under the sun of Italia.
>
>> Could someone please explain how I could utilise the 'Injector for
>> on-the-fly css/js inclusion' in the porto mainlayout.pt to inject
>> scripts and stylesheets from a code source? This doesn't appear to be
>> documented anywhere.
>>
>> When using SilvaLayout we did the following:
>>
>> <HTML tal:define="rendered_ucl_content_area
>> context/@@ucl_default_content_area;
>> head_content
>> python:'\n'.join(request.other.setdefault('head', []));">
>> <HEAD>
>> <tal:block content="structure head_content"/>
>> </HEAD>
>> <BODY>
>> <tal:block metal:define-slot="content" content="structure
>> rendered_ucl_content_area"/>
>> </BODY>
>> </HTML>
>>
>>
>> Then in our code source we do this:
>> <tal:block define='js string:<script type="text/javascript"
>> src="http://www.ucl.ac.uk/js/jquery/ui.tabs.min.js"></script>' />
>>
>> <tal:block define="zz python:request.other.setdefault('head',
>> []).append(js)"/>
>>
>> So what is the recommended approach now?
>>
>
>
> We didn't really changed anything about this in 2.3 (we didn't really
> touch the code sources).
>
> The head_inject should still work, or the solution you proposed should
> work as well.
>
> One of the feature of silva.core.layout is that in your content view,
> the update method of the content view is called before the layout is
> rendered (the template). That might help you as well if you are able
> to collect the needed JS or CSS at that time.
>
> In 3.0, with the changes we made we will be able to add two new
> parameters to code sources that will be a list of CSS and JS to
> include, that will be automatically included in the layout, we now
> have an architecture that let you do that, solving that long standing
> problem.
>
>
> Regards,
>
> Sylvain
>
> --
> Sylvain Viollon -- Infrae
> t +31 10 243 7051 -- http://infrae.com
> Hoevestraat 10 3033GC Rotterdam -- The Netherlands
>
--
Jonathan Bowlas
Web Support Officer
Media Services
University College London
Email: j.bowlas at ucl.ac.uk
More information about the silva-dev
mailing list