취소 또는 반품 요청 시 나타나는 모달 창의 문구를 요청이 완료되었어요. 환불 시 고객 부담금이 부과될 수 있어요로 대체하고, 환불 예정 금액을 운영자 승인 후 확정으로 표시할 수 있어요.
아래 소스코드를 [테마 설정 > 커스텀 코드]의 <body> 코드에 입력해 주세요.
<script>
(function () {
if (window.__cancelModalObserver) return;
function modifyCancelModal(container) {
const walker = document.createTreeWalker(
container,
NodeFilter.SHOW_TEXT,
null,
false
);
const textNodes = [];
let node;
while ((node = walker.nextNode())) {
textNodes.push(node);
}
textNodes.forEach((n) => {
if (/총\s*[\d,]+원이\s*환불될\s*예정이에요\./.test(n.textContent)) {
const parent = n.parentElement;
const first = document.createTextNode('요청이 완료되었어요.');
const br = document.createElement('br');
const second = document.createTextNode('환불 시 고객부담금이 부과될 수 있어요.');
parent.replaceChild(second, n);
parent.insertBefore(br, second);
parent.insertBefore(first, br);
let el = parent;
for (let i = 0; i < 4; i++) {
if (el) { el.style.height = 'auto'; el = el.parentElement; }
}
}
if (n.textContent.trim() === '환불 예정 금액') {
const labelEl = n.parentElement;
const row = labelEl?.parentElement;
if (row) {
[...row.querySelectorAll('*')]
.filter(
(el) =>
el !== labelEl &&
!el.contains(labelEl) &&
el.children.length === 0 &&
/[\d,]+원/.test(el.textContent)
)
.forEach((el) => {
el.textContent = '운영자 승인 후 확정';
});
}
}
});
}
const observer = new MutationObserver((mutations) => {
mutations.forEach(({ addedNodes }) => {
addedNodes.forEach((node) => {
if (node.nodeType === Node.ELEMENT_NODE) {
modifyCancelModal(node);
}
});
});
});
observer.observe(document.body, { childList: true, subtree: true });
window.__cancelModalObserver = observer;
})();
</script>
JavaScript
복사
HTML 블록 안내서로 돌아가기
식스샵 프로 가이드로 돌아가기


