■ 치환변수란?

치환변수는 프로그램에 정의된 변수를 쉽게 끌어다 사용하는 BOS 만의 문법입니다.

BOS에서는 타사와 달리 프로그램 변수 단위로 사용할 수 있도록 세분화 되어 있습니다.

 

 

 

■ 치환변수의 형식

{변수종류_변수명[인자]//출력형태//기타1//기타2}

 

변수종류

AV, MV, GV, AY 등 용도에 따라 구분하기 쉽게 정의한 변수종류로 게시판,회원 등의 정보에 따라 종류가 달라집니다. 

 

변수명

프로그램 내에서 정의한 변수명을 적어주시면 됩니다. 게시판/회원 정보의 경우 필드명으로 적어주세요.

배열변수의 경우 인자값을 함께 입력해 주세요.

 

출력형태

숫자형, 날짜형 등 저장된 값을 출력하고 싶은 형태로 지정할 수 있습니다.

 

 

 

■ 치환변수의 종류

{AV_변수명}

게시판에 저장된 게시물의 정보

목록폼, 쓰기폼, 보기폼, 삭제폼, 답변폼, 댓글폼 등의 게시판설정이 적용된 div 내에서만 사용가능

 

예시)

{AV_subject} : 게시물 제목

{AV_writer_name} : 게시물 등록자의 이름

 

 

{MV_변수명}

현재 로그인한 회원의 회원정보 (모든 페이지에서 활용가능)

 

예시) 

{MV_id} : 현재 로그인한 회원의 아이디

{MV_mb_name} : 현재 로그인한 회원의 이름

 

 

{AM_변수명}

게시물 등록자의 회원정보

목록폼, 쓰기폼, 보기폼, 삭제폼, 답변폼, 댓글폼 등의 게시판설정이 적용된 div 내에서만 사용가능

회원정보 이므로 '회원관리(TCMEMBER)' 게시판의 필드명을 변수명으로 사용

 

예시)

{AM_mb_name} : 게시물 등록자의 회원정보의 이름

{AM_address} : 게시물 등록자의 회원정보의 주소 

 

 

{AY_변수명[인덱스명]}

플러그인 또는 공통 설정파일에 정의된 php 배열변수 값

 

{AY_site_page_info[인덱스명]}

현재 접속한 페이지의 설정값을 갖는 치환변수

페이지 속성에서 정의된 파일명, 페이지명, 적용된 레이아웃 파일명 등 '속성변경' 에 정의된 모든 값을 가져올 수 있다.

 

{AY_board_info[인덱스명]}

현재 게시판 폼설정에 설정되어진 게시판의 정보값을 갖는 치환변수

현재 적용되어 있는 게시판설정의 게시판 정보를 값으로 갖는다. 

해당 값들은 게시판관리에서 해당 게시판에 정의된 게시판명, 게시판의 페이지파일명, 각종 설정들을 모두 값으로 가져올 수 있다.

 

예시)

{AY_site_page_info[file_name]} : 현재 페이지의 파일명 (예: 1234.php)

{AY_site_page_info[name]} : 현재 페이지의 페이지명 (예: 회사소개)

{AY_board_info[name]} : 현재 게시판의 DB Table명 (예: BD1234)

{AY_board_info[alias]} : 현재 게시판의 게시판명 (예: 공지사항)

 

 

{NV_변수명}

플러그인 또는 공통 프로그램 파일에 정의된 php 일반변수 값

 

예시)

{NV_P_price_delivery} : 쇼핑몰 상세보기의 배송비

{NV__this_url_rm_parm//파라메타}

현재 URL에서 특정 파라메타만 제거한 url 을 얻을 때 사용 

{NV__this_url_rm_parm////search_value//sch_total.php}

현재 url 에서 search_value를 제거하고 design_file을 sch_total.php로 설정하는 치환문자열

 

 

{GV_변수명}

URL로 넘어오는 $_GET 변수사용

URL에서 '?' 기호 이후로 정의되는 URL변수의 값

 

예시)

{GV_design_file} : 현재 보고 있는 페이지의 파일명

{GV_article_num} : 현재 보고 있는 게시물의 번호

 

 

{FC_변수명}

게시판설정이 적용된 div의 폼설정(게시판설정)의 값

 

예시)

