Ben bu olay dinleyicileri sayfa http://www.doctrine-project.org/documentation/manual/1_1/pl/event-listeners bakarak oldum ve ben BaseModelForm.class.php DoSave () yönteminden sonra bir değişiklik yapmak için kullanmak zorunda dinleyici olduğu emin değilim.
// PlaceForm.class.php
protected function doSave ( $con = null )
{
...
parent::doSave($con);
....
// Only for new forms, insert place into the tree
if($this->object->level == null){
$parent = Place::getPlace($this->getValue('parent'), Language::getLang());
...
$node = $this->object->getNode();
$method = ($node->isValidNode() ? 'move' : 'insert') . 'AsFirstChildOf';
$node->$method($parent); //calls $this->object->save internally
}
return;
}
Ne yapmak istediğiniz yeni bir yer atalarının 'adı ile özel bir sümüklü böcek yapmaktır. Ben "San Francisco" ekleyerek Yani, sülük "usa-california-san-francisco" olacaktır
public function postXXXXXX($event)
{
...
$event->getInvoker()->slug = $slug;
}
Sorun için üst bir referans ile yeni bir nesne ekleme olmam. Kaydedilene sonra, ağaca takın. Yani o zamana kadar sülük değiştiremezsiniz.
Bir İşlem dinleyici işe yarayabilir düşünüyorum, ama ben şu anda göremiyorum daha iyi bir yolu yoktur kullanım değilim.
teşekkürler!