Problem on Sluggable Listener default values merging
This commit is contained in:
parent
7d6e9b29d0
commit
716bcedd76
@ -44,7 +44,7 @@ class Doctrine_Template_Listener_Sluggable extends Doctrine_Record_Listener
|
|||||||
'length' => null,
|
'length' => null,
|
||||||
'options' => array(),
|
'options' => array(),
|
||||||
'fields' => array());
|
'fields' => array());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* __construct
|
* __construct
|
||||||
*
|
*
|
||||||
@ -53,7 +53,7 @@ class Doctrine_Template_Listener_Sluggable extends Doctrine_Record_Listener
|
|||||||
*/
|
*/
|
||||||
public function __construct(array $options)
|
public function __construct(array $options)
|
||||||
{
|
{
|
||||||
$this->_options = array_merge($options, $this->_options);
|
$this->_options = Doctrine_Lib::arrayDeepMerge($this->_options, $options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function preInsert(Doctrine_Event $event)
|
public function preInsert(Doctrine_Event $event)
|
||||||
@ -61,7 +61,7 @@ class Doctrine_Template_Listener_Sluggable extends Doctrine_Record_Listener
|
|||||||
$name = $this->_options['name'];
|
$name = $this->_options['name'];
|
||||||
|
|
||||||
$record = $event->getInvoker();
|
$record = $event->getInvoker();
|
||||||
|
|
||||||
if (!$record->$name) {
|
if (!$record->$name) {
|
||||||
$record->$name = $this->buildSlug($record);
|
$record->$name = $this->buildSlug($record);
|
||||||
}
|
}
|
||||||
@ -80,4 +80,4 @@ class Doctrine_Template_Listener_Sluggable extends Doctrine_Record_Listener
|
|||||||
|
|
||||||
return Doctrine_Inflector::urlize($value);
|
return Doctrine_Inflector::urlize($value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ class Doctrine_Template_Sluggable extends Doctrine_Template
|
|||||||
'length' => null,
|
'length' => null,
|
||||||
'options' => array(),
|
'options' => array(),
|
||||||
'fields' => array());
|
'fields' => array());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* __construct
|
* __construct
|
||||||
*
|
*
|
||||||
@ -55,7 +55,7 @@ class Doctrine_Template_Sluggable extends Doctrine_Template
|
|||||||
{
|
{
|
||||||
$this->_options = Doctrine_Lib::arrayDeepMerge($this->_options, $options);
|
$this->_options = Doctrine_Lib::arrayDeepMerge($this->_options, $options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setTableDefinition
|
* setTableDefinition
|
||||||
*
|
*
|
||||||
@ -64,7 +64,7 @@ class Doctrine_Template_Sluggable extends Doctrine_Template
|
|||||||
public function setTableDefinition()
|
public function setTableDefinition()
|
||||||
{
|
{
|
||||||
$this->hasColumn($this->_options['name'], $this->_options['type'], $this->_options['length'], $this->_options['options']);
|
$this->hasColumn($this->_options['name'], $this->_options['type'], $this->_options['length'], $this->_options['options']);
|
||||||
|
|
||||||
$this->addListener(new Doctrine_Template_Listener_Sluggable($this->_options));
|
$this->addListener(new Doctrine_Template_Listener_Sluggable($this->_options));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user