{FC_board_name} : 게시판설정에 저장된 게시판명

{FC_page_type} : 게시판 폼 타입 (LIST / VIEW / WRITE / MODIFY / DELETE / REPLY)

 

 

{PV_변수명}

폼(form태그)로 전송되는 $_POST 변수사용

 

예시)

{PV_subject} : 폼으로 넘어온 게시물의 제목

{PV_writer_name} : 폼으로 넘어온 게시물의 등록자 이름

 

 

{AP숫자_변수명}

상위의 다른 폼에서 불러온 게시물의 정보

편집모드에서 정보를 가져올 폼이 적용된 div의 D아이콘에 마우스를 올렸을 때 표시되는 index의 값을 AP 뒤의 숫자 자리에 입력

폼의 위치가 임포트된 부분이면 {API숫자_변수명}, 레이아웃이면 {APS숫자_변수명} 형식으로 입력

 

예시)

{AP1_subject} : index값이 '1'인 div에 적용된 폼의 제목

 

 

{AO_게시판코드___일련번호필드명___일련번호___저장값필드명}

특정 게시판의 특정 게시물의 정보를 사용

 

예시) 

{AO_BD1234___serial_num___10___subject} : BD1234 게시판의 serial_num 10번 게시물의 제목

{AO_BD1234___serial_num___10___subject//L//O} : BD1234 게시판의 serial_num 10번 게시물의 제목을 표시하고 해당 게시물로 링크를 적용

 

 

{GL_변수명}

솔루션 내에서 공통적으로 사용되는 $GLOBALS 변수의 값

 

예시)

{GL_w_time} : 현재시간 (년-월-일 형식 : {GL_w_time//D})

{GL_site_config[site_name]} : 사이트명



{AV_term_targz//H//////C//////분//초} 

term_targz 값이 타임스탬프 일 때 00.00 으로 표현하는 것이 H 옵션인데 C 는 콤마를 콜론으로 변경, 1분 미만일 때는 '초' 이상일 때는 분으로 나오게 할 수 있습니다.

 

 

 

■ 출력형태 종류

출력형태

N : 숫자형

F : 숫자형(소수점), 기타1 자리에 소수점 자리수 입력

D : 날짜형, 예시)  2017-01-01

DT : 날짜시간형, 예시) 2017-01-01 09:00:00

DTK : 날짜한글형, 예시) 2017년01월01일(일)00시00분

DTR : 날짜구간형, 예시) {GL_w_time//DTR//day//30_C} : 오늘 날짜 기준으로 30일 전

DTC : 맞춤형, 예시) {AV_sign_date//DTC////m-d} : 09-20 과 같이 월-일 로 표시

STC : ;1;2;3; 형태를 1[구분자]2[구분자]3 형태로 변경, 구분자는 기타1 자리에 B(br), C(콤마) 입력

STQC : ;1;2;3; 형태를 '1','2','3' 형태로 변경

STBK : 시작과 끝의 ; 제거

CUT : 문자열 자르기, 기타1/기타2 자리에 시작지점/길이 값 설정

STRLEN : 문자열의 길이 

SS :특수문자만 제거

SQ : 따옴표제거

ST : 모든 태그 제거

NLBR : 줄바꿈을 BR 태그로 변경

RMAJAX : &AJAX=Y 제거

RMPHPEXT : .php 제거

BCT : 게시판기본분류코드를 타이틀로 표현

BCTI : 게시판개별분류코드를 타이틀로 표현

EXPL : 구분자로 구분한 값으로 치환, 예시) -로 구분된 전화번호의 첫번째 값으로 치환

DE : 구분자로 사용하는 문자열을 비활성 되도록 인코딩 시킴

ATS//1(or 2) : 배열의 값을 문자열로 만듬 (1 : 1차원 배열, 2 : 연관배열)

ABSU : 절대경로URL

NLNL : \n 을 \n 으로 변경

H : 시간으로 변경

