toArray(); } if (!is_array($options)) { require_once 'Zend/Tag/Exception.php'; throw new Zend_Tag_Exception('Invalid options provided to constructor'); } $this->setOptions($options); if ($this->_title === null) { require_once 'Zend/Tag/Exception.php'; throw new Zend_Tag_Exception('Title was not set'); } if ($this->_weight === null) { require_once 'Zend/Tag/Exception.php'; throw new Zend_Tag_Exception('Weight was not set'); } } /** * Set options of the tag * * @param array $options * @return Zend_Tag_Item */ public function setOptions(array $options) { foreach ($options as $key => $value) { if (in_array(strtolower($key), $this->_skipOptions)) { continue; } $method = 'set' . $key; if (method_exists($this, $method)) { $this->$method($value); } } return $this; } /** * Defined by Zend_Tag_Taggable * * @return string */ public function getTitle() { return $this->_title; } /** * Set the title * * @param string $title * @throws Zend_Tag_Exception When title is no string * @return Zend_Tag_Item */ public function setTitle($title) { if (!is_string($title)) { require_once 'Zend/Tag/Exception.php'; throw new Zend_Tag_Exception('Title must be a string'); } $this->_title = (string) $title; return $this; } /** * Defined by Zend_Tag_Taggable * * @return float */ public function getWeight() { return $this->_weight; } /** * Set the weight * * @param float $weight * @throws Zend_Tag_Exception When weight is not numeric * @return Zend_Tag_Item */ public function setWeight($weight) { if (!is_numeric($weight)) { require_once 'Zend/Tag/Exception.php'; throw new Zend_Tag_Exception('Weight must be numeric'); } $this->_weight = (float) $weight; return $this; } /** * Set multiple params at once * * @param array $params * @return Zend_Tag_Item */ public function setParams(array $params) { foreach ($params as $name => $value) { $this->setParam($name, $value); } return $this; } /** * Defined by Zend_Tag_Taggable * * @param string $name * @param mixed $value * @return Zend_Tag_Item */ public function setParam($name, $value) { $this->_params[$name] = $value; return $this; } /** * Defined by Zend_Tag_Taggable * * @param string $name * @return mixed */ public function getParam($name) { if (isset($this->_params[$name])) { return $this->_params[$name]; } return null; } }