Template::Plugin::Cycle man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Template::Plugin::CyclUser Contributed Perl DocumentTemplate::Plugin::Cycle(3)

NAME
       Template::Plugin::Cycle - Cyclically insert into a Template from a
       sequence of values

SYNOPSIS
	 [% USE cycle('row', 'altrow') %]

	 <table border="1">
	   <tr class="[% class %]">
	     <td>First row</td>
	   </tr>
	   <tr class="[% class %]">
	     <td>Second row</td>
	   </tr>
	   <tr class="[% class %]">
	     <td>Third row</td>
	   </tr>
	 </table>

	 ###################################################################
	 # Alternatively, you might want to make it available to all templates
	 # throughout an entire application.

	 use Template::Plugin::Cycle;

	 # Create a Cycle object and set some values
	 my $Cycle = Template::Plugin::Cycle->new;
	 $Cycle->init('normalrow', 'alternaterow');

	 # Bind the Cycle object into the Template
	 $Template->process( 'tablepage.html', class => $Cycle );

	 #######################################################
	 # Later that night in a Template

	 <table border="1">
	   <tr class="[% class %]">
	     <td>First row</td>
	   </tr>
	   <tr class="[% class %]">
	     <td>Second row</td>
	   </tr>
	   <tr class="[% class %]">
	     <td>Third row</td>
	   </tr>
	 </table>

	 [% class.reset %]
	 <table border="1">
	   <tr class="[% class %]">
	     <td>Another first row</td>
	   </tr>
	 </table>

	 #######################################################
	 # Which of course produces

	 <table border="1">
	   <tr class="normalrow">
	     <td>First row</td>
	   </tr>
	   <tr class="alternaterow">
	     <td>Second row</td>
	   </tr>
	   <tr class="normalrow">
	     <td>Third row</td>
	   </tr>
	 </table>

	 <table border="1">
	   <tr class="normalrow">
	     <td>Another first row</td>
	   </tr>
	 </table>

DESCRIPTION
       Sometimes, apparently almost exclusively when doing alternating table
       row backgrounds, you need to print an alternating, cycling, set of
       values into a template.

       Template::Plugin::Cycle is a small, simple, and hopefully DWIM solution
       to these sorts of tasks.

       It can be used either as a normal Template::Plugin, or can be created
       directly and passed in as a template argument, so that you can set up
       situations where it is implicitly available in every page.

METHODS
   new [ $Context ] [, @list ]
       The "new" constructor creates and returns a new
       "Template::Plugin::Cycle" object. It can be optionally passed an
       initial set of values to cycle through.

       When called from within a Template, the new constructor will be passed
       the current Template::Context as the first argument. This will be
       ignored.

       By doing this, you can use it both directly, AND from inside a
       Template.

   init @list
       If you need to set the values for a new empty object, of change the
       values to cycle through for an existing object, they can be passed to
       the "init" method.

       The method always returns the '' null string, to avoid inserting
       anything into the template.

   elements
       The "elements" method returns the number of items currently set for the
       "Template::Plugin::Cycle" object.

   list
       The "list" method returns the current list of values for the
       "Template::Plugin::Cycle" object.

       This is also the prefered method for getting access to a value at a
       particular position within the list of items being cycled to.

	 [%# Access a variety of things from the list %]
	 The first item in the Cycle object is [% cycle.list.first %].
	 The second item in the Cycle object is [% cycle.list.[1] %].
	 The last item in the Cycle object is [% cycle.list.last %].

   next
       The "next" method returns the next value from the Cycle. If the end of
       the list of valuese is reached, it will "cycle" back the first object
       again.

       This method is also the one called when the object is stringified. That
       is, when it appears on its own in a template. Thus, you can do
       something like the following.

	 <!-- An example of alternate row classes in a table-->
	 <table border="1">
	   <!-- Explicitly access the next class in the cycle -->
	   <tr class="[% rowclass.next %]">
	     <td>First row</td>
	   </tr>
	   <!-- This has the same effect -->
	   <tr class="[% rowclass %]">
	     <td>Second row</td>
	   </tr>
	 </table>

   value
       The "value" method is an analogy for the "next" method.

   reset
       If a single "Template::Plugin::Cycle" object is to be used it multiple
       places within a template, and it is important that the same value be
       first every time, then the "reset" method can be used.

       The "reset" method resets the Cycle, so that the next value returned
       will be the first value in the Cycle object.

SUPPORT
       Bugs should be submitted via the CPAN bug tracker, located at

       http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Plugin-Cycle
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Plugin-Cycle>

       For other issues, or commercial enhancement or support, contact the
       author..

AUTHOR
       Adam Kennedy <adamk@cpan.org>

       Thank you to Phase N Australia (http://phase-n.com/ <http://phase-
       n.com/>) for permitting the open sourcing and release of this
       distribution as a spin-off from a commercial project.

COPYRIGHT
       Copyright 2004 - 2008 Adam Kennedy.

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

       The full text of the license can be found in the LICENSE file included
       with this module.

perl v5.14.1			  2008-06-19	    Template::Plugin::Cycle(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net