Jifty::View::Declare::Helpers(3) Additional subroutines for Jifty TD templates


This library provides mixins to help build your application's user interface.



get args

Returns arguments as set in the dispatcher or with ``set'' below. If called in scalar context, pulls the first item in "args" and returns it. If called in list context, returns the values of all items in "args".

    my $action = get('action');
    my ($action, $object) = get(qw(action object));

set key => val [ key => val ...]

Sets arguments for later grabbing with get.

HTML pages and layouts


 template 'foo' => page {{ title is 'Foo' } ... };
 template 'foo' => page { title => 'Foo' } content { ... };

Renders an HTML page wrapped in ``wrapper'', after calling ``/_elements/nav'' and setting a content type. Generally, you shouldn't be using ``/_elements/nav'' but a Dispatcher rule instead.

If "page/content" calling convention is used, the return value of the first sub will be passed into wrapper as the second argument as a hashref, as well as the last argument for the content sub.


Helper function for page { ... } content { ... }, read ``page'' instead.

wrapper $coderef

Render a page. $coderef is a Template::Declare coderef. This badly wants to be redone.

Forms and actions

form CODE

Takes a subroutine reference or block of perl as its only argument and renders it as a Jifty "form", for example:

    my $action = new_action class => 'CreateTask';
    form {
        form_next_page url => '/';
        render_action $action;
        form_submit( label => _('Create') );

You can specify the form name using ``with'' in Template::Declare::Tags, like so:

    with (name => 'create_task'), form {


Shortcut for ``new_action'' in Jifty::Web.

render_action $action_object, $fields, $args_to_pass_to_action

Renders an action out of whole cloth.


A Jifty::Action object which has already been initialized
A reference to an array of fields that should be rendered when displaying this action. If left undefined, all of the action's fields will be rendered.
A hashref of arguments that should be passed to $action->form_field for every field of this action.

render_param $action, $param, %args

Takes an action and one or more arguments to pass to Jifty::Action->form_field.

render_hidden $action $name $default @args

Takes an action and one or more arguments to pass to Jifty::Action->hidden


Shortcut for ``return'' in Jifty::Web::Form.


Shortcut for ``submit'' in Jifty::Web::Form.


Shortcut for ``next_page'' in Jifty::Web::Form.

Other functions and shortcuts


Shortcut for ``link'' in Jifty::Web.


Shortcut for ``tangent'' in Jifty::Web.


Shortcut for ``redirect'' in Jifty::Web.


A shortcut for "Jifty::Web::PageRegion->new(@_)->render" which does the Template::Declare magic necessary to not mix its output with your current page's.


Shortcut for ``request'' in Jifty::Web.


Shortcut for ``current_user'' in Jifty::Web.


Allows you to put javascript handlers, a la Jifty::Web::Form::Element, onto arbitrary HTML elements:

  div {
      js_handlers {
          onclick => { path => "/some/region/path" }

render_mason PATH, ARGS

Renders the Mason template at "PATH" (a string) with "ARGS" (a hashref).