CatalystX::ComponentsFromConfig::ViewPlugin - plugin to create Views from configuration
version 1.006
In your application:
package My::App; use Catalyst qw( ConfigLoader +CatalystX::ComponentsFromConfig::ViewPlugin );
In your config:
<View::MyClass> class My::Class <args> some param </args> <traits> +My::Special::Role </traits> </View::MyClass>
Now, $c->view('MyClass') will contain an object built just like:
$c->view('MyClass')
my $obj = My::Class->new({some=>'param'}); apply_all_roles($obj,'My::Special::Role');
This plugin, built on CatalystX::ComponentsFromConfig::Role::PluginRole, allows you to create view components at application setup time, just by specifying them in the configuration.
<views_from_config> base_class My::ViewAdaptor </views_from_config>
The default base_class is CatalystX::ComponentsFromConfig::ViewAdaptor, but you can specify whatever adaptor you want. Of course, you have to make sure that the view-specific configuration block is in the format that your adaptor expects.
base_class
CatalystX::ComponentsFromConfig::ViewAdaptor
A useful example is when you want to use Catalyst::View::TT:
<View::Template> base_class Catalyst::View::TT INCLUDE_PATH __path_to('root/src')__ INCLUDE_PATH __path_to('root/lib')__ TEMPLATE_EXTENSION .tt CATALYST_VAR Catalyst TIMER 0 </View::Template>
Note that, since we're not using CatalystX::ComponentsFromConfig::ViewAdaptor, the way you pass the various parameters is different than what is shown at the top.
Tomas Doran (t0m) <bobtfish@bobtfish.net>
Gianni Ceccarelli <gianni.ceccarelli@net-a-porter.com>
This software is copyright (c) 2012 by Net-a-porter.com.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install CatalystX::ComponentsFromConfig, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CatalystX::ComponentsFromConfig
CPAN shell
perl -MCPAN -e shell install CatalystX::ComponentsFromConfig
For more information on module installation, please visit the detailed CPAN module installation guide.