2011-06-26 18 views
0

我想知道是否是可能的(?以及如何)覆蓋原則制定者,當我們用國際化ACTAS ...覆蓋原則制定者時,我們使用的是國際化ACTAS

我想是這樣的:

class Category extends BaseCategory 
{ 
    /* 
    * Overwrite save method 
    */ 
    public function save(Doctrine_Connection $conn = null) 
    { 
     $conn = $conn ? $conn : $this->getTable()->getConnection(); 

     $conn->beginTransaction(); 
     try 
     { 
      $this->setSlug(); 

      $ret = parent::save($conn); 
      $conn->commit(); 

      return $ret; 
     } 
     catch (Exception $e) 
     { 
      $conn->rollBack(); 
      throw $e; 
     } 
    } 

    public function setSlug() 
    { 
     $slug = $this->getName() . 'lala lala'; 
     parent::_set('slug', $slug); 
    } 
..... 

但只保存一個lang(我有2種語言)的$ slug值。

任何想法?

非常感謝!

回答

0

你可以簡單地通過翻譯循環:

foreach($this->Translations as $lang => $t) { 
    $t->slug = $t->name.'lala'; 
} 
1

感謝重播。我解決它是這樣的:

$ cultures = sfConfig :: get('app_cultures');

 // seteamos slug 
     foreach($cultures as $culture) 
     { 
      parent::_set('slug', 'lala lala'); 
     } ...