메뉴 건너뛰기

관리자페이지 회원목록에서 새로운 기능을 넣는다면 어떻게 해야 할까요?

예를들어서 선택한 회원의 정보를 엑셀로 다운로드 하는 기능을 만든다면

회원목록은 web.php에서 

/*
 * settings/user
 * */
Route::settings(
    'user',
    function () {

        Route::group(['middleware' => ['admin']], function() {
            // index
            Route::get(
                '/',
                [
                    'as' => 'settings.user.index',
                    'uses' => 'User\Settings\UserController@index',
                    'settings_menu' => 'user.list',
                    'permission' => 'user.list'
                ]
            );

위 내용에 따라 User\Settings\UserController@index 메소드를 실행하고

user.settings.user.index 해당 경로의 블레이드 파일을 렌더링 하는 것으로 보여집니다.

문제는 회원의 엑셀정보를 다운로드 하기 위해선 view파일에 엑셀을 다운로드 하는 버튼을 넣어야 할 것인데 이렇게 되면

resources\views\user\settings\user\index.blade.php 파일을 수정 혹은 별도파일을 작성해야 합니다. (블레이드 파일에 끼어들 수 있는 hook이 없으므로)

또한 만약에 해당 view에 데이터를 추가하고자 한다면 UserController@index 메소드까지 변경해야 할 것입니다. (해당 메소드는 인터셉트 등록되어 있지 않음)

결국 route단계에서 별도의 CustomController@index 를 실행하도록 변경해야 할 듯 싶은데 web.php를 직접 수정하면 차후 문제가 있을것 같습니다.

어떤 방법이 좋을지 답을 찾지 못하고 있습니다..ㅠ

도움 부탁드립니다!

 

++ 추가

route를 덮어씌우는 방식의 경우에 문제가 있는데 이렇게 처리하면 회원목록에 기능을 추가하는 다른 플러그인과의 호환성이 전혀 없을것으로 보입니다.

어떻게 해야 써드파티 플러그인과 호환성을 가지면서 새로운 기능을 넣을 수 있을까요? 현재 시스템에선 불가능한가요?

  • share