티스토리 뷰
아보카도 에디션 - 스티커 플러그인: 디자인컴션
20,000원 기본 상시배포지만 문제가 생기거나 부끄러워진다면.. 배포 중단할 수 있습니다. 이미지들을 원하는 곳에 다꾸, 마이룸처럼 꾸며둘 수 있는 플러그인입니다. 다른 분들이 배포해주신 굿
www.postype.com
다음과 같은 플러그인을 봤다.
만들어 보겠다.
기능
- 사용자
- 스티커 설정에 따라 위치, 크기 조절이 가능할 것
- 관리자
- 스티커 등록
- 스티커가 들어갈 페이지를 설정할 수 있을 것
- 이미지 외부링크(https://imgur.com/)를 사용할 수 있을 것
- 스티커 리스트
- 스티커 목록을 보여줄 것 (미리보기, 설정)
- 사용하는지 안하는지 체크로 설정
- 수정모드, 외부인 수정가능을 설정할 것
- 스티커 등록
사용자 기능 구현
기능 구현
- 위치와 크기 웹브라우저에 저장
- 스티커 위치, 크기정보 가져오기
- 윈도우 리사이즈 시 위치 재적용
- 너비 1000px이하 시 스티커 레이어 숨김
- 스티커 위치 초기화 버튼
아직 관리자 스티커 관리기능이 만들어지지않아
하드코딩으로 이미지url 를 넣고있다.
지금은 main.php에서 작성중인데
관리자가 만들어지는대로 분리해야겠다.
커밋 :
관리자 기능 구현 - 메뉴만들기
스티커 관리 메뉴를 관리자에 추가해줬다.
//admin.menu200.php
<?php
$menu['menu200'] = array (
array('200000', '게시판/페이지관리', ''.G5_ADMIN_URL.'/board_list.php', 'board'),
array('200200', '게시판관리', ''.G5_ADMIN_URL.'/board_list.php', 'bbs_board'),
array('200300', '페이지관리', G5_ADMIN_URL.'/contentlist.php', 'scf_contents', 1),
array('200600', '이모티콘관리', G5_ADMIN_URL.'/emoticon_list.php', 'mmb_emoticon', 1),
array('200700', '스티커 관리', G5_ADMIN_URL.'/emoticon_list.php', 'mmb_emoticon', 1) //추가된 부분
);
?>
//sticker_list.php
<?php
$sub_menu = "200700"; //수정
include_once('./_common.php');
...
admin.menu200.php에 추가될 메뉴 파라미터를 넣어주고
emoticon_list.php를 복사해 이름을 sticker_list.php로 바꾸고 $sub_menu 만 수정해주었다.
커밋 :
+ 메뉴는 어디서 생성되는걸까?
admin.head.php 에서 메뉴가 출력된다.
//admin.head,php
<?php
$gnb_str = "<ul>";
foreach($amenu as $key=>$value) {
$href1 = $href2 = '';
if ($menu['menu'.$key][0][2]) {
$href1 = '<a href="'.$menu['menu'.$key][0][2].'" class="gnb_1da" data-text="'. $menu['menu'.$key][0][1].'">';
$href2 = '</a>';
} else {
continue;
}
$current_class = "";
if (isset($sub_menu) && (substr($sub_menu, 0, 3) == substr($menu['menu'.$key][0][0], 0, 3)))
$current_class = " gnb_1dli_air";
$gnb_str .= '<li class="gnb_1dli'.$current_class.'">'.PHP_EOL;
$gnb_str .= $href1 . $menu['menu'.$key][0][1] . $href2;
$gnb_str .= print_menu1('menu'.$key, 1);
$gnb_str .= "</li>";
}
$gnb_str .= "</ul>";
echo $gnb_str;
?>
- foreach($amenu as $key=>$value)
- $amenu크기만큼 키와 값으로 나눠 반복문을 돌린다
- $href1 = $href2 = '';
- $href1 와 $href2 값을 빈값으로 초기화한다.
- if ($menu['menu'.$key][0][2]) ...
if ($menu['menu'.$key][0][2]) {
$href1 = '<a href="'.$menu['menu'.$key][0][2].'" class="gnb_1da" data-text="'. $menu['menu'.$key][0][1].'">';
$href2 = '</a>';
} else {
continue;
}
$menu의 menu.$key의 인텍스0의 값의 인덱스2의 값을 가져온다.
있다면 href1과 2에 값을 할당. 아니라면 넘어간다.
$menu의 menu.$key의 인텍스0의 값의 인덱스2의 값 이란
//admin.menu200.php
<?php
$menu['menu200'] = array (
array('200000', '게시판/페이지관리', ''.G5_ADMIN_URL.'/board_list.php', 'board'),
array('200200', '게시판관리', ''.G5_ADMIN_URL.'/board_list.php', 'bbs_board'),
array('200300', '페이지관리', G5_ADMIN_URL.'/contentlist.php', 'scf_contents', 1),
array('200600', '이모티콘관리', G5_ADMIN_URL.'/emoticon_list.php', 'mmb_emoticon', 1),
array('200700', '스티커 관리', G5_ADMIN_URL.'/emoticon_list.php', 'mmb_emoticon', 1)
);
?>
$key가 200이라면
' '.G5_ADMIN_URL.'/board_list.php'값을 가져오는 것.
- $current_class = ""; ...
$current_class = "";
if (isset($sub_menu) && (substr($sub_menu, 0, 3) == substr($menu['menu'.$key][0][0], 0, 3)))
$current_class = " gnb_1dli_air";
$gnb_str .= '<li class="gnb_1dli'.$current_class.'">'.PHP_EOL;
$gnb_str .= $href1 . $menu['menu'.$key][0][1] . $href2;
$gnb_str .= print_menu1('menu'.$key, 1);
$gnb_str .= "</li>";
current_class 값을 빈값으로 초기화해준다.
$sub_menu의 값이 있는지 확인, substr으로 처음 3자리 (200200이면 200)를 잘라 $menu['menu'.$key][0][0], 0, 3)의 값과 비교,
만약 일치한다면 $ current_class에 값을 넣어줌( 활성화된 메뉴에 특정 클래스를 추가하기위함)
그 후 print_menu1함수로 메뉴들을 출력한다.
'개발 > 아보카도' 카테고리의 다른 글
아보카도 에디션 - 스킨 적용 트러블슈팅 (0) | 2025.06.24 |
---|---|
아보카도 에디션 - 개발을 위한 로컬 셋팅하기(작성중) (0) | 2025.06.21 |
아보카도 에디션 - 호스팅 사이트 찾기, 아보카도 에디션 시스템 파악 (2) | 2025.06.20 |