STSI : ;A;D; 형태를 A;분류1줄바꿈D;분류2 형식으로 변경

 

기타1

O : 입력상자에 사용할 경우 치환되지 않도록 할 때 기타1에 입력

숫자 : CUT, SUBSTR 의 시작지점, 길이 값 지정

 

기타2

숫자 : CUT, SUBSTR 의 시작지점, 길이 값 지정

■ 치환변수란?

치환변수는 프로그램에 정의된 변수를 쉽게 끌어다 사용하는 BOS 만의 문법입니다.

BOS에서는 타사와 달리 프로그램 변수 단위로 사용할 수 있도록 세분화 되어 있습니다.

 

 

 

■ 치환변수의 형식

{변수종류_변수명[인자]//출력형태//기타1//기타2}

 

변수종류

AV, MV, GV, AY 등 용도에 따라 구분하기 쉽게 정의한 변수종류로 게시판,회원 등의 정보에 따라 종류가 달라집니다. 

 

변수명

프로그램 내에서 정의한 변수명을 적어주시면 됩니다. 게시판/회원 정보의 경우 필드명으로 적어주세요.

배열변수의 경우 인자값을 함께 입력해 주세요.

 

출력형태

숫자형, 날짜형 등 저장된 값을 출력하고 싶은 형태로 지정할 수 있습니다.

 

 

 

■ 치환변수의 종류

{AV_변수명}

게시판에 저장된 게시물의 정보

목록폼, 쓰기폼, 보기폼, 삭제폼, 답변폼, 댓글폼 등의 게시판설정이 적용된 div 내에서만 사용가능

 

예시)

{AV_subject} : 게시물 제목

{AV_writer_name} : 게시물 등록자의 이름

 

 

{MV_변수명}

현재 로그인한 회원의 회원정보 (모든 페이지에서 활용가능)

 

예시) 

{MV_id} : 현재 로그인한 회원의 아이디

{MV_mb_name} : 현재 로그인한 회원의 이름

 

 

{AM_변수명}

게시물 등록자의 회원정보

목록폼, 쓰기폼, 보기폼, 삭제폼, 답변폼, 댓글폼 등의 게시판설정이 적용된 div 내에서만 사용가능

회원정보 이므로 '회원관리(TCMEMBER)' 게시판의 필드명을 변수명으로 사용

 

예시)

{AM_mb_name} : 게시물 등록자의 회원정보의 이름

{AM_address} : 게시물 등록자의 회원정보의 주소 

 

 

{AY_변수명[인덱스명]}

플러그인 또는 공통 설정파일에 정의된 php 배열변수 값

 

{AY_site_page_info[인덱스명]}

현재 접속한 페이지의 설정값을 갖는 치환변수

페이지 속성에서 정의된 파일명, 페이지명, 적용된 레이아웃 파일명 등 '속성변경' 에 정의된 모든 값을 가져올 수 있다.

 

{AY_board_info[인덱스명]}

현재 게시판 폼설정에 설정되어진 게시판의 정보값을 갖는 치환변수

현재 적용되어 있는 게시판설정의 게시판 정보를 값으로 갖는다. 

해당 값들은 게시판관리에서 해당 게시판에 정의된 게시판명, 게시판의 페이지파일명, 각종 설정들을 모두 값으로 가져올 수 있다.

 

예시)

{AY_site_page_info[file_name]} : 현재 페이지의 파일명 (예: 1234.php)

{AY_site_page_info[name]} : 현재 페이지의 페이지명 (예: 회사소개)

{AY_board_info[name]} : 현재 게시판의 DB Table명 (예: BD1234)

{AY_board_info[alias]} : 현재 게시판의 게시판명 (예: 공지사항)

 

 

{NV_변수명}

플러그인 또는 공통 프로그램 파일에 정의된 php 일반변수 값

 

예시)

{NV_P_price_delivery} : 쇼핑몰 상세보기의 배송비

