Template::Iterator::AlzaboWrapperCursor - Turns a Class::AlzaboWrapper::Cursor object into a TT2 iterator


Template-Iterator-AlzaboWrapperCursor documentation  | view source Contained in the Template-Iterator-AlzaboWrapperCursor distribution.

Index


NAME

Top

Template::Iterator::AlzaboWrapperCursor - Turns a Class::AlzaboWrapper::Cursor object into a TT2 iterator

SYNOPSIS

Top

  my $users =
      Template::Iterator::AlzaboWrapperCursor->new($cursor);
  # pass $users to a template

  my $users_with_pages =
      Template::Iterator::AlzaboWrapperCursor->new($users_with_pages);

In a template:

  [% FOREACH user = users %]
    Name: [% user.name %]<br />
  [% END %]

  [% FOREACH user_with_page = users_with_pages %]
    [% user_with_page.user.name %]: [% user_with_page.page.title %]
  [% END %]

DESCRIPTION

Top

This module allows a Class::AlzaboWrapper::Cursor object to be used as a TT2 iterator.

USAGE

Top

For a cursor which returns one object at a time, the iterator simply returns one object per iteration. When the cursor returns multiple objects, the iterator returns a hash reference where the keys are the table name of the object's class in lower-case, with camel-casing turned into underscores. The values of the hash are the objects.

So if the cursor returns Foo::User and Foo::Page objects, the keys are "user" and "page".

METHODS

Top

This class provides the following methods:

new($cursor)

This method accepts a Class::AlzaboWrapper::Cursor object and returns an iterator suitable for use in TT2 templates.

WISHLIST

Top

I wish that TT2 allowed multiple assignment in FOREACH loops so we could just do this:

  [% FOREACH user, page = users_with_pages %]

That's so much cleaner.

AUTHOR

Top

Dave Rolsky, <autarch@urth.org>

Initially written for Socialtext, Inc.

BUGS

Top

Please report any bugs or feature requests to bug-template-iterator-alzabowrappercursor@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

COPYRIGHT & LICENSE

Top


Template-Iterator-AlzaboWrapperCursor documentation  | view source Contained in the Template-Iterator-AlzaboWrapperCursor distribution.