dosenje

第 165 位会员

会员
个人信息
  • 加入于 2017-08-29 10:11:22
  • 最后登录时间 5年前
个人成就
  • 发表文章次数 11
  • 发布回复次数 25
  • 个人主页浏览次数 17
后台如果需要多语言应该怎么处理?6年前

@Terry #4楼 这样的话,每一个都重写一次,而且重写过的方法,vender后期升级也一样是被重写过了的。 比如我因为引入多语言需要重写了一个方法

public function saveCategory()
    {
        $cate_id = Yii::$service->category->GetPrimaryKey();
        $editFormData = Yii::$app->request->post('editFormData');
        if (isset($editFormData)) {
            $defaultLangName = Yii::$service->fecshoplang->GetDefaultLangAttrName('name');
            if (!isset($editFormData['name'][$defaultLangName])
                || !($editFormData['name'][$defaultLangName])
            ) {
                echo  json_encode([
                    'statusCode'=>'300',
                    'message'=>'分类的默认语言name不能为空',
                ]);
                exit;
            }
            $thumbnail_image = CRequest::param('thumbnail_image');
            $image = CRequest::param('image');
            if ($thumbnail_image) {
                $editFormData['thumbnail_image'] = $thumbnail_image;
            }
            if ($image) {
                $editFormData['image'] = $image;
            }

            $product_select_info = CRequest::param('product_select_info');
            $product_unselect_info = CRequest::param('product_unselect_info');
            $category_id = $editFormData[$cate_id];
            //var_dump($editFormData);
            //echo $category_id;exit;
            $addCateProductIdArr = explode(',', $product_select_info);
            $deleteCateProductIdArr = explode(',', $product_unselect_info);
            Yii::$service->product->addAndDeleteProductCategory($category_id, $addCateProductIdArr, $deleteCateProductIdArr);

            $parent_id = (Yii::$app->request->post('parent_id'));
            if (!isset($editFormData[$cate_id]) || !$editFormData[$cate_id]) {
                $editFormData['parent_id'] = $parent_id;
            }
            $originUrlKey = 'catalog/category/index';
            Yii::$service->category->save($editFormData, $originUrlKey);
            $errors = Yii::$service->helper->errors->get();
            if (!$errors) {
                echo  json_encode([
                    'statusCode'=>'200',
                    'message'=>'save success',
                ]);
                exit;
            } else {
                echo  json_encode([
                    'statusCode'=>'300',
                    'message'=>$errors,
                ]);
                exit;
            }
        }
    }

那么后期即使你更新文件到vender目录,你的更新也无法生效的。

后台如果需要多语言应该怎么处理?6年前

我的意思是,怎么修改方法。 用类重写?还是直接修改vender里面的文件?还是由其他方法?

Your Site Analytics