مثال:
api.addCommunitySectionLink({
name: "intersection-navigator",
route:"tags.intersection",
title: I18n.t("tag_intersection_navigator.link.title"),
text: I18n.t("tag_intersection_navigator.link.text")
})
… سيفشل لأن هذا المسار يتطلب tag_id.
لقد حاولت إضافة:
params: { tag_id: siteSettings.discourse_tag_intersection_navigator_all_word },
model: { tag_id: siteSettings.discourse_tag_intersection_navigator_all_word },
… لكني أشك بشدة في أن هذا لا تتم معالجته بالصورة الضرورية بواسطة api …
4 إعجابات
على وجه التحديد، أعتقد أنه هنا: discourse/app/assets/javascripts/discourse/app/lib/sidebar/custom-community-section-links.js at d0c3f3b8fe6905e7e33ae4944cdf44c11ccc0df6 · discourse/discourse · GitHub
إذا أضفنا هذا، فيجب أن يعمل:
get models() {
return args.models;
}
3 إعجابات
أوه وبما أن هناك شرط typeof args === "function"، فيمكنك فعل شيء كهذا مباشرةً:
api.addCommunitySectionLink((Base) =>
class CustomLink extends Base {
get name() {
return "intersection-navigator";
}
get route() {
return "tag.show";
}
get models() {
return ["tagid"];
}
get title() {
return I18n.t("tag_intersection_navigator.link.title");
}
get text() {
return I18n.t("tag_intersection_navigator.link.text");
}
}
);
إعجاب واحد (1)
نعم، هذا ما أفعله بالفعل … ولكن هناك بعض الأشياء المضحكة لاحقًا في العملية
إعجاب واحد (1)
لسبب ما، هذا ليس صحيحًا تمامًا وأواجه بعض الشكاوى حول عدم وجود postStream عند النقر:
api.addCommunitySectionLink((baseSectionLink) => {
return class CustomSectionLink extends baseSectionLink {
get name() {
return "intersection-navigator";
}
get route() {
return "tags.intersection";
}
get models() {
return [{tag_id: siteSettings.discourse_tag_intersection_navigator_all_word}];
}
get title() {
return I18n.t("tag_intersection_navigator.link.title")
}
get text() {
return I18n.t("tag_intersection_navigator.link.text");
}
};
});
يكاد يكون الأمر كما لو كنت بحاجة إلى تضمين النموذج للمسار الحالي، وهو أمر غريب!
إعجاب واحد (1)
ما هو ناتج هذا الإعداد؟ يبدو أنه يعمل بشكل جيد عندما أقوم يدويًا بما يلي:
get models() {
return ["featured", "tv"];
}
إعجابَين (2)
نعم، هذا يعمل، هذا مفيد حقًا، شكرًا لك!
الإعداد مجرد سلسلة. أعتقد أنني كنت أبالغ في التفكير في الأمر.
الاسم “models” (نماذج) لمعلمات الاستعلام ليس بديهيًا بنسبة 100٪ على الرغم من ذلك؟
سيجعل طلب السحب (PR) الخاص بك هذا الأمر أكثر ترتيبًا، تحياتي!
إعجابَين (2)
نعم، لم يكن الأمر واضحًا بالنسبة لي في البداية أيضًا، ولكن هذا لأنه في النهاية يستخدم مكون LinkTo الخاص بـ Ember، والذي يتوقع وسيطة نموذج…
إعجاب واحد (1)
system
(system)
تم إغلاقه في
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.