이 기사의 예에서는 Yii가 충돌 없이 다중 버튼 저장 및 제출을 구현하는 방법을 설명합니다. 이는 많은 초보자들이 겪었지만 해결 방법을 모르는 문제입니다. 참고할 수 있도록 아래에 공유하겠습니다. 구체적인 방법은 다음과 같습니다.
Yii의 CForm만 submit() 메소드를 사용할 수 있습니다. if($form->submitted('submit'))를 사용하여 다음과 같이 submit이라는 버튼이 클릭되었는지 여부를 확인할 수 있습니다.
양식:
'buttons'=>array(
'미리보기'=>배열(
'유형'=>'제출',
'label'=>yii::t('core','미리보기 표시'),
),
'초안'=>배열(
'유형'=>'제출',
'label'=>yii::t('core','초안 저장'),
),
'제출'=>배열(
'유형'=>'제출',
'label'=>yii::t('core','제출'),
),
CHtml::link(yii::t('core','Cancel'),yii::app()->homeUrl),
),
컨트롤러:
if($form->submitted('submit' ))
$model->status=게시물::STATUS_PROPOSED;
그 외
$model->status=게시물::STATUS_DRAFT;
그러나 CActiveForm에는 이 방법이 없습니다. 한 가지 해결책은 고전적인 HTML 작성을 사용하는 것입니다.
>
if(isset($_POST['submityes']))
그게 다야.
최종 실행 효과는 다음과 같습니다.
이 기사가 Yii 프레임워크를 기반으로 PHP 프로그램을 설계하는 데 도움이 되기를 바랍니다.