يجب أن يكون ذلك قابلاً للتنفيذ في مكون سمة. معرف المستخدم متاح دون طلب إضافي، لذا ستحتاج فقط إلى بعض JavaScript لعرضه في منفذ إضافة (plugin outlet) في صفحة الملف الشخصي.
حسنًا، نظرًا لأن المعرّف الفريد للمستخدم (UID) غير قابل للتغيير (لا يتغير أبدًا)، فيمكنه أن يعمل كبصمة إصبع دائمة لحساب شخص ما. يمكن لأسماء المستخدمين أن تتغير، لذا بالنسبة لتذاكر الدعم، يمكنه العثور على حسابه ومعاملاته وجلسات المصادقة وما إلى ذلك على الفور… لا يمكن تزييف المعرّف الفريد للمستخدم وهو فريد إلى الأبد.
أرغب في أن يزداد المعرّف الفريد للمستخدم بمقدار 1 مع كل مستخدم جديد.
@Moin شكراً على الرد، لقد كان مفيداً. نعم، يمكنني رؤية الاستجابة في Network → XHR → Response. ممتاز. ولكني لا أعرف كيف أعرض UID في ملف تعريف حساب المستخدم. أريد عرضه هنا: https://mydomain.com/u//preferences/account
ولكن ضمن مكونات الإنشاء (create components) هناك فقط هذه الخيارات: , Before Header, After Header و Footer
/my/preferences/account ليس عامًا؛ لا يمكن للمستخدمين الآخرين رؤيته، ولكن بناءً على حالة الاستخدام الخاصة بك، قد يكون كافيًا للمستخدم نفسه رؤية المعرّف الخاص به.
تحتاج إلى العثور على منفذ المكوّن الإضافي (plugin outlet) القريب من المكان الذي تريد عرض المعلومات فيه. عادةً ما أستخدم الزر الموجود في شريط أدوات المطور (developer toolbar) لجعلها مرئية في المنتدى. رؤيتها داخل المنتدى تجعل من الأسهل عليّ العثور على أفضل منفذ. يمكنك العثور على مزيد من المعلومات حول كيفية عرض شيء ما في منفذ في Theme Developer Tutorial: 1. Introduction
حسنًا، إذا أردت أن يراها الجميع (عامة)، فسأضعها ضمن: mydomain.com/u/<ملخص_المستخدم>
لذا باستخدام enableDevTools() ضمن وحدة تحكم المتصفح، أعتقد أن user-profile-secondary سيكون مكانًا جيدًا.
سأحاول الآن.
لقد علقت. كيف يمكنني الحصول على id المستخدم الذي أشاهده؟ لأن api.getCurrentUser يعطي المستخدم الذي قام بتسجيل الدخول
نعم، api.renderInOutlet() كانت حاسمة. ومع ذلك، كانت مشكلتي، والتي أصبحت الآن غير ذات صلة لأنني تعاملت معها بطريقة مختلفة، هي أنني لم أكن أعرف كيفية استرداد user.id للملف الشخصي الذي تتم مشاهدته.
هل لديك أي أفكار؟
أعتقد أنه سيكون من الأسهل إذا اخترت منفذًا يوفر نموذج المستخدم الذي تعرض صفحته.
المنفذ الذي اخترته يوفر معلومات حول الموضوع ولكن ليس حول المستخدمين
المنافذ الموجودة في ملف تعريف المستخدم مثل `user-post-names` توفر نموذج المستخدم:
https://github.com/discourse/discourse/blob/5b6d32804a1eb658fdc043b082336a17b4c1c944/frontend/discourse/app/templates/user.gjs#L220-L224
باستخدام منفذ يوفر النموذج، يجب أن تكون قادرًا على استخدام `@outletArgs` كما في المثال الموجود في https://meta.discourse.org/t/theme-developer-tutorial-4-using-outlets-to-insert-and-replace-content/357799. يستخدم المثال هناك `discovery-list-container-top` الذي يوفر `@outletArgs={{lazyHash category=@model.category tag=@model.tag}}`
لهذا السبب سأختار منفذًا يوفر نموذج المستخدم. يمكنك رؤية النموذج عند التمرير فوق المنفذ ورؤية معرف المستخدم الذي تعرض ملفه الشخصي. تستخدم العديد من الأمثلة في البرنامج التعليمي خدمة currentUser، والتي توفر معرف المستخدم الفاعل، وهو ليس ما تبدو أنك تبحث عنه.