增加支付编辑功能

来源:互联网 发布:宋智孝三围数据 编辑:程序博客网 时间:2024/06/07 05:18

CMS框架基于Yii1.1

后端

modules:manage

controllers:AppChannelManage

action:AppManage+AppEdit+GetPayMethodsByAppID

基于action:AppManage修改

$allCheckboxes = array();$allEnabledPayMethods = PayMethods::model()->findAllByAttributes(array('enable'=>1));//所有可用的支付方式if($allEnabledPayMethods){    foreach ($allEnabledPayMethods as $value) {        $allCheckboxes[$value['id']] = $value['name'];    }}$this->render('appManage',             array('records'=>$apps,              'pages'=>$pages,              'search_cond'=>$search_cond,             'allcheckboxes'=>$allCheckboxes,                ));
基于action:AppEdit修改

$allEnabledPayMethods = PayMethods::model()->findAllByAttributes(array('enable'=>1));//所有可用的支付方式if($allEnabledPayMethods){    foreach ($allEnabledPayMethods as $value) {        $paymethod = 'paymethod'.$value['id'];        if( isset( $_POST[$paymethod] ) ) {//有 若不存在 则增加            //查数据库            echo $_POST[$paymethod];            $appPayMethodModel = AppPayMethods::model()->findByPk(array('pay_method_id'=>$value['id'],'app_id'=>$_POST['id'],'channel_id'=>$channel_id));            if(!$appPayMethodModel) {                $appPayMethodModel = new AppPayMethods();                $appPayMethodModel->pay_method_id = $value['id'];                $appPayMethodModel->app_id = $_POST['id'];                $appPayMethodModel->channel_id = $channel_id;                $appPayMethodModel->save();            }        }        else {//无 存在 则删除            $appPayMethodModel = AppPayMethods::model()->findByPk(array('pay_method_id'=>$value['id'],'app_id'=>$_POST['id'],'channel_id'=>$channel_id));            if($appPayMethodModel) {                $appPayMethodModel->delete();            }        }    }}
增加函数action:GetPayMethodsByAppID

public function actionGetPayMethodsByAppID() {    $checkboxes = array();    $appId = $_POST['id'];    $appPayMethods = AppPayMethods::model()->findAllByAttributes(array('app_id'=>$appId));    if($appPayMethods) {        foreach ($appPayMethods as $appPayMethod) {            $payMethod = PayMethods::model()->findByPk(array('id'=>$appPayMethod['pay_method_id']));            $checkboxes[$appPayMethod['pay_method_id']] = $payMethod['name'];        }    }    echo json_encode(array('checkboxes'=>$checkboxes));    Yii::app()->end();

前端:jquery+ajax

views:appChannelManage.appManage

<?php foreach ($allcheckboxes as $key=>$value): ?><input type="checkbox" id="<?php echo 'paymethod_id'.$key ?>" name="<?php echo 'paymethod'.$key ?>" value="<?php echo $value ?>" ><?php echo $value;?><br>    <?php endforeach; ?>
        $.ajax({             type: "POST",            data: {id:appinfo.id},             url: '/manage/appChannelManage/getPayMethodsByAppID',             success: function(response, textStatus) {                response = eval("(" + response + ")");                console.log(response);                $.each(response.checkboxes ,function(index,element){                    var paymethod = "paymethod_id" + index;                    $("#"+paymethod).prop("checked", true);                    });                edit_app(paymethods);             },             error: function(xhr, textStatus, errThrown) {               alert('获取paymethods字段失败,请检查网络或联系管理员: ' + xhr.status + ' ' + xhr.responseText);                edit_app(paymethods);            }        });
        $.each(paymethods ,function(index,element){            var paymethod = "paymethod_id" + index;            $("#"+paymethod).prop("checked", false);        });
0 0
原创粉丝点击