2011-08-07 19 views
0

symfonyでコピーアクションを作成する必要もあります。私はすでにこれらの質問と答えを見て:symfony 1.4: creating "Copy" action。それはうまくいくようですが、私はこれらのエラーメッセージを取得しようとすると: "csrfトークン:CSRF攻撃が検出されました"。フォームアトリビュートアクションを変更する場所がわからないためです。symfony 1.4のアクションをコピー

ご迷惑をおかけして申し訳ありません。ここで

私のコードです:

のactions.class.php:

class eventActions extends autoEventActions { 

    public function executeCopy(sfWebRequest $request) 
    { 

    $this->form = new EventCopyForm($this->getRoute()->getObject()); 
    $this->event = $this->form->getObject(); 
    $this->setTemplate('copy'); 
    } 

    public function executeUpdatecopy(sfWebRequest $request) 
    { 
    $this->form = new EventCopyForm($this->getRoute()->getObject()); 
    $this->processForm($request, $this->form); 
    $this->setTemplate('copy'); 
    } 
} 

EvenCopyForm.class.php:

class EventCopyForm extends EventForm { 

    public function doSave($conn = null) 
    { 
    $this->updateObject(); 
    $event = $this->getObject()->copy(); 
    $event->save(); 
    } 
} 

copySuccess.php:

<?php use_helper('I18N', 'Date') ?> 
<?php include_partial('event/assets') ?> 

<div id="sf_admin_container"> 
    <h1><?php echo __('Copy Event', array(), 'messages') ?></h1> 

    <?php include_partial('event/flashes') ?> 

    <div id="sf_admin_header"> 
    <?php include_partial('event/form_header', array('event' => $event, 'form' => $form, 'configuration' => $configuration)) ?> 
    </div> 
    <div id="sf_admin_content"> 
    <?php include_partial('event/form', array('event' => $event, 'form' => $form, 'configuration' => $configuration, 'helper' => $helper)) ?> 
    </div> 
    <div id="sf_admin_footer"> 
    <?php include_partial('event/form_footer', array('event' => $event, 'form' => $form, 'configuration' => $configuration)) ?> 
    </div> 
</div> 

答えて

0

私は今ではそれをdiffereでやったNTの方法:

$original->toArray(false); 
  • 次に解除ID: 私は配列としてオブジェクトを取得+

    解除($ originalValues [ 'ID'])。

  • は、私が保存コピーオブジェクトを作る:

    $は(=新しいイベントをコピーします)。 $ copy-> fromArray($ originalValues); $ copy-> save();

これは問題なく機能します。

関連する問題