0

我一直在 Yii 框架中开发一个应用程序。在这一点上,我遇到了一个问题,即我有一个订单表格,我从下拉列表中选择一个注册人(所有注册人来自数据库),从下拉列表中选择一个项目(所有产品项目来自数据库)和一个输入文本框,其中我输入数量。有一个“ajaxSubmitButton”按钮可以使用 Ajax 将所有这些值发送到控制器“actionCart”。在控制器中接收到所有值后,我想将所有值放入会话变量中。当我添加另一个新项目时,会话值将被替换为我想要将所有新添加的项目保存到会话变量中。在这种情况下,我该怎么办。请帮我。我在下面给出我的代码片段:

通知:

<div class="form">
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'order-form',
'enableAjaxValidation'=>false,
    'htmlOptions'=>array('class'=>'form-horizontal' , 'enctype'=>'multipart/form-data', ),

)); ?>

<div class="alert alert-info" xmlns="http://www.w3.org/1999/html">
    <p class="note">Fields with <strong><span class="required">*</span></strong> are required.</p>
</div>

<?php echo $form->errorSummary($model); ?>

<div class="form-group">
    <?php echo $form->labelEx($model,'registration_id', array('class' => 'control-label col-lg-4')); ?>
    <div class="col-lg-8">
        <?php
        $data = CHtml::listData(Registration::model()->findAll(),'id', 'name');
        echo $form->dropDownList($model,'registration_id',$data,array('class' => 'form-control chzn-select','prompt'=>'Select a Registrant'));
        ?>
    </div>
    <?php echo $form->error($model,'registration_id'); ?>
</div>

<div class="form-group">
    <?php echo $form->labelEx($model,'item', array('class' => 'control-label col-lg-4')); ?>
    <div class="col-lg-8">
        <?php
        $data = CHtml::listData(Products::model()->findAll(),'id', 'name');
        echo $form->dropDownList($model,'item',$data, array('class'=>'form-control chzn-select' , 'id'=>'item', 'prompt'=>'Select an Item')); ?>
        <?php
    ?>
    </div>
    <?php echo $form->error($model,'item'); ?>
</div>

<div class="form-group">
    <?php echo $form->labelEx($model,'quantity', array('class' => 'control-label col-lg-4')); ?>
    <div class="col-lg-2">
        <?php
        echo $form->textField($model,'quantity',array('class' => 'form-control','size'=>60,'maxlength'=>11));
        ?>
    </div>
    <?php echo $form->error($model,'quantity'); ?>
</div>

<div class="form-group">
    <div class="col-lg-8 pull-right">
    <?php
    echo CHtml::ajaxSubmitButton('Add to Cart',Yii::app()->createUrl('admin/order/cart'),
        array(
            'type'=>'POST',
            'update'=>'#cartResult',
        ),
        array('class'=>'btn btn-primary btn-sm',));
    ?>
    </div>
</div>
<div class="form-group">
    <div id="cartResult" class="col-lg-12">
    </div>
</div>
<?php $this->endWidget(); ?>
</div>

在控制器中:

public function actionCart()
{
    if(isset($_POST["Order"])){
        $item = $_POST["Order"];
        $registration_id = $item["registration_id"];
        $productId = $item["item"];
        $quantity = $item["quantity"];
        $quantity = $item["quantity"]=='' ? 1 : $item["quantity"];

        $productInfo = Products::model()->findByPk(array('id'=>$productId));
        $totalPrice = $productInfo->price * $quantity;

        $session = Yii::app()->session;
        $session['cart'] = array("product_id" => "$productId" , "product_name" => "$productInfo->name", "quantity" => "$quantity","price" => "$productInfo->price");

    }

}
4

0 回答 0