관리자 페이지 추가하기
📌 요구사항 및 분석
관리자 메뉴 추가하기 에서 추가한 3차 메뉴인
관리자 > 기본설정 > 메뉴 정책 > 메뉴 관리에 접근할 수 있는 페이지를 만들고자 함
📝 개선안 정리
https://gdadmin.example.godomall.com/policy/menu_management.php
위 URL로 접근 가능한 컨트롤러 추가
🛠️ 튜닝 진행
📌 Controller 추가 (방법 1)
module/Controller/Admin/Policy 폴더에 추가할 페이지의 컨트롤러 파일(MenuManagement.php) 을 추가합니다.
사용자 정의 Controller 소스 내용
Controller 소스 내용<?php
/**
 * Namespace는 Controller\폴더명\폴더명으로 작성합니다.
 */
namespace Controller\Admin\Policy;
/**
 * Classname는 파일명과 동일해야 합니다.
 * \Controller\Admin\Controller라는 부모 클래스를 상속받습니다.
 */
class MenuManagementController extends \Controller\Admin\Controller
{
    /**
     * Class Methods로 반드시 index()를 포함해야 합니다.
     * 추가로 Methods 만들어 동일 파일내에서 사용이 가능합니다.
     */
    public function index()
    {
        try {
            // 관리자 페이지 좌측 메뉴 불러오기
            $this->callMenu('policy', 'menu', 'menu_management');
            
            $setData = 'Hello World!';
            $this->setData('setData', $setData);
        } catch (\Exception $e) {
            throw $e;
        }
    }
}
// PHP 소스 코드만 포함된 경우 ?> 를 생략합니다. (PSR0 표준)📌 Controller 추가 (방법 2)
액션 처리와 같이 스킨으로 전송할 필요가 없는 경우
index()메소드에서exit();처리로 강제 종료합니다.고도몰에서는
SomePsController라는 이름으로 사용하고 있습니다. form으로 넘겨서 데이터를 가공하기 위한 목적으로 사용됩니다.
사용자 정의 Controller 소스 내용
Controller 소스 내용<?php
namespace Controller\Admin\Policy;
class MenuManagementController extends \Controller\Admin\Controller
{
    public function index()
    {
        try {
            $setData = 'Hello World!';
            echo $setData;
            exit();
    
        } catch (\Exception $e) {
            throw $e;
        }
    }
}📌 관리자 스킨 추가
admin/policy/폴더 하위에 추가할HTML파일을 추가합니다.gdadmin.example.godomall.com/policy/menu_management.php경로의 사용자 페이지를 추가한다면admin/policy/폴더 아래menu_management.php파일을 추가합니다.
Controller에서 선언한 setData 사용하기
Controller에서 선언한 setData 사용하기<p><?=$setData;?></p>🔖 결과 확인


Last updated
Was this helpful?
