peterd
(Peter)
5월 25, 2023, 9:23오전
1
안녕하세요,
저희 커뮤니티를 Discourse로 이전하고 있습니다. 현재 커뮤니티에 기존 콘텐츠가 많이 있습니다. 사이트 페이지에서 주제와 댓글을 표시하는 방법으로 JavaScript 임베드 옵션이 실행 가능한 방법인 것 같습니다.
Discourse로 이전된 커뮤니티 콘텐츠를 올바른 페이지에 연결할 수 있도록 external_id 속성을 사용하고자 합니다.
API를 통해 각 주제에 대한 property_id를 프로그래매틱하게 설정할 수 있지만, 임베드 코드에서 이를 활용하는 방법을 모르겠습니다.
다음과 같이 시도해 보았습니다:
<script type="text/javascript">
DiscourseEmbed = {
discourseUrl: 'https://discourse.mydomain.com/',
external_id: "296645"
};
(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
하지만 작동하지 않습니다.
다른 방법으로 시도해 볼 수 있는 것이 있을까요?
Aaron_B
(Aaron B)
10월 3, 2023, 5:14오전
2
해결하셨나요? 저도 external_id로 같은 일을 해보려 하는데, 변수 이름이 맞는지 잘 모르겠어요.
특정 주제를 임베드하려면 변수가 'topicId’라고 합니다. 'externalId’도 시도해 봤지만, 어떤 값이 작동하는지 아직 찾지 못했어요.
simon
10월 3, 2023, 6:04오전
3
질문자님이 하려는 작업은 여기 https://meta.discourse.org/t/embed-discourse-comments-on-another-website-via-javascript/31963#alternate-configuration-linking-to-existing-topics-6 에 설명되어 있는 것 같습니다.
이 방법은 외부 사이트의 기존 게시물을 기존 Discourse 주제와 연결하려는 경우에 유용합니다. 이 코드는 Discourse에 연결하려는 각 외부 게시물에 추가해야 합니다. 각 게시물에 대해 topicId 매개변수를 연결하려는 Discourse 주제의 ID로 설정해야 합니다.
이 방법으로 문제가 해결되지 않는다면, 더 자세히 설명해 주시겠습니까?
Aaron_B
(Aaron B)
10월 3, 2023, 6:21오전
4
이를 별도의 스레드로 분리하여 더 명확하게 설명해 보았습니다:
외부 사이트에서 게시물을 로드해야 하는데, post_id는 알 수 없지만 토픽을 생성할 때 설정한 external_id는 알고 있습니다.
누군가 embed.js 로직에서 external_id 변수를 노출해 주시거나, 제가 놓치고 있는 부분이 무엇인지 알려 주실 수 있을까요?
예시 지원 요청:
window.DiscourseEmbed = {
discourseUrl: ‘https://forums.blah.org/ ’,
external_id: ‘2023-4’
};