. */ /** * Doctrine_Template_Sluggable * * Easily create a slug for each record based on a specified set of fields * * @package Doctrine * @subpackage Template * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link www.phpdoctrine.org * @since 1.0 * @version $Revision$ * @author Konsta Vesterinen */ class Doctrine_Template_Sluggable extends Doctrine_Template { /** * Array of timestampable options * * @var string */ protected $_options = array('name' => 'slug', 'type' => 'clob', 'length' => null, 'options' => array(), 'fields' => array()); /** * __construct * * @param string $array * @return void */ public function __construct(array $options) { $this->_options = Doctrine_Lib::arrayDeepMerge($this->_options, $options); } /** * setTableDefinition * * @return void */ public function setTableDefinition() { $this->hasColumn($this->_options['name'], $this->_options['type'], $this->_options['length'], $this->_options['options']); $this->addListener(new Doctrine_Template_Listener_Sluggable($this->_options)); } }