관리자 페이지 추가하기
📌 요구사항 및 분석
관리자 메뉴 추가하기 에서 추가한 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?