CatalystX::CMS::Action - action base class


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


CatalystX::CMS::Action isa Catalyst::Action class that handles all the template management. It is typically accessed via a subclass of CatalystX::CMS::Controller.


Only new or overridden method are documented here.

new([ cms => CatalystX::CMS->new ])

Overrides new() method to call next::method() and then instantiate a CatalystX::CMS object.

You can pass in a cms key/value pair. The value should be an object that conforms to the CatalystX::CMS API.

execute( args )

Checks for the presence the cxcms request parameter. If present and true, calls the cms() method instead of the action's target method.

do_cms( controller, c, arg )

The primary engine of the CMS. Called via execute() if the cxcms param is true.

Possible values for the cxcms parameter:

  • create

  • edit

  • cancel

  • save

  • preview

  • diff

  • history

  • blame

See the documentation for CatalystX::CMS for the method name matching the cxcms value.


Works just like the http_method in CatalystX::CRUD::REST. Returns the request method, deferring to the x-tunneled-method or _http_method params if present.


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.