أعتقد أن هذا ممكن. في معالج الأحداث dpg_displaypage، تحتاج إلى استخدام $.ajax() لاستدعاء واجهة برمجة التطبيقات الخارجية الخاصة بك. أيضًا، أعتقد أنك تحتاج إلى إضافة واجهة برمجة التطبيقات الخارجية إلى إعداد “مصدر النص البرمجي لسياسة أمان المحتوى” في Discourse.
يبدو أن هذا الإضافة لا تزال قيد الصيانة، لكنني أعتقد أنني عزلت مشكلة على خادمي حيث لا يمكن عرض صفحة تسجيل الدخول عند تمكين هذه الإضافة. آمل حل هذه المشكلة.
إذا كانت هذه الإضافة مفعلة على خادمي، فيمكنني تأكيد أن صفحة تسجيل الدخول تظهر فارغة، وإذا قمت بتعطيل الإضافة، فإن صفحة تسجيل الدخول تظهر بشكل طبيعي مرة أخرى. إذا كان المستخدم مسجلاً للدخول بالفعل، فلا توجد هذه المشكلة ويعمل الخادم بشكل طبيعي.
أبحث عن مساعدة/دعم لحل هذه المشكلة. أنا مستعد لتقديم أي معلومات إضافية مطلوبة لدعم عملية استكشاف الأخطاء وإصلاحها.
شكرًا لك يا جوردان.
نعم، سأحتاج إلى بعض المعلومات الإضافية، حيث قمت بفحص عدة نسخ من Discourse الخاصة بي ولم أتمكن من تكرار المشكلة.
عندما تقول “صفحة تسجيل الدخول غير قابلة للعرض”، هل تقصد نافذة تسجيل الدخول المنبثقة؟
يرجى تزويدي بمزيد من التفاصيل و/أو لقطات شاشة. أيضًا، إذا أمكن، أرسل لي رسالة خاصة مع رابط نسخة Discourse الخاصة بك.
مرحبًا سيل،
شكرًا لك على الرد.
عند تمكين إضافة discpage والذهاب إلى مثيل Discourse دون تسجيل الدخول، يُعرض لي صفحة فارغة تمامًا. انظر أدناه:
لقد قمت أيضًا مؤخرًا بفحص سجلات وحدة التحكم ولاحظت وجود بعض الأخطاء المتعلقة بـ discpage. على الرغم من أنها لا تعني لي شيئًا. ربما تعني شيئًا لك…
شكرًا لتبليغك عن هذه المشكلة. تم تسجيل العيب هنا:
حتى يتم إصلاح العيب، يمكن استخدام حل بديل وهو تعطيل إعداد Discourse الخاص بـ “تسجيل الدخول مطلوب”.
تعديل: تم إصلاح العيب الآن.
مرحبًا سيل،
الأمر محرج قليلاً
آسف على الصراحة، كنت أطلع على مصدر الإضافة بدافع الفضول فقط، دون أن أملك أي مهارة في البرمجة، وأنا مشوش بشأن تنسيق ملف المكتبة. أفترض أن هذا ليس خيارًا تقنيًا (ولكن ماذا أعرف
)، ويمكنني تخيل وفهم مصدره.
أشعر نوعًا ما بأنك في منتصف الطريق، والأمر رائع بالفعل، لذا لا أريد حقًا أن أبدو غير ممتن، لكن هل تفكر في مشاركة نسخة مفهومة من عملك؟
في رأيي، على المدى الطويل، قد يكون إيقاع الترقيات الأساسية صعب المتابعة لمؤلفي الإضافات، وقد يخفف هذا من قلق أولئك الذين يمكنهم الاستفادة من ميزات إضافتك لكنهم يترددون في بناء شيء يعتمد على عاتق عدد قليل جدًا من الأشخاص، ولماذا لا، فقد يولد هذا أيضًا حسن نية واهتمامًا؟
شكرًا جزيلاً على أي حال ![]()
مرحبًا بنيامين،
تم إصدار كود مصدر الإضافة بصيغة مصغرة لأنني أشعر بالخجل منه. إنه نتيجة لتجربة بحث وتطوير ويحتاج إلى إعادة هيكلة شاملة. لقد أجلت المهمة حتى يثير الإضافة بعض الاهتمام.
![]()
حسناً، يمكنك احتسابي ضمن فئة “مهتم جداً”!
أعتقد أن هذا تنويع جميل جداً لميزة “الاقتباس” الأساسية.
أبحث عن حافز لمستخدميهم للمشاركة في تحليل بعض الخطب (وهو أمر قريب جداً من استخدامك لـ Castafiore على ما أعتقد، لكنه أقل متعة للأسف!)، وعلّ هذا التصميم يشجعهم على التوجه نحو وضع الكتابة.
حتى الآن كل شيء على ما يرام!
رأيي الشخصي:
- رأي متواضع بشأن الرأس: أفضل إبقاؤه في المنتصف؛ أشعر أنه يدمج صفحات الإضافة الثابتة بسلاسة أكبر ضمن خطاب “طبيعي” بشكل عام.
- حالة هامشية: قد يكون من المفيد تحديد فئة بالون لكل فئة ثابتة، في حال كانت لفئات ثابتة متعددة حقوق قراءة/كتابة مختلفة.
- هل أغفلت شيئًا أم أن الوسوم
[dpgb id=titre] [/dpgb](التي أعتقد أنها تُحوَّل إلى بالونات) يجب ضبطها يدويًا؟ حاولت ببساطة (وبدون نجاح!) استخدام زر الاقتباس في المحرر، آسف
. ربما يكون ذلك ضروريًا لأن اسم الوسم يجب تحديده
. - هل يمكن تحويل إعداد
discpage hide tagsإلىhide discpage tagsبدلاً من ذلك؟ لا أفهم حقًا صعوبة إخفاء وسوم dpg-**** فقط، لكنني أعتقد أنها قد تُثقل القائمة المقترحة عند إنشاء موضوع.
الخطوة التالية: اختبار تفاعل المستخدم!
شكرًا لك @Benjamin_D، فإن ملاحظاتك موضع ترحيب كبير.
يجب أن يتناسب محاذاة الترويسة مع:
- صفحات ديسكورش العادية (العرض الأقصى = 1110 بكسل)،
- صفحات DiscPage الثابتة (العرض الأقصى = 782 بكسل، لأن 1110 بكسل واسع جدًا لصفحة ثابتة لا يمكن فيها وضع أشرطة جانبية أو أدوات أو صور)،
- تخطيط DiscPage المنقسم، مع صفحة ثابتة على اليسار ومواضيع على اليمين (العرض الأقصى = 100%).
لقد أجريت العديد من الاختبارات، سواء بمحاذاة ثابتة للترويسة أو بمحاذاة تعتمد على التخطيط، ووصلت إلى استنتاج أن المحاذاة الدائمة على اليسار هي الخيار الأنسب.
ومع ذلك، سأكون سعيدًا بفحص أي فكرة قد تطرحها. يرجى التأكد من معالجة الحالات الثلاث المذكورة أعلاه.
هذه الميزة مدعومة بالفعل، راجع الفقرة التالية في التوثيق:
في الواقع، يمكنك تعيين فئات متعددة هنا. لنسمِّ PageCat فئة الصفحة الثابتة التي ينتمي إليها البالون. إذا كانت هناك أكثر من فئة بالون في هذا الحقل، فإن DiscPage ستأخذ الأولى التي تكون إما شقيقة لـ PageCat (نفس الوالد المباشر) أو الوالد المباشر لـ PageCat. إذا لم يتم العثور على أي فئة من هذا القبيل، فإن DiscPage ستأخذ الفئة الأولى من القائمة. تتيح هذه الميزة إقران [فئة الصفحة الثابتة، فئة البالون]، وهو أمر مفيد، على سبيل المثال، في المنتديات متعددة اللغات أو لإعداد صفحات ثابتة ذات أذونات مجموعات مختلفة.
أتفق على أن هذا ليس سهلاً الفهم. أي اقتراح لتحسين الصياغة موضع ترحيب.
نعم، يجب إدراج البالونات يدويًا باستخدام صيغة نصية.
عندما جربت الإضافة لأول مرة، لماذا شعرت أن زر الاقتباس سيكون مفيدًا؟ (أنا مهتم بحالتك الذهنية في تلك اللحظة)
ميزة hide discpage tags مطبقة بالفعل: يتم إخفاء وسوم DiscPage افتراضيًا في جميع صفحات وودجات ديسكورش. بعبارة أخرى، إذا كنت تستطيع رؤية وسم DiscPage في أي مكان (عند تفعيل DiscPage)، فهذا خطأ.
أما إعداد discpage hide tags فهو مختلف تمامًا: فهو يسمح للأشخاص الذين لا يرغبون في تفعيل الوسوم في مثيلتهم من ديسكورش، لكنهم أُجبروا على ذلك لاستخدام DiscPage، بمحاكاة مثيل بدون وسوم.
في الواقع، هو أكثر من ذلك، سأحتفظ بـ أقصى عرض = 1110 بكسل، حتى لو كانت الصفحة الثابتة تحت الترويسة في شاشة مقسمة تأخذ 100%. قمت بتعليق كتلة html.dpg header.d-header .wrap ولا يبدو الأمر سيئًا جدًا بوجود بعض المساحة البيضاء حول الترويسة فوق الصفحة المقسمة الثابتة (حتى لو بدت أزرار تعديل العنوان والصفحة ضائعة بعض الشيء هناك، في التخطيط غير المقسم).
أنا أحمق، اقرأ دليل المستخدم أولاً
(لدفاعي، ربما فعلت ذلك العام الماضي ونسيت
)
لم أتذكر أن DiscPage يخفي فئة البالون (بعد تجربتها كمسؤول)، لكن هذه ميزة رائعة.
لذا إذا فهمت بشكل صحيح، في حالة وجود عدة {فئات صفحات ثابتة، حقوق مستخدمين}، يجب على المرء أن يجعل فئة البالون المرتبطة فرعًا من الفئة الثابتة (وهو أمر منطقي من وجهة نظر الحقوق)، أو أن يكون كلا الفئتين فروعًا لفئة ثالثة مشتركة. ليس مهمًا، لكن هل سيعمل أيضًا إذا كانت الفئة الثابتة فرعًا من فئة البالون؟
ربما كان مجرد شكل أيقونة البالون، مع حقيقة أنني على الأرجح لم أستخدم أبدًا زر الاقتباس في المصمم، وربما فكرت: مهلاً، هل كان هذا موجودًا من قبل؟ لذا جربته ![]()
لا أمانع كتابة بعض سلاسل “الكود”، لكنني أستطيع سماع صراخ مستخدمين من هنا. ربما لن يحددوا أنفسهم صفحات ثابتة الآن. أحيانًا أشعر أن كل ضغطة على لوحة المفاتيح قد تكون القشة التي تقصم ظهر البعير… ![]()
بالتأكيد، آسف… سأعزو هذا إلى حمى خفيفة، لا أعرف لماذا ظننت أنها غير مخفية، ربما رأيت لمحة عن واحدة في مربع قائمة الوسوم في جزء البالون من الشاشة المقسمة؟ الآن فهمت الفاصلة المتأخرة التي رأيتها وأنا أجرب كل ما في وسعي، حتى وسَم المواضيع البالونية!
هل من الممكن السماح للمستخدمين بإنشاء وتعديل (مقالاتهم) الثابتة؟ يمكن حينها تحقيق القيد الإداري فقط من خلال إعدادات أمان التصنيفات.
تعديل:
ربما لا، يبدو أن تعديل tag_groups يتطلب StaffConstraint ![]()
يمكنني السماح لمستخدم من مستوى الثقة 4 بتعيين بالون عن طريق تغيير a = User.current()) && a.admin إلى User.current()) && a.trust_level >= 4، لكن الوسم لن يُنشأ إلا إذا قام مدير بتعديل الصفحة الثابتة… ![]()
شيء سيكون رائعًا: مشرف تصنيف قادر على تغيير مجموعة الوسوم الخاصة بتصنيفه ![]()
بالمناسبة، لاحظت أن قائمة فحص المكونات الإضافية تبدو أنها تتداخل مع discpage (شيء يتعلق بـ getmodel())
أفضّل التخطيط الحالي. ومع ذلك، يجب أن تكون هناك طريقة سهلة لتخصيص ذلك. سأفكر في الأمر.
لا، هذا المزيج غير مدعوم.
كما استنتجت بالفعل، فإن إنشاء الصفحات الثابتة غير مقصور على المدراء، لكن إدراج البالونات مقيد بهم. والسبب هو عدم وجود طريقة مباشرة لإنشاء وسوم في ديسكورس (انظر هذا الموضوع). ولتحقيق ذلك، اخترت استخدام واجهة برمجة تطبيقات tag group، والتي تقتصر على المدراء. كانت هناك حلول بديلة، لكنها تأتي مع عيوبها الخاصة.
هل تقصد هذه الإضافة؟ ما المشكلة؟
في الواقع، مع تفعيل الإضافتين، عند تحديث صفحة ثابتة، يتم إيقاف عمل discpage بشكل جزئي (يعيد تخطيطًا عاديًا)، وتظهر رسالة خطأ في وحدة التحكم:
Uncaught (in promise) TypeError: postModel is undefined
checklistSyntax javascripts/discourse/initializers/checklist:29
تعمل كلتا الإضافتين بشكل صحيح عند استخدامهما بشكل منفصل.
شكرًا لك @Benjamin_D. تم تسجيل المشكلة هنا:
تعديل: تم إصلاح هذه المشكلة في الإصدار الأحدث (1.0.38).
مرحبًا @syl، آسف على إيصال الأخبار غير السارة
، لقد عثرت على مشكلة توافق أخرى، وهي أكثر إشكالية: عند تفعيل discpage، يؤدي رابط الدعوة إلى صفحة فارغة (بدلاً من صفحة التسجيل).
تظهر رسالة في وحدة تحكم المتصفح:
r.site.categories is undefined
أما عند تعطيل الإضافة، فيعمل رابط الدعوة كما هو معتاد.
شكرًا جزيلاً على الإبلاغ عن هذا، @Benjamin_D . هذه هي حشرة أخرى في وضع “يتطلب تسجيل الدخول”، لذا قمت بإعادة فتح قضية GitHub السابقة. حتى يتم إصلاح هذا، فإن حل بديل هو تعطيل وضع “يتطلب تسجيل الدخول”.
تعديل: تم إصلاح هذا في الإصدار الأحدث (1.0.38)
مرحبًا @syl!
أعتقد أن تغيير مسارات الوسوم الأخير
قد تسبب في خلل ما ![]()
على الأقل، يجب أن يشير الرابط الموجود في الفقاعات الآن إلى /tag/dpg-xxx وليس إلى /tags/dpg-xxx
شكرًا لك @Benjamin_D، تم إصلاح هذه المشكلة في الإصدار v1.0.38.

