1Catalyst::View::ComponeUnste:r:SCuobnItnrcilbCuuadtteea:dl:yEPsSetIr:(l:3V)Dioecwu:m:eCnotmaptoinoennt::SubInclude::ESI(3)
2
3
4
6 Catalyst::View::Component::SubInclude::ESI - Edge Side Includes (ESI)
7 plugin for C::V::Component::SubInclude
8
10 Version 0.07_03
11
13 In your view class:
14
15 package MyApp::View::TT;
16 use Moose;
17
18 extends 'Catalyst::View::TT';
19 with 'Catalyst::View::Component::SubInclude';
20
21 __PACKAGE__->config( subinclude_plugin => 'ESI' );
22
23 Then, somewhere in your templates:
24
25 [% subinclude('/my/widget') %]
26
28 "Catalyst::View::Component::SubInclude::ESI" renders "subinclude" calls
29 as Edge Side Includes (ESI) include directives. This is a feature
30 implemented by Varnish (<http://varnish.projects.linpro.no/>) which
31 allows cache-efficient uses of includes.
32
34 "generate_subinclude( $c, $path, @args )"
35 Note that $path should be the private action path - translation to the
36 public path is handled internally. After translation, this will roughly
37 translate to the following code:
38
39 my $url = $c->uri_for( $translated_path, @args )->path_query;
40 return '<!--esi <esi:include src="$url" /> -->';
41
42 Notice that the stash will always be empty. This behavior could be
43 configurable in the future through an additional switch - for now, this
44 behavior guarantees a common interface for plugins.
45
47 Catalyst::View::Component::SubInclude,
48 <http://www.catalystframework.org/calendar/2008/17>,
49 <http://varnish.projects.linpro.no/>
50
52 Nilson Santos Figueiredo Junior, "<nilsonsfj at cpan.org>"
53
55 Development sponsored by Ionzero LLC <http://www.ionzero.com/>.
56
58 Copyright (C) 2009 Nilson Santos Figueiredo Junior.
59
60 Copyright (C) 2009 Ionzero LLC.
61
62 This program is free software; you can redistribute it and/or modify it
63 under the same terms as Perl itself.
64
65
66
67perl v5.32.0 C2a0t2a0l-y0s7t-:2:8View::Component::SubInclude::ESI(3)