jabeler
(James)
6월 9, 2020, 6:46오후
1
이전에는 @sam님의 제안 을 사용하여 카테고리 내 주제를 ‘좋아요’ 기준으로 정렬할 수 있는 옵션을 제공했지만, 2.5.0.beta6부터는 더 이상 작동하지 않는 것으로 보입니다.
TypeError: undefined is not an object (evaluating 'Discourse.SiteSettings.top_menu = 'categories|latest|top|new|unread'')
이 기능을 활성화하기 위한 새로운 방법이 있을까요?
tshenry
(Taylor)
6월 10, 2020, 5:10오후
3
음, 제가 직접 테스트해 봤을 때 바로 같은 오류가 발생하진 않았어요. 하지만 링크해 주신 코드는 요즘 기준으로 꽤 오래된 코드입니다! 제 생각에는 이 코드가 대부분의 최신 패턴을 커버하고, 같은(또는 더 나은) 결과를 얻을 수 있을 것 같아요. 물론, 여러분의 커뮤니티에 적합한 값으로 조정해서 시도해 보세요.
<script type="text/discourse-plugin" version="0.10.0">
const I18n = require("I18n").default;
I18n.translations[I18n.locale].js.filters.topliked = { help: "Top Liked" };
api.addNavigationBarItem({
displayName: "Top Liked",
name: "topliked",
before: "top",
href: "?order=op_likes&status=open",
customFilter: category => {
return category && category.name === "Testing"
},
forceActive: (category, args, router) => {
const queryParams = router.currentRoute.queryParams;
return (
queryParams &&
Object.keys(queryParams).length === 2 &&
queryParams["order"] === "op_likes" &&
queryParams["status"] === "open"
);
}
});
</script>