2015-01-02 5 views
0

저는 yii2에 익숙하지 않지만, 오랫동안 Yii 1.x를 사용해 왔습니다. Yii2의 고급 템플릿을 사용하고 백엔드 사용자 정의 테마를 구현하고 있습니다. 백도어 용 https://github.com/mithun12000/adminUI 테마를 사용하고 있습니다. 다음과 같이 내 테마를 설정 한 :yii2의 사용자 정의 테마를 사용하여 gridview를 사용할 때 네임 스페이스 오류가 발생했습니다.

  1. 작곡가

    를 사용하여 테마를 설치
  2. 백엔드/설정/main.php에서

    추가 된 테마 지원을 다음과 같이

    'view'=>[ 
        'theme'=>[ 
         'pathMap'=>['@app/views'=>'@webroot/themes/admin/views'], 
         'baseUrl'=>'@web/themes/admin' 
        ] 
    ], 
    
  3. 변경된 네임 스페이스 응용 프로그램을 \자산; 네임 스페이스 백엔드 \ 자산으로; 백엔드/자산/AppAsset.php

  4. 웹 폴더에 내 테마를 백엔드/웹/테마/관리자로 생성하고 거기에 내 의견을 입력했습니다.

    $this->getView()->theme = Yii::createObject([ 
        'class' => '\yii\base\Theme', 
        'pathMap' => ['@backend/views' => '@webroot/themes/admin/views'], 
        'baseUrl' => '@web/themes/admin', 
    ]); 
    
  5. 로그인 화면이 잘 작동 : 난 그냥 만든 테마를 사용하기 위해 내 컨트롤러에서

  6. 는 다음 코드를 넣습니다. 하지만 위젯이 있다면, Gridview를 가정하면 네임 스페이스 오류가 발생합니다. 내가 오류는 다음과 같습니다

    Unknown Class – yii\base\UnknownClassException 
    
    Unable to find 'app\assets\AppAsset' in file: D:\projects\bmjobs\site\backend/assets/AppAsset.php. Namespace missing? 
    

나는 다음과 같은 오류 얻을 후, \ 자산을 앱에 AppAsset.php의 네임 스페이스를 변경하는 경우 : 나는 확실하지 않다

PHP Fatal Error – yii\base\ErrorException 

    Call to a member function checkAccess() on a non-object 

을 어디 잘못됐다. 아무도 나를 도와 줄 수 없나요?

미리 감사드립니다.

답변

0

당신은 당신의 pathMap

'pathMap' => ['@app/views' => '@app/themes/admin/views'], 
+0

backend/config/main.php에서 그것을 시도했지만 작동하지 않았다 변경 될 수 있습니다. 여전히 같은 오류가 발생합니다. – siriusB

+0

이 ''baseUrl '=>'@ web/themes/admin''hope 도움을 청합니다. – GAMITG

+0

작동하지 않습니다. yii 2 고급 템플릿을 사용하고 있습니다. – siriusB