تعديلات كود اختبار التطبيق المباشر لا تظهر في الواجهة

مرحباً،

بالنظر إلى أنني قمت بالتطوير على joomla/wordpress، فإنني أتساءل عن كيفية عمل وظيفة تعديل ملفات الواجهة الخلفية لـ discourse عبر docker.
لقد قرأت الوثائق حول كيفية إنشاء إضافة (How can I make my own Discourse plugins? - #2 by merefield)، ولكني لا أرغب في القيام بذلك بعد، بل أرغب فقط في اختبار الكود بشكل مباشر.

في تثبيت MVC غير docker، عند إجراء تعديل على ملف عبر ftp، كان ينعكس على الفور، وبينما أتفهم الحاجة إلى إعادة بناء التطبيق لتطبيق تعديلات دائمة مع docker، ماذا لو أردت اختبار الأشياء بشكل مباشر؟

يبدو أن تعديلات الكود للاختبار المباشر لا تعمل:

على سبيل المثال، أرغب في تعطيل عمليات البحث للمستخدمين المجهولين، لذلك قمت بتحرير:
/var/www/discourse/app/controllers/search_controller.rb بإضافة “if current_user.present؟” بعد “def show” مع “end” في أسفل الدالة.

لقد فوجئت بأن هذا لم يكن له أي تأثير على الواجهة الأمامية، وحتى إعادة تسمية المتحكم إلى search_controllerold لم يكن لها أي تأثير على عمليات البحث.

ولكن بطريقة ما، أدى إعادة تسمية صورة في /var/www/discourse/public/images# إلى إخفاء الصورة في الواجهة الأمامية :)!

هل يمكن لأي شخص أن يخبرني كيف تعمل الأمور هنا، هل هناك نسخة مخبأة أخرى للنظام بخلاف التطبيق الذي يبدأ من صورته؟

شكرا لك

حسناً، لقد وجدت أن الكود يتم تعديله إذا قمت بتعديل الملفات في ./javascripts/discourse/node_modules/.embroider/rewritten-app/
يبدو الأمر أفضل الآن :slight_smile:

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

هذا يبدو أكثر من كونه نمطًا مضادًا.

من المحتمل أن يتم استبدال ذلك مع كل عملية بناء.

اطلع على المواد الموجودة في Documentation > Developer Guides والأمثلة التي لا حصر لها من المصادر المفتوحة الحقيقية لمعرفة كيفية تعديل الواجهة الأمامية عبر Theme component وكلا من الواجهة الأمامية والخلفية عبر #plugins

إعجابَين (2)

شكراً على المشاركة! سأتحقق من هذا وربما أتعمق فيه بجدية أكبر في وقت ما، في الوقت الحالي، أردت فقط اختبار التعديلات المباشرة ولا أفهم لماذا لا تظهر في الواجهة الأمامية بنفس السهولة التي كانت عليها عبر FTP على Joomla/WordPress.