Table of Contents
Zend_Tag
is a component suite which provides a facility
to work with taggable Items. As its base, it provides two classes to
work with Tags, Zend_Tag_Item
and
Zend_Tag_ItemList
. Additionally, it comes with the
interface Zend_Tag_Taggable
, which allows you to use any of
your models as a taggable item in conjunction with
Zend_Tag
.
Zend_Tag_Item
is a basic taggable item implementation
which comes with the essential functionallity required to work with
the Zend_Tag
suite. A taggable item always consists of
a title and a relative weight (e.g. number of occurences). It also
stores parameters which are used by the different sub-components of
Zend_Tag
.
To group multiple items together, Zend_Tag_ItemList
exists
as an array iterator and provides additional functionallity to calculate
absolute weight values based on on the given relative weights of each
item in it.
Example 50.1. Using Zend_Tag
This example illustrates how to create a list of tags and spread absolute weight values on them.
// Create the item list $list = new Zend_Tag_ItemList(); // Assign tags to it $list[] = new Zend_Tag_Item(array('title' => 'Code', 'weight' => 50)); $list[] = new Zend_Tag_Item(array('title' => 'Zend Framework', 'weight' => 1)); $list[] = new Zend_Tag_Item(array('title' => 'PHP', 'weight' => 5)); // Spread absolute values on the items $list->spreadWeightValues(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); // Output the items with their absolute values foreach ($list as $item) { printf("%s: %d\n", $item->getTitle(), $item->getParam('weightValue')); }
This will output the three items Code, Zend Framework and PHP with the absolute values 10, 1 and 2.