我希望有人在計算器有嚮導行爲擴展一些經驗:http://www.yiiframework.com/extension/wizard-behavior/的Yii - 嚮導行爲擴展 - 跳過步驟
的問題是,當我點擊提交的第一頁(用戶)上,這是不言而喻的所有到結算頁面的方式並跳過公司頁面...幫助?
我有3個步驟來收集信息:用戶,公司和結算頁面。這裏是我的行爲功能在我的控制器:
public function behaviors() {
return array(
'wizard'=>array(
'class'=>'ext.WizardBehavior.WizardBehavior',
'steps'=>array(
'user','company','billing'
)
)
)
}
這是我的處理步驟功能:
public function wizardProcessStep($event) {
$name = '_wizard'.ucfirst($event->step);
if (method_exists($this, $name)) {
call_user_func(array($this,$name), $event);
} else {
throw new CException(Yii::t('yii','{class} does not have a method named "{name}"', array('{class}'=>get_class($this), '{name}'=>$name)));
}
}
這是我公司的步驟爲例:
protected function _wizardCompany($event) {
echo 'called company';
exit();
$company=new Company;
if(isset($_POST['Company'])) {
$company->attributes=$_POST['Company'];
if($company->validate()) {
$event->sender->save($company->attributes);
$event->handled = true;
}
}
$this->render('new_company',array(
'company'=>$company,
'event'=>$event,
));
}
您是否可以發佈您的_wizardUser($ event)方法,該方法可能有一些代碼設置下一步計費。 – SuVeRa 2012-09-10 14:19:55
User中的代碼與wizardCompany相同,只需用'user'和'$ company'替換'Company'和'$ user' – ews2001 2012-09-10 19:54:32