أنا ممتاز في إدارة الأنظمة. لست سيئًا في العمل مع Rails. أما مع JavaScript و Ember و CSS، فأنا أشبه الإنسان البدائي.
في إضافة (plugin) تهدف إلى تغيير من يمكنه إرسال الرسائل الخاصة، أحاول إضافة زر إلى صفحة الملف الشخصي عندما لا يملك المستخدم صلاحية إرسال رسالة خاصة. يمكنني إضافة النص في المكان الذي أرغب فيه تمامًا من خلال وضع المحتوى في assets/javascripts/discourse/templates/connectors/user-summary-stat/my-clever-name.hbs. (كان هناك احتفال كبير!).
أود استخدام هذا الشرط في my-clever-name.hbs، لكن المتغير غير مُعرَّف.
أعتقد أنني ربما أحتاج إلى إنشاء ملف my-clever-name.js.es6 في نفس المجلد الذي يحتوي على ملف hbs الخاص بي، وتضمين… شيء ما، و/أو إضافة بعض الكود الذي يُعرِّف هذا المتغير حتى أتمكن من الوصول إليه، لكنني أعيدت قراءة دليل المطور عدة مرات، وحاولت محاكاة الكود في بعض الإضافات التي تبدو وكأنها تفعل الشيء نفسه، دون أن أرى بالضبط كيفية القيام بذلك.
إذن، هل سأقوم بإنشاء assets/javascripts/discourse/components/my-plugin.js.es6 وأقوم بتمديد… شيء ما…؟ يبدو أن هناك طريقة يمكنني من خلالها ببساطة “تفعيل” نفس المتغيرات التي يتمتع القالب الآخر الذي أقوم بتمديده بالوصول إليها. آه! ربما يؤدي تمديد “ذلك الشيء” في المكون الخاص بي إلى جعل هذه المتغيرات متاحة لي؟
هل يجب أن أستسلم وأرجع للخلف وأقضي أسبوعًا في دورة Ember التعليمية؟
import discourseComputed from "discourse-common/utils/decorators";
import User from "discourse/controllers/user";
export default Ember.Component.extend(User, {
classNames: ["restrict-pms"],
myFunThing: "this is text in my fun thing",
@discourseComputed("myvalue")
someThing(myvalue) {
return true;
}
});
Template.registerHelper("log", function(something){
console.log(something);
});
أعتقد أن ما أسأله، وقد لا يكون منطقيًا، هو ما الذي يمكنني وضعه في assets/javascripts/discoures/templates/connectors/user-profile-controls/add-link-to-subscription.hbs لكي أتمكن من الوصول إلى myFunThing أو myvalue؟
الكود أعلاه موجود في assets/javascript/discourse/components/user-private-messages.js.es6.
وأود أن أتمكن من استخدام {{myFunThing}} و/أو {{myvalue}} في assets/javascripts/discourse/templates/connectors/user-profile-controls/add-link-to-subscription.hbs، لكنهما غير مُعرَّفين.
أعتقد أن أحد هذين الملفين في المكان الخطأ (أرى أن النصوص الأخرى في ملف hbs أعلاه تُعرض في /u/username/summary، ولكن بدون myFunThing)، أو أنني أستورد الفئة الخطأ و/أو أقوم بتوسيع المكوّن الخطأ.