회원가입 | 고객센터 |
DESIGNONEX
디자인원엑스
DX마켓
Service
PR리그
Q&AN
지식공유
공지사항N
통계
로그인 회원가입
고객센터

전체공지 스킨 dx-global-notice 1.3.0

D DX
2026.06.15 21:00(수정됨) 4 0
제가 좀 피곤해서 이슈를 잘 못 보았네요 ^^;;
그래도 만들었으니 배포하도록 하겠습니다.

관리자 > 전체공지입니다.
core에서 제공되는 전체공지는 게시판 리스트에서 출력하도록 하였습니다.
그 부분은 아직도 리스트에 있어야 한다고 생각합니다만, 팝업처럼 띄우는 것도 좋을 것 같아서, 탑에 보이도록 했습니다.
지금 플러그인은 코어와 전혀 상관없습니다. 코어의 기능을 인터셉트(가로채기) 기능으로 만들어진 독립 플러그인입니다.

폴더 core는 DX미니프레임워크입니다. 이 부분은 최대한 건들이지 않으시는게 좋습니다.
DXCMS는 코어 패치를 해도, 기존의 기능에 이상이 없도록 실행흐름 원칙은 변함이 없습니다.

core를 제외하고는 마음껏 수정하셔도 됩니다.
다만, 수정하시지 마시고, 확장하시는 것을 적극 추천합니다.
AI에 압축파일을 주고, "난, 코어를 하나도 건들이지 않고, 무엇을 만들어줘"라고 하면, AI가 만들어줍니다.
AI가 딱 좋아하는 스타일로 만들어진 프레임워크입니다. 처음은 좀 싸울 수도 있지만, 잘 가르치면 다 만들어 줄것입니다.

이젠 플러그인 소개를 진행하겠습니다.


관리자 화면


1. 플러그인 설치 이후 활성해주세요.

활성화를 하게되면, 게시판 리스트에 전체 공지가 보이지 않게 됩니다. 만약, 바로 보이지 않는 경우는 캐시때문입니다. 조금 기다리면 사라집니다.


2. 전체공지 스킨

특별한 것은 없습니다. 다만, 확장성있게 스킨화로 만들었습니다. 
스킨을 만들어서 올리면, 자동으로 스킨을 인식합니다.
사용 메뉴얼을 참고하시면 됩니다.
 


사이트 화면




앞으로 여러분들은 새로운 경험을 많이 하게 될 것입니다.
많은 관심과 응원 부탁드립니다. 
최고의 대한민국 CMS가 되기 위해서 이 한몸 열심히 불태우겠습니다. (__)
 

전체공지 스킨 (dx-global-notice) 사용설명서

DXCMS 코어의 "전체공지" 표시 방식을 스킨 단위로 자유롭게 디자인할 수 있는 플러그인입니다. 설치 후 별도 DB 작업 없이 바로 사용할 수 있습니다.



1. 이 플러그인이 하는 일

  • 모든 페이지(게시판 목록뿐 아니라 홈/상세 등 전체 페이지) 최상단에 전체공지를 표시합니다.
  • 표시 디자인을 "스킨" 단위로 자유롭게 바꿀 수 있습니다.
  • 활성화하면: 이 플러그인이 전체공지 표시를 전담하고, 기존(코어)의 게시판 목록 상단 전체공지 출력은 자동으로 숨겨져 중복 표시되지 않습니다.
  • 비활성화하면: 아무 일도 하지 않고, 코어의 기존 전체공지 표시 방식(게시판 목록 상단)이 그대로 동작합니다.

전체공지 내용(제목, 링크, 색상, 게시 기간 등) 자체는 기존과 동일하게 관리자 > 전체 공지 화면에서 등록/수정합니다. 이 플러그인은 "디자인(표시 방식)"만 바꿉니다.



