Peach's CODE peach

공부한 내용을 정리중입니다. 틀린 내용이 있을 수 있습니다 : )

코딩하는 딱복

[고도몰] 관리자 페이지 추가 본문

Solution 🧩/고도몰

[고도몰] 관리자 페이지 추가

yundi 2024. 2. 7. 08:36

고도몰

고도몰이란 우선 한마디로 쇼핑몰 솔루션을 의미하는 것 같다. 쇼핑몰을 운영할 때 고도몰 소스를 가져와 커스터마이징을 하는 데 그걸 튜닝이라고 하는 것 같다..! 

코딩의 세계는 너무 넓다...

 

우선 고도몰에 로그인하면 헤더에 '개발소스관리' 를 클릭한다.

 

고도몰 원본소스 보기 -> 전체소스 다운로드 

소스를 다운받아 압축을 풀고 서버연결을 해주면 우선 작업 준비는 끝이다.

서버에는 원본소스가 숨겨져 있기 때문에 원본 소스를 다운받아서 튜닝을 해야 한다.

관리자 메뉴 만들기

우선 관리자 파트 먼저 공부를 하고 사용자 파트로 넘어가려고 한다. 이미 잘 되어있는 사이트이지만, 관리자 메뉴와 페이지를 추가해서 내가 필요한 데이터를 넣을 수 있도록 튜닝을 해보려고 한다!

 

이 링크를 타고 가면 개발 가이드가 잘 정리되어 있다. 개발 가이드를 제대로 따르지 않았을 때 생기는 에러는 책임질 수 없다고 한다..! 

 

Update Admin Menu - Godomall

관리자 페이지 메뉴 수정 es_adminMenu DataBase Table 수정 es_adminMenu Table에서 adminMenuName 수정으로 메뉴명을 변경합니다. es_adminMenu Table에서 adminMenuUrl 수정으로 메뉴 클릭 시 링크를 변경합니다. es_adminM

doc.godomall5.godomall.com

우선 개발가이드를 보면서 관리자 DB에 관리자 메뉴에 대한 데이터를 추가해 주었다. 

데이터를 추가해 주면 메뉴에 바로 내가 생성한 메뉴가 추가된다. 하지만 이 메뉴는,, 들어갈 페이지도 active를 줄 수도 없다....

callMenu()

callMenu(1차 메뉴, 2차 메뉴, 3차 메뉴)를 의미한다. (1차 2차 데이터는 DB에서 보이지 않는담..! 파일이름으로 유추해서 넣어줬더니 바로 해결!)

3차 메뉴는 커스텀하기 위해 데이터를 넣을 때 adminMenuCode 컬럼에 넣어줬던 값을 넣어주면 된다.

<?php
namespace Controller\Admin\Goods;

class SeumLyjController extends \Controller\Admin\Controller
{
    protected $db = null;

    public function index()
    {
        if (!is_object($this->db)) {
            $this->db = \App::load('DB');
        }

        try {
            $this->callMenu('goods', 'batch', 'lyj');

        } catch (\Exception $e) {
            throw $e;
        }
    }

DB에 값을 제대로 주면 이렇게 새로 만든 메뉴를 클릭했을 때 활성화가 되는 것을 알 수 있다.

 관리자 페이지 만들기

이제 메뉴를 클릭했을 때 띄워줄 페이지를 만들어 보자!

<div class="page-header js-affix">
    <h3><?=end($naviMenu->location); ?> </h3>
</div>

 

우선 빈 화면을 띄울 건데 메뉴 이름을 띄워서 제대로 열리는지 확인해보았다.

이렇게 페이지도 잘 뜨는 것을 확인할 수 있다.

이 작업을 하기 위해서 서버 경로를 찾아서 맞게 파일을 잘 넣어줘야 하는데 개발 소스원본과 서버에 있는 경로가 완전 다르기 때문에 너무 어려웠당.. module 폴더도 두 개나 있고,, 하지만 그건 내가 개발 가이드를 제대로 안 읽어서 그런 것 같당

 

 관리자 경로

관리자 파트에 대한 작업이기 때문에 사용자 화면에 띄워줄 뷰 파일은 admin 폴더에 goods 폴더를 생성해서 넣어주었다. (1차 메뉴가 상품이었기 때문에)

그다음에 컨트롤러는 module 폴더에 Controller , Admin, Goods를 생성해서 넣어주었다.

가장 중요한 것은 파일 이름인데 컨트롤러 파일 이름이 GoodsLyjController.php 라면 view 파일은 goods_lyj.php 이렇게 생성해야 1:1 매칭이 되어 서로 연결이 된다.

'Solution 🧩 > 고도몰' 카테고리의 다른 글

[고도몰] 이미지 등록/삭제  (2) 2024.02.15
[고도몰] 검색/페이징  (2) 2024.02.07