{NV__this_url_rm_parm//파라메타}

현재 URL에서 특정 파라메타만 제거한 url 을 얻을 때 사용 

{NV__this_url_rm_parm////search_value//sch_total.php}

현재 url 에서 search_value를 제거하고 design_file을 sch_total.php로 설정하는 치환문자열

 

 

{GV_변수명}

URL로 넘어오는 $_GET 변수사용

URL에서 '?' 기호 이후로 정의되는 URL변수의 값

 

예시)

{GV_design_file} : 현재 보고 있는 페이지의 파일명

{GV_article_num} : 현재 보고 있는 게시물의 번호

 

 

{FC_변수명}

게시판설정이 적용된 div의 폼설정(게시판설정)의 값

 

예시)

{FC_board_name} : 게시판설정에 저장된 게시판명

{FC_page_type} : 게시판 폼 타입 (LIST / VIEW / WRITE / MODIFY / DELETE / REPLY)

 

 

{PV_변수명}

폼(form태그)로 전송되는 $_POST 변수사용

 

예시)

{PV_subject} : 폼으로 넘어온 게시물의 제목

{PV_writer_name} : 폼으로 넘어온 게시물의 등록자 이름

 

 

{AP숫자_변수명}

상위의 다른 폼에서 불러온 게시물의 정보

편집모드에서 정보를 가져올 폼이 적용된 div의 D아이콘에 마우스를 올렸을 때 표시되는 index의 값을 AP 뒤의 숫자 자리에 입력

폼의 위치가 임포트된 부분이면 {API숫자_변수명}, 레이아웃이면 {APS숫자_변수명} 형식으로 입력

 

예시)

{AP1_subject} : index값이 '1'인 div에 적용된 폼의 제목

 

 

{AO_게시판코드___일련번호필드명___일련번호___저장값필드명}

특정 게시판의 특정 게시물의 정보를 사용

 

예시) 

{AO_BD1234___serial_num___10___subject} : BD1234 게시판의 serial_num 10번 게시물의 제목

{AO_BD1234___serial_num___10___subject//L//O} : BD1234 게시판의 serial_num 10번 게시물의 제목을 표시하고 해당 게시물로 링크를 적용

 

 

{GL_변수명}

솔루션 내에서 공통적으로 사용되는 $GLOBALS 변수의 값

 

예시)

