콘텐츠로 이동

프로젝트 열기 · 변경

모든 메서드는 init()이 반환한 editor 객체로 호출하며, 콜백은 function(err, data) 형태입니다. 성공 시 errnull입니다.

새 상품을 편집기에 엽니다. ps_code, template_uri, token이 필요합니다.

editor.create_project(params, callback);
이름 타입 기본값 설명
parent_element * HTMLElement 편집기 iframe이 추가될 DOM node
partner string 부여받은 partner-id
token * string 서버를 통해 받은 access key(JWT)
ps_code * string 사이즈코드 + 상품 코드 (예: 90x50@NC)
template_uri * string 리소스 템플릿 uri
mobile boolean | string false 모바일 UI 여부. false / true(기존) / "m2"(신규, 2026.4 추가)
div string host division code
lang string ko "ko" / "ja" / "en"
ui_locale string lang와 동일 "ko" / "ja" / "en"
title string 제목
run_mode string standard 패시브 모드로 열 때 passive
edit_mode string standard 디자이너 모드로 열 때 design
num_page number 포토북 내지 스프레드 장수. 없으면 템플릿 그대로 생성.
max_page number 내지 스프레드 최대 장수. 기본은 paging rule을 따름.
min_page number 내지 스프레드 최소 장수. 기본은 paging rule을 따름.
cal_date string 달력 날짜 생성 커맨드. 예: 2019-1(2019년 1월부터 12개월), 2019-1-14-0-0(14개월).
private_css string CSS 오버라이드 값
clear_src string item default src 삭제(현재 cell만 가능)
no_update boolean false true면 종료 버튼이 "나가기"로 바뀌고, 저장 없이 바로 goto-cart 전송
action 타입 설명
project-id-created 생성 성공. info.project_id에 프로젝트 id.
close 편집기 종료(또는 goto-cart)
request-user-token 인증이 만료되어 새 토큰이 필요함 → send-user-token으로 대응
request-help-message 모바일 사진선택 탭의 도움말 버튼 클릭. info.case: "photo-import"
editor.create_project(
{ parent_element, ps_code, template_uri, token },
function (err, data) {
if (err == null && data.action == 'goto-cart') {
self.close.emit(false);
} else if (data.action == 'request-user-token') {
// Edicus로부터 토큰 요청을 받으면 send-user-token으로 대응
getCustomTokenFromServer(client_env.uid, function (err, res) {
editor.post_to_editor('send-user-token', { token: res.token });
});
}
}
);

open_project — 저장된 프로젝트 열기

섹션 제목: “open_project — 저장된 프로젝트 열기”

저장된 프로젝트를 편집기로 엽니다.

editor.open_project(params, callback);

create_project와 대부분 동일하며, template_uri·ps_code 대신 prjid(프로젝트 id)를 사용합니다.

이름 타입 기본값 설명
prjid * string 프로젝트 id
run_mode string standard passive / preview(사진인화 상품만)

템플릿 수정 모드로 편집기를 엽니다. Staff 권한 토큰이 필요합니다.

editor.edit_template(params, callback);
이름 타입 기본값 설명
parent_element * HTMLElement 편집기 iframe이 추가될 DOM node
token * string 서버를 통해 받은 access key
ps_code * string 사이즈코드 + 상품 코드
template_uri * string 리소스 템플릿 uri
div string host division code
lang string ko language code
ui_locale string lang와 동일 ui locale code

편집기가 떠 있는 상태에서 다른 프로젝트로 전환합니다.

editor.change_project({ project_id: 'abcdefghijklmn' });

편집기가 떠 있는 상태에서 템플릿을 변경합니다.

editor.change_template({
ps_code: '90x50@NC',
template_uri: 'gcs://template/partners/motion1/res/template/4201.json',
});
이름 타입 기본값 설명
ps_code * string 템플릿의 ps code
template_uri * string 템플릿 resource uri

recycle_project — 프로젝트 재활용

섹션 제목: “recycle_project — 프로젝트 재활용”

기존 프로젝트로 새 프로젝트를 생성합니다. 사용자 사진은 제거됩니다. 파라미터·콜백은 create_project와 유사하되 prjid를 사용합니다.

editor.recycle_project({ parent_element, prjid, token }, callback);

create_projectparams.options로 추가 설정을 전달할 수 있습니다. sizing 옵션은 템플릿 페이지 사이즈를 변경합니다.

이름 타입 기본값 설명
type * string page 사이즈 변경 방식(현재 page만)
width_mm number 대지 가로 크기(재단 점 기준)
height_mm number 대지 세로 크기(재단 점 기준)
cover_width_mm number 커버 대지 가로(책등 제외). 커버가 있고 내지와 크기가 다를 때
cover_height_mm number 커버 대지 세로. 커버가 있고 내지와 크기가 다를 때
cover_spine_mm number 커버 책등 크기. 템플릿 책등 크기를 조절해야 할 때
editor.create_project({
token, ps_code: '90x50@NAMECARD', template_uri,
options: {
sizing: { type: 'page', width_mm: 355, height_mm: 90 },
},
}, callback);