2. 설치

  1. 압축 파일을 DXCMS 설치 폴더에 그대로 풀어 덮어씁니다. (기존 파일과 겹치지 않으므로 안전합니다)
   plugins/dx-global-notice/   ← 플러그인 본체
   admin/global_notice_skin/   ← 관리자 화면 연결 파일
  1. 관리자 로그인 후 관리자 > 플러그인 관리 메뉴로 이동합니다.
  2. 목록에서 "전체공지 스킨" 플러그인을 찾아 활성화 토글을 켭니다.

활성화하는 즉시, 사이드바 메뉴의 "전체 공지" 항목 바로 아래에 "전체공지 스킨" 메뉴가 자동으로 추가됩니다.



3. 스킨 선택하기

  1. 관리자 > 전체공지 스킨 메뉴로 이동합니다.
  2. 화면 상단에 현재 플러그인 활성화 상태가 표시됩니다.
    • 🟢 활성화: 선택한 스킨이 실제 사이트에 바로 적용됩니다.
    • 🟡 비활성화: 스킨을 선택해도 적용되지 않습니다. (관리자 > 플러그인 관리에서 먼저 활성화하세요)
  3. 카드 형태로 표시되는 스킨 목록에서 원하는 스킨을 **클릭(라디오 선택)**하면 자동으로 저장됩니다. 별도의 저장 버튼은 없습니다.
  4. 화면 아래쪽 "현재 스킨 미리보기" 영역에서 실제 표시될 모습을 바로 확인할 수 있습니다.
    • 등록된 전체공지가 있으면 실제 내용으로,
    • 없으면 샘플 문구로 미리보기됩니다.
  5. "닫기(×) 후 재표시 주기" 항목에서, 방문자가 닫기 버튼을 누른 뒤 다시 표시되기까지의 시간(시간 단위)을 설정할 수 있습니다.
    • 기본값: 3시간
    • 0으로 설정하면, 같은 공지 구성에 대해서는 닫은 뒤 다시 표시되지 않습니다(영구 숨김).
    • 값을 입력한 뒤 저장 버튼을 눌러야 적용됩니다(스킨 선택과 별도 저장).


기본 제공 스킨:

스킨 ID 이름 설명
basic 베이직 보라색 그라디언트 배경의 기본형 바. 닫기(×) 버튼 클릭 시 이번 방문(브라우저 탭) 동안 숨겨집니다.


4. 사이트에서 확인하기

  • 활성화 후 사이트 어느 페이지든 새로고침하면, 페이지 맨 위에(헤더보다 위) 전체공지 바가 즉시 표시됩니다. 페이지가 다 그려진 후 따로 불러와 깜빡이거나 화면이 밀리는 현상 없이, 처음부터 포함되어 나타납니다.
  • 관리자 > 전체 공지에 등록된 공지가 없으면 표시 영역 자체가 나타나지 않습니다(공간을 차지하지 않음).
  • 실시간 알림(소켓) 플러그인이 함께 설치되어 있다면, 관리자가 공지를 추가/수정/삭제하는 즉시 접속자 화면에도 자동으로 반영됩니다.
  • 사용자가 닫기(×) 버튼을 누르면, 관리자 > 전체공지 스킨 화면에서 설정한 시간(기본 3시간)이 지나면 같은 탭/브라우저에서도 다시 표시됩니다. 그 전에는 새로고침해도 숨김 상태가 유지됩니다.
  • 닫은 뒤 관리자가 공지를 추가/수정/삭제하면, 재표시 시간이 지나지 않았어도 즉시 다시 표시됩니다(내용이 바뀌었기 때문).


5. 나만의 스킨 만들기

디자인을 직접 만들고 싶다면 새 폴더를 추가하는 것만으로 가능합니다. 코드 수정이나 재설치가 필요 없습니다.

5-1. 폴더 만들기

plugins/dx-global-notice/skins/내스킨이름/
  • 폴더명이 곧 스킨 ID가 되어, 관리자 > 전체공지 스킨 화면의 선택 목록에 자동으로 나타납니다.
  • 폴더명은 영문/숫자/하이픈(-)/언더스코어(_)만 사용하세요.


5-2. 필요한 파일

