NAME Template::Iterator::AlzaboWrapperCursor - Turns a Class::AlzaboWrapper::Cursor object into a TT2 iterator SYNOPSIS 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 %]
[% END %] [% FOREACH user_with_page = users_with_pages %] [% user_with_page.user.name %]: [% user_with_page.page.title %] [% END %] DESCRIPTION This module allows a "Class::AlzaboWrapper::Cursor" object to be used as a TT2 iterator. USAGE 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 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 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 Dave Rolsky, Initially written for Socialtext, Inc. BUGS Please report any bugs or feature requests to "bug-template-iterator-alzabowrappercursor@rt.cpan.org", 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. COPYRIGHT & LICENSE Copyright 2006 Dave Rolsky, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.