推动行为i18n和可存档

时间:2013-04-24 09:41:50

标签: internationalization archive propel

我正在使用推进器,我在我的一张桌子上设置了两个行为:

<behavior name="archivable" />
<behavior name="i18n">
  <parameter name="i18n_columns" value="name" />
  <parameter name="default_locale" value="de" />
</behavior>

问题是,如果我存档该表的对象,则不会保存字段“name”。显然在Base-Class的“copyInto”方法中没有

$copyObj->setName($this->getName());

这是推进中的错误还是我在这里错过了一些错误?

1 个答案:

答案 0 :(得分:0)

您必须手动归档i18n信息,方法是使表可存档,并覆盖生成的archive()方法。 Propel博客中给出了一个例子:

class Book extends BaseBook
{
  public function archive(PropelPDO $con = null)
  {
    // archive the book reviews
    BookReviewQuery::create()
      ->filterByBook($this)
      ->archive($con);
    // archive the current object
    return parent::archive($con);
  }
}

来源:http://propel.posterous.com/introducing-archivable-behavior-and-why-softd