SSViewer_BasicIteratorSupport
class SSViewer_BasicIteratorSupport implements TemplateIteratorProvider (View source)
Defines an extra set of basic methods that can be used in templates that are not defined on sub-classes of ViewableData.
Properties
protected | $iteratorPos | |||
protected | $iteratorTotalItems |
Methods
Called by SSViewer to get a list of iterator variables to expose to the template, the instance method to call on an instance of this class to get the value for those variables, and the class to use for casting the returned value for use in a template
Set the current iterator properties - where we are on the iterator.
Returns 'first' or 'last' if this is the first or last object in the set.
Return 'middle' if this object is between the first & last objects.
Return 'even' or 'odd' if this object is in an even or odd position in the set respectively.
Return the numerical position of this object in the container set. The count starts at $startIndex.
Return the position of this item from the last item in the list. The position of the final item is $endIndex, which defaults to 1.
Returns the modulus of the numerical position of the item in the data set.
Returns true or false depending on if the pos of the iterator is a multiple of a specific number.
Details
static array
get_template_iterator_variables()
Called by SSViewer to get a list of iterator variables to expose to the template, the instance method to call on an instance of this class to get the value for those variables, and the class to use for casting the returned value for use in a template
If the method to call is not included for a particular template variable, a method named the same as the template variable will be called
If the casting class is not specified for a particular template variable, ViewableData::$default_cast is used
The first letter of the template variable is case-insensitive. However the method name is always case sensitive.
iteratorProperties(int $pos, int $totalItems)
Set the current iterator properties - where we are on the iterator.
bool
First()
Returns true if this object is the first in a set.
bool
Last()
Returns true if this object is the last in a set.
string|null
FirstLast()
Returns 'first' or 'last' if this is the first or last object in the set.
bool
Middle()
Return true if this object is between the first & last objects.
string|null
MiddleString()
Return 'middle' if this object is between the first & last objects.
bool
Even(int $startIndex = 1)
Return true if this object is an even item in the set.
The count starts from $startIndex, which defaults to 1.
bool
Odd(int $startIndex = 1)
Return true if this is an odd item in the set.
string
EvenOdd(int $startIndex = 1)
Return 'even' or 'odd' if this object is in an even or odd position in the set respectively.
int
Pos(int $startIndex = 1)
Return the numerical position of this object in the container set. The count starts at $startIndex.
The default is the give the position using a 1-based index.
int
FromEnd(int $endIndex = 1)
Return the position of this item from the last item in the list. The position of the final item is $endIndex, which defaults to 1.
int
TotalItems()
Return the total number of "sibling" items in the dataset.
int
Modulus($mod, int $startIndex = 1)
Returns the modulus of the numerical position of the item in the data set.
The count starts from $startIndex, which defaults to 1.
bool
MultipleOf(int $factor, int $offset = 1)
Returns true or false depending on if the pos of the iterator is a multiple of a specific number.
So, <% if MultipleOf(3) %> would return true on indexes: 3,6,9,12,15, etc. The count starts from $offset, which defaults to 1.