0

私はフォームクラスに持っています:

public function configure()
{
        $emb = $this->getEmbeddedForms();
        foreach($emb as $key => $form)
        {
             unset($form['backup']);
        }
}

しかし、これは機能していません-設定解除されていません。$ embには次のものがあります:

oneForm
twoForm

oneForm と twoForm には、ウィジェットのバックアップがあります。これをgetEmbeddedFormsで設定解除したい。oneForm.class と twoForm.class でこれを設定解除できません。

4

2 に答える 2

1

の後にフォームを再度埋め込む必要がありますunset

public function configure()
{
  $emb = $this->getEmbeddedForms();

  foreach($emb as $key => $form)
  {
    unset($form['backup']);

    // re-embed the current form (it will override the previous one)
    $this->embedForm($key, $form);
  }
}
于 2012-08-17T11:57:27.057 に答える
0

まったく不思議ではありません。$this->getEmbeddedForms()ローカル変数の内容を割り当てます$emb;-))... 考えてみてください。

そう:

<?php
// ...

public function configure() {
 foreach($this->getEmbeddedForms() as $key => &$form) {
  unset($form['backup']);
 }
}
?>
于 2012-08-17T11:04:47.463 に答える