{GL_w_time} : 현재시간 (년-월-일 형식 : {GL_w_time//D})

{GL_site_config[site_name]} : 사이트명



{AV_term_targz//H//////C//////분//초} 

term_targz 값이 타임스탬프 일 때 00.00 으로 표현하는 것이 H 옵션인데 C 는 콤마를 콜론으로 변경, 1분 미만일 때는 '초' 이상일 때는 분으로 나오게 할 수 있습니다.

 

 

 

■ 출력옵션 종류

출력옵션

일반적으로 치환변수는 DB에 저장된 값 또는 프로그램으로 처리한 값을 변화하지 않고 그대로 표시하는데, 

출력되는 형태를 여러가지 방식으로 변형하여 사용할 수 있습니다.


치환변수 뒤에 // 입력하고 사용할 출력옵션을 추가하는 방식으로 입력합니다.

입력형식) {

예시) {AV_count}=10000 => {AV_count//N}=10,000

{AV_category_1}=1001 => {AV_category_1//STRLEN}=4


 옵션명

 설명

 N

 숫자형

 예시) {AV_price}=10,000

 F

 숫자형(소수점), 기타1 자리에 소수점 자리수 입력

 예시) {AV_price//F//2}=10,000.00

 D

 날짜형

 예시) {AV_sign_date//D}=2023-01-01

 DT

 날짜 시간형

 예시) {AV_sign_date//DT}=2023-01-01 09:00:00

 DTK

 날짜 맞춤형, 기타1 자리에 설정변경 > 날짜형식(치환변수용)에 입력된 옵션 추가

 (설정변경 > 날짜형식(치환변수용) 항목이 없거나, 입력된 값이 없을 경우 사용 불가)

 예시) {AV_sign_date//DTK//ymdhis}=2023년 01월 01일(일) 00시 00분 00초

 DTR

 날짜 구간형

 예시) {GL_w_time//DTR//day//-30_C} : 오늘 날짜 기준으로 30일 전

 {GL_w_time//DTR//day//0_C} : 오늘

 {GL_w_time//DTR//day//30_C} : 오늘 날짜 기준으로 30일 후

 {GL_w_time//DTR//month//-1_O} : 지난달(시작일 기준, 1일 00:00:00)

 {GL_w_time//DTR//month//1_C} : 다음달(종료일 기준, 말일 23:59:59)

 H 

 초단위로 계산해서 숫자형으로 저장된 날짜를 시간으로 치환

 예시) 2023-11-01 09:00:00

 => {AV_close_date}=1698796800  (초 단위로 환산)

 => {AV_close_date//H}=471888.00  (시간 단위로 환산)

 => {AV_close_date//H//C//0_1}=7일 (종료일이 남은 경우 7일, 지난 경우 -7일로 표시)

 => {AV_close_date//H//C//0_1////////dday}=D-7 (종료일이 남은 경우 D-7, 지난 경우 D+7로 표시)

 => {AV_close_date//H//C//0_1////////tail}=7일 남음 (종료일이 남은 경우 7일 남음, 지난 경우 7일 지남으로 표시)

 STC

 ;A;B;C; 형태를 A[구분자]B[구분자]C 형태로 변경, 구분자는 기타1 자리에 BR(줄바꿈) 또는 M(콤마) 입력

 예시) {AV_category_1}=;A;B;C; => {AV_category_1//STC//M}=A,B,C

 STQC

 ;A;B;C; 형태를 'A','B','C' 형태로 변경

 예시) {AV_category_1}=;A;B;C; => {AV_category_1//STQC}='A','B','C'

 STBK 

 ;A;B;C; 에서 시작과 끝의 ; 제거

 예시) {AV_category_1}=;A;B;C; => {AV_category_1//STBK}=A;B;C

 STSI 

 ;A;B; 형태를 A;분류1줄바꿈B;분류2 형식으로 변경

 예시) {AV_category_1}=;A;B; => 

 {AV_category_1//STBK}=

 A;분류1

 B;분류2

 STRLEN

 문자열의 길이 

 예시) {AV_etc_1}=15000 => {AV_etc_1//STRLEN}=5

 SS

 특수문자만 제거

 예시) {AV_category_1}=;1;2;3; => {AV_category_1//SS}=123

 SQ

 따옴표 제거

 예시) {AV_subject}="검색어"를 입력하세요 => {AV_subject//SQ}=검색어를 입력하세요

 ST

 모든 태그 제거

 예시) {AV_comment_1}=<div><span>텍스트</span></div> => {AV_comment_1//ST}=텍스트

 NLBR 

 textarea 입력상자에서 입력한 줄바꿈을 BR 태그로 변경

 

 예시) {AV_comment_1}=첫 번째 줄 두 번째 줄

 => {AV_comment_1//NLBR}=첫 번째 줄<br>두 번째 줄

 RMPHPEXT 

 .php 제거

 예시) {GV_design_file}=board_w.php => {GV_design_file//RMPHPEXT}=board_w

 BCT

 게시판 기본분류코드를 타이틀로 표현 

 게시판관리의 분류1~6 항목에 분류가 등록된 경우만 사용가능

 

  예시) {AV_category_1}=A => {AV_category_1//BCT}=분류1

 BCTI

 게시판 개별분류코드를 타이틀로 표현

 게시판분류관리(insiter.php?design_file=board_category.php)에 분류가 등록된 경우만 사용가능

 

 예시) {AV_category_1}=00001 => {AV_category_1//BCT}=분류1

 BCTO 

 게시판 단일분류코드를 타이틀로 표현

 게시판분류관리(insiter.php?design_file=category.php)에 분류가 등록된 경우만 사용가능

 

 예시) {AV_category_1}=1001 => {AV_category_1//BCTO}=분류1

 EXPL

 구분자로 구분한 값으로 치환, 예시) -로 구분된 전화번호의 첫번째 값으로 치환

 예시) {AV_phone_2}=010-1234-5678 

 => {AV_phone_2//EXPL//-//1}=010, {AV_phone_2//EXPL//-//2}=1234, {AV_phone_2//EXPL//-//3}=5678