첫 번째 게시물 뒤에 Glimmer 컴포넌트 삽입

죄송합니다! @pfaffman, 제가 조금 낙관적으로 말씀드린 것 같습니다. 제가 만든 PR은 아웃렛(outlet)이 사용되지 않는 경우에도 모든 게시물 사이에 새로운 <div> 래퍼를 도입하게 됩니다. 이는 우리가 원하지 않는 방식입니다.

래퍼를 피할 수 있는 방법이 있을 수 있지만… 당장 할 수 있는 단순한 방법은 없습니다.

따라서 당장 가장 좋은 해결책은 OP에서 언급하신 adplugin 구현을 복사하는 것입니다.

대략적인 과정은 다음과 같습니다:

  1. 원하는 것을 렌더링하는 컴포넌트(Glimmer 또는 classic, 상관없음)를 생성합니다.

  2. registerWidgetShim을 사용하여 해당 컴포넌트를 위젯으로 사용 가능하게 만듭니다. adplugin 예제는 PostBottomAd 컴포넌트를 렌더링하는 "after-post-ad"라는 위젯을 생성하고 있습니다. 여기서는 모든 위젯 속성(@data)을 컴포넌트의 @model 인자로 전달하고 있습니다.

  3. api.decorateWidget을 사용하여 post:after 위치에 새로운 위젯 심을 렌더링합니다. 귀하의 경우 첫 번째 게시물에만 표시하고 싶으므로 다음과 같은 방식으로 처리할 수 있습니다.

    api.decorateWidget("post:after", (helper) => {
      if(helper.widget.model.post_number === 1){
        return helper.attach("my-widget-shim");
      }
    });
    

나중에 토픽 페이지가 Glimmer로 전환되면, 위젯 심/데코레이션을 제거하고 플러그인 아웃렛으로 대체해야 합니다. 컴포넌트 내의 모든 표시 로직이 플러그인 아웃렛에서도 재사용 가능하므로 이는 꽤 쉬울 것입니다.

진행 상황 알려주세요! 후속 질문이 있으시면 기꺼이 도와드리겠습니다 - 여기에는 처리해야 할 부분이 많다는 것을 알고 있습니다.