会员中心地址编辑bug问题

bug问题 · dosenje · 于 6年前 发布 · 1750 次阅读

/app/appfront/theme/base/front/customer/address/edit.php

缺少错误信息展示

<?= Yii::$service->page->widget->render('flashmessage'); ?>

/app/appfront/modules/Customer/block/address/Edit.php

public function save($address)
    {
        $arr = [];
        $email = isset($address['email']) ? $address['email'] : '';
        $first_name = isset($address['first_name']) ? $address['first_name'] : '';
        $last_name = isset($address['last_name']) ? $address['last_name'] : '';
        $telephone = isset($address['telephone']) ? $address['telephone'] : '';
        $country = isset($address['country']) ? $address['country'] : '';
        $state = isset($address['state']) ? $address['state'] : '';
        //$company = isset($address['company']) ? $address['company'] : '';
        //$fax = isset($address['fax']) ? $address['fax'] : '';
        $street1 = isset($address['street1']) ? $address['street1'] : '';
        $street2 = isset($address['street2']) ? $address['street2'] : '';
        $city = isset($address['city']) ? $address['city'] : '';
        $zip = isset($address['zip']) ? $address['zip'] : '';
        $is_default = isset($address['is_default']) ? $address['is_default'] : '';
        if (!$email) {
            $error[] = ['email'];
        } else {
            $arr['email'] = $email;
        }
        if (!$first_name) {
            $error[] = ['first_name'];
        } else {
            $arr['first_name'] = $first_name;
        }
        if (!$last_name) {
            $error[] = ['last_name'];
        } else {
            $arr['last_name'] = $last_name;
        }
        if (!$telephone) {
            $error[] = ['telephone'];
        } else {
            $arr['telephone'] = $telephone;
        }
        if (!$country) {
            $error[] = ['country'];
        } else {
            $arr['country'] = $country;
        }
        if (!$state) {
            $error[] = ['state'];
        } else {
            $arr['state'] = $state;
        }
        if (!$street1) {
            $error[] = ['street1'];
        } else {
            $arr['street1'] = $street1;
        }
        if (!$city) {
            $error[] = ['city'];
        } else {
            $arr['city'] = $city;
        }
        if (!$zip) {
            $error[] = ['zip'];
        } else {
            $arr['zip'] = $zip;
        }
        if (!empty($error)) {
            $str = implode(',', $error).' can not empty';
            Yii::$service->page->message->addError($str);
            return;
        }
        if ($street2) {
            $arr['street2'] = $street2;
        }
        if ($is_default) {
            $arr['is_default'] = $is_default;
        }
        if ($is_default) {
            $arr['is_default'] = $is_default;
        }
        if (isset($address['address_id'])) {
            $arr['address_id'] = $address['address_id'];
        }
        //var_dump($address);exit;
        $identity = Yii::$app->user->identity;
        $arr['customer_id'] = $identity['id'];
        Yii::$service->customer->address->save($arr);
        return Yii::$service->url->redirectByUrlKey('customer/address');
    }
}

$error[] = ['first_name']; 得到的是二维数组,无法正常显示错误信息。

不清楚怎么提交此类问题,暂时发帖了,感谢Terry的指点。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics