Перезаписывать установщики доктрин, когда мы используем i18n actAs - PullRequest
0 голосов
/ 27 июня 2011

Я хочу знать, возможно ли (и как?) Перезаписать установщики доктрин, когда мы используем i18n 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);
    }
.....

Но сохраняйте значение $ slug только на одном языке (у меня есть 2 языка).

Любая идея ??

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Спасибо за переигровку.Я решил это так:

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

      // seteamos slug
      foreach($cultures as $culture)
      {
          parent::_set('slug', 'lala lala');
      } ...
0 голосов
/ 27 июня 2011

Вы можете просто перебрать переводы:

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