CatalystX::CMS::Controller - controller base class


 package MyApp::Controller::Foo;
 use base (
    'CatalystX::CMS::Controller',    # MUST come first
 sub bar : Local {
 # if /foo/bar?cxcms=edit then can edit foo/


CatalystX::CMS::Controller is a Catalyst::Controller base class for use with CatalystX::CMS.


Only new or overridden method are documented here.


Merges config with app config and then calls next::method().

create_action( args )

Overrides base method to use set default Action class as CatalystX::CMS::Action instead of Catalyst::Action.

cms_template_for( c, args )

Returns a CatalystX::CMS::Page object to be acted upon. The default assumes the same logic as Catalyst::View::TT but you may override to implement different naming scheme or logic.

args is an array. args is what is passed to the CatalystX::CMS::Action execute() method. See Catalyst::Action execute() documentation for details.

If present, args will be joined with a / and passed to the CMS model.

If no args are present, then $c->action->reverse is used.

If the special request param cxcms-url is present in $c->req->params, then that value will override all others and will be used as the file argument to the CMS model.

cms_may_edit( c )

Default returns true. Override to implement authorization.


Default local URL method for browsing the pages available in the CMS. Uses the cms/svn/ template by default.

Override this method in your local controller to customize the browsing of your CMS.


Peter Karman, <>


Please report any bugs or feature requests to, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


The Minnesota Supercomputing Institute sponsored the development of this software.


Copyright 2008 by the Regents of the University of Minnesota.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.