변경 전/변경 후. 참고로 우리는 구독 이상의 서비스를 제공하므로 기본 ‘Subscriptions’ 텍스트를 'make a payment’로 변경해야 했습니다. 다만 텍스트가 페이지 제목과도 연결되어 있는 것으로 보입니다. 따라서 제 경우엔 기존 페이지 제목 아래보다 위에 텍스트 블록을 추가하는 것이 더 합리적일 것 같습니다.
호스팅 서비스를 이용하고 있는 경우에도 이 기능을 활용할 수 있을까요? 신규 Discourse 사용자를 위한 설명이 다소 부족해서, 현재로서는 제가 이 기능을 사용하기에 가장 적합한 사람은 아닐 수 있지만, 최대한 빨리 적응하려고 노력하고 있으며 이 기능이 매우 유용할 것 같습니다.
("Pay for Services"를 "Make a Payment"로 생각하세요) top-notices 또는 above-main-container에 넣을 수 있지만, 다른 모든 페이지에서 숨길 수 있는 CSS를 찾아내지 않는 한 결제 페이지가 아닌 모든 페이지에도该内容가 추가될 것입니다. 조금만 기다려 주신다면 https://ask.discourse.com/에서 그 방법을 알려줄 가능성이 꽤 있습니다.
반면에, 해당 페이지에 플러그인 아웃렛이 추가되는 것은 합리적인 요청이 될 수 있지만, 그것은 또 다른 배워야 할 부분입니다.
아니요, 아니요. 제가 그걸 염두에 두고 말한 건 맞아요. 말씀이 맞습니다. 문서가 개선되어야 합니다. 그래서 "공정하다"고 말한 거예요!
그렇게 할 필요가 없습니다. 그냥 브라우저에서 개발자 도구를 열면 됩니다 (맥이 아니라면 F12 키가 작동합니다. 그리고 저는 맥을 쓸 때마다 매번 검색해야 하는데, 옆에 8피트(약 2.4m) 떨어진 곳에 맥이 하나 있는데도요. 그러면 “mac open dev tools browser” 같은 걸 구글에서 검색하곤 합니다). 그리고 콘솔 프롬프트에 enableDevTools()를 입력하면 됩니다. 바로 여기, 지금, 이 사이트에서 바로 해볼 수 있습니다.
구독 페이지에만 적용되는 바디 클래스가 있어야 합니다. 이렇게 하면 CSS를 사용하여 구독 페이지를 제외한 모든 페이지에 추가하는 요소를 숨길 수 있습니다.
네, 구독 페이지에는 class="above-main-container-outlet subscriptions-campaign ember-view"가 있으므로, 추가한 요소의 클래스를 숨긴 후 subscriptions-campaign 내에 있는 경우 다시 표시하는 방식으로 처리하면 됩니다. 대략 그런 식입니다.
.above-main-container-outlet.subscriptions-campaign::after {
content: "Whatever text I want to put here! \A This is a new line! \A";
white-space: pre;
}
이 해결책을 위해 필요한 힌트를 제공해 주신 @pfaffman님과@NateDhaliwal님께 진심으로 감사드립니다.
참고: 이것은 제 필요에 맞게 작동하지만, 매우 해킹(hacky)적인 방법입니다.
관리자로 이동
테마 및 컴포넌트로 이동
컴포넌트 탭 선택
“설치” 선택
옵션에서 “새로 만들기” 선택
아래 CSS 붙여넣기
필요에 따라 CSS 수정
저장
활성화 (이미 활성화되어 있지 않은 경우)하고, 해당 테마에 대해 활성화되어 있는지 확인 (“이 컴포넌트를 다음 테마에 포함”).
팁: CSS를 세밀하게 조정하는 데 도움이 필요하신가요? Gemini, Claude와 같은 AI 모델을 활용하세요. CSS를 입력하고 원하는 작업을 알려주면 됩니다.
/* PART 1: 헤더 (네이티브 H1 스타일) */
body:has(.product-list) .above-main-container-outlet.subscriptions-campaign::before {
content: "This is the Headline";
display: block;
/* 'title-wrapper' 헤더와 일치하는 스타일링 */
font-family: var(--heading-font-family);
font-size: var(--font-up-5);
font-weight: bold;
line-height: var(--line-height-small);
color: #DDDDDD;
/* 이 헤더와 아래 텍스트 사이의 여백 */
margin-bottom: 8px;
}
/* PART 2: 본문 텍스트 (아래 여백 포함) */
body:has(.product-list) .above-main-container-outlet.subscriptions-campaign::after {
content: "This is the plain text that goes below the header. \A You can still use backslash-A for new lines here.";
display: block;
/* 표준 본문 텍스트와 일치하는 스타일링 */
font-family: var(--font-family);
font-size: var(--font-0);
line-height: var(--line-height-medium);
color: #DDDDDD;
white-space: pre-wrap;
/* 텍스트 아래 빈 공간(캐리지 리턴) 생성 */
margin-bottom: 40px;
}