私は Cakephp を初めて使用します。過去 2 か月間、複数ページのフォームの作成に役立つウィザード コンポーネントを使用するプロジェクトを開発してきました。
私の質問は、前のステップからプロセスの次のステップのビューにセッション データを設定する方法です。
これまでのところ、コントローラーにこれがあります
コントローラー/Uploadstylecontroller.php
CakePlugin::load('Wizard');
class UploadstyleController extends AppController {
var $uses = array('Post');
public $components = array('Wizard.Wizard');
var $username = array();
public function beforeFilter(){
$this->layout = 'loggedinnorightbar';
$this->Auth->allow('wizard','uploadstyle','styledetails','uploadcomplete');
$this->Wizard->steps = array( 'uploadstyle','editpicture');
$this->Wizard->wizardAction = '/uploadstyle/wizard/uploadstyle';
$this->Wizard->completeUrl = '/uploadstyle/uploadcomplete';
}
public function uploadcomplete(){
}
public function wizard($step = null) {
$this->Wizard->process($step);
}
/**
* [Wizard Process Callbacks]
*/
public function processUploadstyle() {
$this->Post->set($this->data);
if($this->Post->validates()) {
return true;
}
return false;
}
public function processEditpicture() {
$uploadstyle = $this->Wizard->read();
$this->set( 'uploadstyle',$uploadstyle );
if($this->Post->validates()) {
return true;
}
return false;
}
データの保存は問題なく機能しているため、気にしません。
私の見解では、uploadstyle/editpicture.ctp
<div class="signupwrapper" style="position:relative; width:470px; margin-top:30px;">
<?php echo $this->Form->create('Uploadstyle', array('id' => 'UploadstyleForm', 'url' => '/uploadstyle/wizard/editpicture'));
echo $this->Form->hidden('Post.shines', array('value' => 0));
echo $uploadstyle['Post']['image_name'];
?>
<div class="submit">
<?php echo $this->Form->submit('Continue', array('div' => false)); ?>
<?php echo $this->Form->submit('Cancel', array('name' => 'Cancel', 'div' => false)); ?>
</div>
<?php echo $this->Form->end(); ?>
</div>
'echo $upload['Post']['image_name']' に関して、アクティブ化する必要があるコンポーネントに何かありますか、それともビューで配列を間違って参照していますか?
どんな助けでも大歓迎です!
こちらで質問するのは初めてで、長文になってしまい申し訳ありません。