LogoLogo
NHN커머스 메인고도몰 운영 도움말
  • 고도몰 튜닝 가이드
    • Intro
    • 이해하기
      • 용어
      • 구조
        • 튜닝 진행 방법
        • 튜닝 가능 범위
        • 고도몰 아키텍쳐(Architecture)
        • 코딩 규칙
        • 네이밍 규칙
    • 준비하기
      • 심화 구조 이해
        • Routing 소개
        • Controller 소개
        • HTTP 소개
        • Database 소개
        • Security 소개
        • Exception 소개
        • Language 소개
      • 오픈 API 사용가이드
        • 인증키 발급 방법 안내
        • 공급사 이용 방법 안내
    • 튜닝하기
      • 소스 코드 튜닝
        • 기본 튜닝 방법
        • 컨트롤러 튜닝 방법
        • 템플릿 튜닝 방법
        • 튜닝 시 유의사항
      • 데이터베이스 튜닝
        • 튜닝 방법
        • 튜닝 시 유의사항
        • 고도몰 테이블 명세서
        • PhpMyAdmin 이용
      • 디버깅 방법
      • 패치 확인 및 대응 방법
    • 튜닝 따라하기
      • 관리자 GNB 색상 변경하기
      • 즐겨찾기 메뉴 바로가기 만들기
      • 관리자 메뉴 추가하기
      • 관리자 메뉴 수정하기
      • 관리자 페이지 추가하기
      • 관리자 페이지 수정하기
      • 사용자 페이지 추가하기
      • 사용자 페이지 수정하기
    • 잘못된 튜닝사례
      • 상속 미준수
      • 메소드 관련
      • 그 외
  • 기타 개발 가이드
    • 로그 사용 가이드
    • [PMA] 내보내기(export) 이용 안내
    • 외부 스크립트 사용 가이드
    • SDK 사용 가이드
    • [DB] 사용 가이드
  • 튜닝가이드 영상 보기
Powered by GitBook
LogoLogo

NHN COMMERCE

  • 공지사항
  • 회사소개

Partners

  • 서비스 제휴문의
  • 셀러어드민
  • 디자인 파트너

Developers

  • 스토어

©NHN COMMERCE Corp. All rights reserved.

On this page
  • 📌 요구사항 및 분석
  • 📝 개선안 정리
  • 🛠️ 튜닝 진행
  • 📌 Controller 추가 (방법 1)
  • 📌 Controller 추가 (방법 2)
  • 📌 관리자 스킨 추가
  • 🔖 결과 확인

Was this helpful?

  1. 고도몰 튜닝 가이드
  2. 튜닝 따라하기

관리자 페이지 추가하기

📌 요구사항 및 분석

  • 관리자 메뉴 추가하기 에서 추가한 3차 메뉴인 관리자 > 기본설정 > 메뉴 정책 > 메뉴 관리 에 접근할 수 있는 페이지를 만들고자 함

📝 개선안 정리

  • https://gdadmin.example.godomall.com/policy/menu_management.php

  • 위 URL로 접근 가능한 컨트롤러 추가

🛠️ 튜닝 진행

📌 Controller 추가 (방법 1)

module/Controller/Admin/Policy 폴더에 추가할 페이지의 컨트롤러 파일(MenuManagement.php) 을 추가합니다.

사용자 정의 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 소스 내용

<?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 사용하기

menu_management.php
<p><?=$setData;?></p>

🔖 결과 확인

Previous관리자 메뉴 수정하기Next관리자 페이지 수정하기

Last updated 1 year ago

Was this helpful?