كيفية إظهار الاسم الكامل في التضمينات

مرحباً يا رفاق
لقد قرأت للتو هذا المنشور How to display full name in comments embeds
لقد قمت بتشغيل هذه الأوامر.

cd /var/discourse
./launcher enter app
تم اكتشاف بنية x86_64.
root@discourse-app:/var/www/discourse# cd app/views/embed/
root@discourse-app:/var/www/discourse/app/views/embed# nano comments.html.erb

لم يكن nano مثبتًا، لذا قمت بتثبيته وقمت بتحرير comments.html.erb، مستبدلاً الأسطر المذكورة في المنشور المشار إليه.
ثم خرجت من المشغل وقمت بتشغيل

./launcher rebuild app

بعد إعادة البناء لم يحدث أي فرق، ما زلت أرى أسماء المستخدمين بدلاً من الأسماء الكاملة في التضمينات.

أين أخطأت؟
شكرا

إعجابَين (2)

مرحبًا مارك! :wave:

إعادة بناء التطبيق يعيد تنزيل Discourse، وسيقوم بالكتابة فوق أي تغييرات أجريتها داخل الحاوية.

إذا كنت ترغب في جلب تعديلات إلى Discourse، فإن تعديل هذه الملفات بهذه الطريقة ليس هو الطريقة الصحيحة للقيام بذلك.

عادةً ما يتم تخصيص ميزات Discourse إما باستخدام مكون سمة (theme component):

أو إضافة (plugin):

إذا كانت لديك بعض المعرفة بالبرمجة، أقترح عليك إلقاء نظرة على هذه الروابط. :slight_smile:


قد يكون هذا الرابط مثيرًا للاهتمام بشكل خاص:

للوهلة الأولى، يبدو أنه يفعل بالضبط ما تبحث عنه. إنه يستهدف ملفًا آخر في نفس المجلد الأصلي.

إعجاب واحد (1)

@Canapin شكراً لاقتراحاتك.

لقد أنشأت هذا المستودع https://github.com/OptDev/optuma-discourse-custom-embed
ولكنني لا أحقق الكثير من التقدم.
أقوم بتشغيل هذا الأمر ويبني دون خطأ

./launcher enter app

ولكن لا يبدو أنني أرى التغييرات التي أتوقعها في التضمينات. لقد أضفت بضعة أسماء فئات CSS مخصصة وقمت بتغيير <%= post.user.username %> إلى <%= post.user.name %>. سأقدر المزيد من التوجيه في الاتجاه الصحيح لجعل هذا يعمل. لا أستطيع أن أتخيل أنه معقد للغاية لتجاوز ملف قالب المكون الإضافي من مكون إضافي آخر.
ما تمكنت من القيام به هو الدخول إلى التطبيق ونسخ إصدار المكون الإضافي الخاص بي من القالب يدويًا إلى /var/www/discourse/app/views/embed/ ثم أقوم بإعادة تشغيل التطبيق وأرى النتائج التي أبحث عنها.
أحتاج فقط إلى أن يحدث ذلك تلقائيًا عند تحميل المكون الإضافي، وهذا هو المكان الذي أتعثر فيه.

هل لديك أي أفكار لماذا لم يتم تجاوز ملف /app/views/embed/comments.html.erb بالملف الموجود في المكون الإضافي الخاص بي؟

after_initialize do
  ::EmbedController.prepend_view_path File.expand_path("../embed", __FILE__)
end

حسنًا، لقد فهمت هذا بشكل صحيح، كانت هناك مشكلة في المسار فقط.

الآن أحتاج فقط إلى معرفة كيفية سحبه من مستودع git خاص.

إعجاب واحد (1)

فقط أضف رمز الوصول الخاص إلى عنوان URL المستنسخ

@merefield كيف سيبدو ذلك في ملف app.yml؟

لا بأس، لقد وجدتها هنا. Install plugins on a self-hosted site

شيء واحد يجب ملاحظته، في الوثائق يقول لاستخدام “رمز مميز”…

git clone https://<token>@github.com/owner/repo.git

وجدت أنني بحاجة إلى استخدام اسم مستخدم GitHub الخاص بك والرمز المميز

git clone https://<github-username>:<token>@github.com/owner/repo.git

إعجاب واحد (1)

هل نجح المكون الإضافي الخاص بك كما هو مقصود في النهاية؟ :slight_smile:

@Canapin نعم! تم تشغيل كل شيء بنجاح. إليك كيف بدا ملف plugin.rb. تبين أنني كنت أواجه مشكلة في المسار حيث كنت أضع الإصدار المخصص للملف.

لقد انتهى بي الأمر بوضعه في مجلد /custom_views/embed/comments.html.erb

# frozen_string_literal: true

# name: optuma_discourse_custom_embed
# about: A simple plugin to used to customise the template in the forum embeds
# version: 1.0.0
# authors: Optuma Pty Ltd
# url: https://github.com/OptDev/optuma-discourse-custom-embed
# required_version: 2.7.0

after_initialize do
  ::EmbedController.prepend_view_path File.expand_path("../custom_views", __FILE__)
end
إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.