class SSViewer_BasicIteratorSupport implements TemplateIteratorProvider

Defines an extra set of basic methods that can be used in templates that are not defined on sub-classes of {@link ViewableData}.

Methods

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

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.

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.

int
FromEnd(integer $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, $startIndex = 1)

Returns the modulus of the numerical position of the item in the data set.

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.

Details

at line 227
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.

Return Value

array Returns an array of items. Each key => value pair is one of three forms: - template name (no key) - template name => method name - template name => array(), where the array can contain these key => value pairs - "method" => method name - "casting" => casting class to use (i.e., Varchar, HTMLText, etc)

at line 251
iteratorProperties(int $pos, int $totalItems)

Set the current iterator properties - where we are on the iterator.

Parameters

int $pos position in iterator
int $totalItems total number of items

at line 261
bool First()

Returns true if this object is the first in a set.

Return Value

bool

at line 270
bool Last()

Returns true if this object is the last in a set.

Return Value

bool

at line 279
string|null FirstLast()

Returns 'first' or 'last' if this is the first or last object in the set.

Return Value

string|null

at line 290
bool Middle()

Return true if this object is between the first & last objects.

Return Value

bool

at line 299
string|null MiddleString()

Return 'middle' if this object is between the first & last objects.

Return Value

string|null

at line 310
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.

Parameters

int $startIndex Number to start count from.

Return Value

bool

at line 320
bool Odd(int $startIndex = 1)

Return true if this is an odd item in the set.

Parameters

int $startIndex Number to start count from.

Return Value

bool

at line 330
string EvenOdd(int $startIndex = 1)

Return 'even' or 'odd' if this object is in an even or odd position in the set respectively.

Parameters

int $startIndex Number to start count from.

Return Value

string

at line 341
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.

Parameters

int $startIndex Number to start count from.

Return Value

int

at line 352
int FromEnd(integer $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.

Parameters

integer $endIndex Value of the last item

Return Value

int

at line 361
int TotalItems()

Return the total number of "sibling" items in the dataset.

Return Value

int

at line 372
int Modulus($mod, $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.

Parameters

$mod
$startIndex

Return Value

int

at line 384
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.

Parameters

int $factor The multiple of which to return
int $offset Number to start count from.

Return Value

bool