추가로 말씀드리면, Joe님이 게시한 코드 스니펫은 새로운 주제 버튼과 함께 예상대로 작동하지 않았습니다. 사용자가 주제를 읽는 중에 새 주제를 생성하면 답글 텍스트가 표시되었습니다.
아래는 대안적인 접근 방식입니다:
카테고리 페이지에서든 주제 내에서든 새 주제를 시작하는 경우 모두 새 주제용 플레이스홀더를 표시합니다.
답글에는 다른 플레이스홀더를 표시합니다.
<script type="text/discourse-plugin" version="0.8">
// Custom placeholders
const placeHolderForReplies = `다른 사람을 도울 때:
1. 문제가 무엇이라고 생각하는지 설명하세요
2. 그들이 무엇을 해야 한다고 생각하는지 알려주세요
3. 어떻게 하는지 보여주세요 (코드 스니펫, 이미지 등)
4. 링크와 참고 자료를 포함하세요 `;
const placeHolderForNewTopics = `여기에 입력하세요.
1. 무엇을 하려는지 알려주세요.
2. 이미 무엇을 시도해 보았는지 알려주세요.
3. 에러 로그를 코드 스니펫으로 게시하세요.`;
// Import required modules
const discourseComputed = require("discourse-common/utils/decorators").default;
const currentLocale = I18n.currentLocale();
I18n.translations[currentLocale].js.composer.custom_reply_placeholder = placeHolderForReplies;
I18n.translations[currentLocale].js.composer.custom_topic_placeholder = placeHolderForNewTopics;
api.modifyClass("component:composer-editor", {
@discourseComputed("composer.replyingToTopic", "composer.creatingTopic")
replyPlaceholder(replyingToTopic, creatingTopic) {
// Determine if the composer is for replying or creating a new topic
if (creatingTopic) {
return "composer.custom_topic_placeholder"; // New topic placeholder
} else if (replyingToTopic) {
return "composer.custom_reply_placeholder"; // Reply placeholder
}
return this._super(...arguments); // Fallback to default behavior
}
});
</script>