revert(cafe24): 상단 공통 홍보 숨기기 기능 제거
사용자 결정에 따라 없던 기능으로 되돌린다. 카페24 API 로 스킨 detail.html 의
상품번호 목록을 고칠 수 없다는 것이 확인된 뒤, 대안(상세설명 CSS 주입 / 스크립트
태그)을 모두 채택하지 않기로 정리했다.
제거 대상:
store.py HIDE_PROMO_* 상수, has_hidden_promo, set_promo_hidden
routes_products 편집기 컨텍스트의 promo 상태, hide_promo 폼 필드,
적용 시 블록 주입, 분리 상품 모바일 블록 동기화, 감사로그 표기
_editor.html 「상단 공통 홍보 숨기기」 체크박스
cafe24.css .cf24-check-inline
tests promo 관련 4건
docs 2-3 절
적용 시 "변경 없음" 판정에 모바일 비교를 포함시킨 것은 남겼다. 공통 홍보와 무관하게
맞는 동작이다(PC 는 그대로여도 모바일이 PC 와 다르면 맞춰줘야 한다).
문서 정리도 함께 했다. 앞선 편집에서 3-1·2-2 절이 중복 삽입되고 절 순서가
뒤섞여 있던 것을 2 → 2-1 → 2-2 → 3 → 3-1 → 3-2 로 바로잡았다. 편집기 절에는
아직 이전 방식(크기 맞추기·sticky 줄번호)이 적혀 있었는데 실제 구현인 스크롤
동기화로 갱신하고, 크기 계산이 두 번 실패한 이유를 근거 수치와 함께 남겼다.
⚠️ 이미 이 기능으로 적용한 상품이 있다면 그 상품 상세설명에
<style id="cf24-hide-common-promo"> 블록이 남아 있다. 편집기에서 그 줄을 지우고
적용하면 된다.
검증: 유닛테스트 45개 통과, 라우트 10개 등록, 템플릿 컴파일 확인.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -539,45 +539,6 @@ def test_format_then_encode_roundtrip():
|
||||
assert saved == raw
|
||||
|
||||
|
||||
# ════════════════════════════════════════════════════════════
|
||||
# 상단 공통 홍보 숨기기 (스킨 파일을 못 고치므로 상세설명 CSS 로 처리)
|
||||
# ════════════════════════════════════════════════════════════
|
||||
def test_promo_hidden_add_and_remove():
|
||||
body = "<div><img src=\"a.gif\"></div>"
|
||||
on = store.set_promo_hidden(body, True)
|
||||
assert store.has_hidden_promo(on) is True
|
||||
assert ".edb-img-tag-w{display:none !important}" in on
|
||||
assert body in on # 원래 내용은 그대로 남는다
|
||||
|
||||
off = store.set_promo_hidden(on, False)
|
||||
assert store.has_hidden_promo(off) is False
|
||||
assert off.strip() == body
|
||||
|
||||
|
||||
def test_promo_hidden_is_idempotent():
|
||||
body = "<div>x</div>"
|
||||
once = store.set_promo_hidden(body, True)
|
||||
assert store.set_promo_hidden(once, True) == once
|
||||
twice_off = store.set_promo_hidden(store.set_promo_hidden(once, False), False)
|
||||
assert twice_off.strip() == body
|
||||
|
||||
|
||||
def test_promo_hidden_survives_formatting():
|
||||
"""정리(포맷)를 거쳐도 숨김 상태가 유지되고 인식된다."""
|
||||
formatted = store.format_html(store.set_promo_hidden("<div><p>내용</p></div>", True))
|
||||
assert store.has_hidden_promo(formatted) is True
|
||||
assert store.has_hidden_promo(store.format_html(store.set_promo_hidden(formatted, False))) is False
|
||||
|
||||
|
||||
def test_promo_hidden_keeps_other_style_blocks():
|
||||
"""사람이 쓴 <style> 은 건드리지 않는다 — 우리 블록만 id 로 찾는다."""
|
||||
body = "<style>.v{max-width:100%}</style><div>x</div>"
|
||||
on = store.set_promo_hidden(body, True)
|
||||
off = store.set_promo_hidden(on, False)
|
||||
assert ".v{max-width:100%}" in off
|
||||
assert off.strip() == body
|
||||
|
||||
|
||||
def test_fingerprint_detects_change():
|
||||
a = store.fingerprint("<p>A</p>")
|
||||
assert a == store.fingerprint("<p>A</p>")
|
||||
|
||||
Reference in New Issue
Block a user