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

public 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

public
iteratorProperties(int $pos, int $totalItems)

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

public
bool
First()

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

public
bool
Last()

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

public
string|null
FirstLast()

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

public
bool
Middle()

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

public
string|null
MiddleString()

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

public
bool
Even(int $startIndex = 1)

Return true if this object is an even item in the set.

public
bool
Odd(int $startIndex = 1)

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

public
string
EvenOdd(int $startIndex = 1)

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

public
int
Pos(int $startIndex = 1)

Return the numerical position of this object in the container set. The count starts at $startIndex.

public
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.

public
int
TotalItems()

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

public
int
Modulus($mod, int $startIndex = 1)

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

public
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

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)

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

bool First()

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

Return Value

bool

bool Last()

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

Return Value

bool

string|null FirstLast()

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

Return Value

string|null

bool Middle()

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

Return Value

bool

string|null MiddleString()

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

Return Value

string|null

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

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

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

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

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.

Parameters

int $endIndex

Value of the last item

Return Value

int

int TotalItems()

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

Return Value

int

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.

Parameters

$mod
int $startIndex

Number to start count from.

Return Value

int

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