파일 필수 여부 설명
template.php 필수 공지 목록 HTML을 출력하는 PHP 템플릿
style.css 선택 스킨 디자인 CSS
skin.json 선택 선택 목록에 표시될 이름/설명


5-3. skin.json 예시

json
{
    "name": "심플 화이트",
    "description": "흰 배경에 빨간 글씨로 강조하는 미니멀 스킨입니다."
}

작성하지 않으면 폴더명이 그대로 이름으로 표시됩니다.


5-4. template.php 예시

$notices 라는 배열이 자동으로 전달됩니다. 각 항목은 아래 필드를 가집니다.

필드 설명
title 공지 제목 (텍스트)
title_color 제목 색상 (#ff0000 형식, 없을 수 있음)
link_url 클릭 시 이동할 주소 (없을 수 있음)
link_target _self 또는 _blank


가장 간단한 예시:

php
<?php if (!defined('DX_CMS')) exit('Direct access not allowed.'); ?>
<div class="dxgn-inner">
  <?php foreach ($notices as $n):
      $title = htmlspecialchars($n['title'], ENT_QUOTES, 'UTF-8');
      $link  = trim($n['link_url']);
  ?>
    <div class="dxgn-item">
      <?php if ($link): ?>
        <a href="<?php echo htmlspecialchars($link, ENT_QUOTES, 'UTF-8'); ?>"><?php echo $title; ?></a>
      <?php else: ?>
        <span><?php echo $title; ?></span>
      <?php endif; ?>
    </div>
  <?php endforeach; ?>
</div>

⚠️ 첫 줄의 if (!defined('DX_CMS')) exit(...)는 반드시 포함하세요. 보안을 위한 직접 접근 차단 코드입니다.


5-5. style.css 작성 규칙

다른 스킨과 스타일이 섞이지 않도록, 모든 선택자는 .dxgn-skin-내스킨이름 으로 시작해야 합니다.
css

.dxgn-skin-내스킨이름 .dxgn-inner {
  background: #ffffff;
  color: #dc2626;
  padding: 10px 20px;
  font-weight: 700;
  text-align: center;
}


5-6. 적용하기

폴더와 파일을 모두 만든 뒤 관리자 > 전체공지 스킨 화면을 새로고침하면 새 스킨이 카드 목록에 나타납니다. 클릭하면 즉시 적용 및 미리보기됩니다.



6. 자주 묻는 질문 (FAQ)

Q. 활성화했는데 전체공지가 안 보여요. A. 관리자 > 전체 공지에 활성 상태(상태=활성)이고 게시 기간이 현재 시점을 포함하는 공지가 1건 이상 등록되어 있는지 확인하세요. 등록된 공지가 없으면 정상적으로 아무것도 표시되지 않습니다.

Q. 게시판 목록 상단에 전체공지가 두 번 표시돼요. A. 플러그인이 비활성화 상태이면서 과거 버전의 캐시가 남아있을 수 있습니다. 관리자 > 플러그인 관리에서 활성화 상태를 다시 확인하고, 사이트 캐시를 한 번 비워보세요(설정 저장 시 자동으로 비워집니다).

Q. 비활성화하면 어떻게 되나요? A. 이 플러그인의 모든 동작이 즉시 중단되고, 코어의 원래 전체공지 표시 방식(게시판 목록 상단)으로 자동 복귀합니다. 데이터(공지 내용)는 그대로 유지됩니다.

Q. 닫기 버튼을 누르면 영구히 안 보이나요? A. 아니요. 관리자 > 전체공지 스킨 화면에서 설정한 "재표시 주기"(기본 3시간)가 지나면 같은 브라우저에서도 다시 표시됩니다. 0으로 설정한 경우에만 같은 공지 구성에 대해 영구히 숨겨집니다. 어떤 설정이든, 공지 내용이 추가/수정/삭제되면 즉시 다시 표시됩니다.

첨부파일 1개 회원전용 10P

댓글0

로그인 후 댓글을 작성할 수 있습니다.
36
전체 회원
942
전체 게시글
1,766
전체 댓글
874
오늘 방문
42,690
전체 방문
13
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록