لافتة إحصائية

:discourse2: ملخص شعار الإحصائيات يعرض قائمة بإحصائيات الموقع على صفحتك الرئيسية
: eyeglasses: معاينة معاينة على منشئ سمات Discourse
: hammer_and_wrench: المستودع https://github.com/discourse/discourse-stat-banner
: open_book: جديد على سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

تثبيت مكون السمة هذا

الميزات

يمكنك إنشاء أي عدد تريده من الإحصائيات لعرضها، ويتم ملء الإحصائيات من صفحة /about، ويمكنك الاختيار من بين:

  • المواضيع
  • المشاركات
  • المستخدمون النشطون
  • المستخدمون
  • الإعجابات
  • رسائل الدردشة
  • قنوات الدردشة
  • مستخدمو الدردشة

ويمكن تعيين هذه بشكل فردي من إحدى الفترات الزمنية الثلاث:

  • يوم واحد
  • 7 أيام
  • 30 يومًا

بصرف النظر عن المصدر والفترة، يمكنك أيضًا تكوين:

  • العنوان
  • الرابط (اختياري)
  • القيمة اليدوية (اختياري، يتجاوز القيمة التلقائية)

الإعدادات

الاسم الوصف
عرض الإحصائيات
عنوان الشعار
العرض في
لون الخلفية متغير لون Discourse أو قيمة سداسية عشرية
لون النص متغير لون Discourse أو قيمة سداسية عشرية
الحد الأدنى لعرض العمود
الإخفاء على الهاتف المحمول
منفذ المكون الإضافي منفذ المكون الإضافي الذي يظهر فيه هذا المكون. جرب above-main-container أو below-site-header، يمكنك العثور على المزيد من المنافذ باستخدام مكون السمة لمواقع منافذ المكونات الإضافية
تعطيل ذاكرة التخزين المؤقت سيتم تحديث إحصائيات الشعار في كل مرة يكون فيها الشعار مرئيًا. لاحظ أن هذا قد يؤدي إلى زيادة طفيفة في حمل الخادم.

:discourse2: مستضاف من قبلنا؟ مكونات السمة متاحة للاستخدام على خططنا القياسية، والأعمال، والمؤسسات.

27 إعجابًا

لا يتبع iPhone SE خيار إخفاء على الهاتف المحمول.

تعديل: يبدو أن أي هاتف محمول لا يتبع هذا الإعداد ويظل الشعار مرئيًا دائمًا.

3 إعجابات

وطلب صغير خاص بتجربة المستخدم/واجهة المستخدم - يجب أن تبدو الروابط كرابط.

3 إعجابات

شكرا على الملاحظات السريعة @Jagster! لقد قمت بتحديثها للتو لإصلاح هذه المشكلات

3 إعجابات

مرحباً، @awesomerobot،

شكراً جزيلاً لك على مكون السمة هذا؛ لقد حصلت عليه بالتأكيد.

لدي سؤال لك إذا كنت لا تمانع، حيث أنني مرتبك قليلاً. أفهم “المستخدمين النشطين” حيث أنه واضح بذاته، ولكن ماذا يشمل “المستخدمون”؟

سؤال جيد!

المستخدمون النشطون هم المستخدمون الذين تمت رؤيتهم خلال فترة الـ 1/7/30 يومًا (قاموا بزيارة الموقع مسجلين الدخول)

المستخدمون هو عدد الحسابات الجديدة التي تم إنشاؤها خلال فترة الـ 1/7/30 يومًا

إعجابَين (2)

صباح الخير، @awesomerobot،

لقد أمضيت بعض الوقت في التفكير في مكون السمة هذا، وبناءً على إجابتك بخصوص “المستخدمين” و “المستخدمين النشطين”، لا يبدو أن المعلومات قد تم تحديثها مؤخرًا. يبدو أيضًا أن لدي قيمتين مختلفتين لهذه المقاييس.

هذه هي إحصائياتي على سطح المكتب:

وعلى الهاتف المحمول:

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

لقد حاولت تطبيق “تحديث كود HTML للإحصائيات” على النحو التالي:

<script>
  setInterval(function() {
    location.reload();
  }, 60000); // تحديث كل دقيقة واحدة (60000 مللي ثانية)
</script>

ملاحظة: سيقوم الكود بإعادة تحميل الصفحة كل دقيقة واحدة (60000 مللي ثانية). يمكنك تعديل الفاصل الزمني حسب متطلباتك.

ومع ذلك، لست متأكدًا مما إذا كان يمكن إضافة هذا إلى محرر الإعدادات.

سأكون ممتنًا لأي مساعدة.

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

تحديث:
لقد توصلت إلى استنتاج أنه يجب أن يبدو هكذا؟

[
	{
		"setting": "display_stats",
		"value": "[{\"source\":\"posts\",\"period\":\"30_days\",\"title\":\"Posts\",\"link\":\"\",\"manual_value\":\"\"},{\"source\":\"likes\",\"period\":\"30_days\",\"title\":\"Likes\",\"link\":\"\",\"manual_value\":\"\"},{\"source\":\"active_users\",\"period\":\"30_days\",\"title\":\"Active Users\",\"link\":\"\",\"manual_value\":\"\"},{\"source\":\"users\",\"period\":\"30_days\",\"title\":\"Sign-Ups\",\"link\":\"\",\"manual_value\":\"\"}]"
	},
	{
		"setting": "banner_title",
		"value": "Statistics for the past 30 days"
	},
	{
		"setting": "show_on",
		"value": "homepage"
	},
	{
		"setting": "background_color",
		"value": "var(--tertiary-low)"
	},
	{
		"setting": "text_color",
		"value": "var(--primary)"
	},
	{
		"setting": "min_column_width",
		"value": "10em"
	},
	{
		"setting": "hide_on_mobile",
		"value": false
	},
	{
		"setting": "plugin_outlet",
		"value": "above-main-container"
	},
	{
		"setting": "javascript",
		"value": "setInterval(function() { Discourse.__container__.lookup('controller:widget').send('refresh'); }, 3600000);"
	}
]

ولكن، أحصل على رسالة خطأ:

javascript: تمت إضافة هذه الإعدادات. يرجى إزالتها والمحاولة مرة أخرى.

يتم سحب الإحصائيات من صفحة “حول”، وتستخدم نفس البيانات من الجدول الموجود أسفل تلك الصفحة:

يتم تحديث البيانات في اللافتة بناءً على أقل فترة إحصائية، منذ الوقت الذي رأى فيه المستخدم اللافتة لأول مرة.

على سبيل المثال، إذا قمت بتكوين اللافتة بإحصائيات من اليوم الأخير، فبعد أن تراها لأول مرة، سيتم تحديث بياناتها خلال 24 ساعة. إذا تم تكوين اللافتة لعرض الإحصائيات من الشهر الأخير فقط، فسيتم تحديث البيانات بعد شهر من عرضها لأول مرة (أو إذا قمت بمسح ذاكرة التخزين المؤقت للمتصفح).

تم تنفيذ ذلك لتقليل عدد الطلبات المقدمة، لذلك بدلاً من عرض إحصائيات محدثة في كل مرة يتم فيها عرض اللافتة، يتم تخزينها مؤقتًا في ذاكرة التخزين المؤقت للمتصفح.

هذا المحرر مخصص فقط لتحرير الإعدادات الحالية، ولا يمكنك إضافة إعدادات جديدة (أو جافاسكريبت) هنا على الإطلاق.

إذا كنت تبحث عن تحديث هذه اللافتة بشكل متكرر، فيمكنني إضافة إعداد جديد يقوم بتعطيل التخزين المؤقت.

إعجابَين (2)

مرحباً، @awesomerobot

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

وفقًا لفهمي، كان ينبغي تحديث إحصائياتي لتصبح كالتالي بحلول الآن:

لقد حاولت أيضًا مسح ذاكرة التخزين المؤقت للمتصفح، لكن ذلك لم يحدث أي فرق.

سأكون ممتنًا للغاية إذا كان هذا الخيار ممكنًا، لأنه سيوفر رؤية أكثر شمولاً للمنتدى للمستهلكين.

إعجابَين (2)

تبدو هذه الإحصائيات من /admin، والتي من المحتمل أن تكون مختلفة قليلاً عن تلك الموجودة في /about، ولكن بغض النظر… إذا قمت بتحديث المكون، فقد أضفت إعدادًا لتعطيل التخزين المؤقت:

Screenshot 2023-10-30 at 2.03.15 PM

5 إعجابات

رائع، إنه يعمل بلا عيوب! بمجرد تفعيل الإعداد، تم تحديثه على الفور. هذا النهج أبسط بكثير من مسح ذاكرة التخزين المؤقت لأنني دائمًا ما أبقي المنتدى مفتوحًا، بالإضافة إلى العديد من المنتديات الأخرى!

شكرا لتفانيك!

إعجابَين (2)

هل هناك طريقة لتعيين الفترة الزمنية بحيث تعرض إحصائيات “كل الأوقات”؟

بالإضافة إلى ذلك، سيكون من الرائع لو تمكنت من عرض إجمالي “الأصوات” كما تم حسابها بواسطة هذا المكون: Topic Voting | Discourse - Civilized Discussion

المكون يبحث عن الإحصائيات من /about.json. لذا أعتقد أنه يمكن إضافة “كل الأوقات” بسهولة لأنه قيمة متاحة أيضًا.

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

إعجابَين (2)

إذًا، يمكنني تحديث هذا يدويًا في إعدادات JSON نظرًا لأنه ليس في القائمة المنسدلة؟

لا، إذا أضفت إدخالاً إلى manual_value، فسيؤدي ذلك ببساطة إلى استبدال القيمة التي تم البحث عنها بقيمة ثابتة. ربما يكون تسمية هذا الحقل static_value أفضل؟

يمكنك الحصول على العدد الإجمالي بإضافة محدد الفترة الإجمالي إلى القائمة المنسدلة:

إنه مجرد تغيير بسيط في ملف الإعدادات الخاص بالمكون. لقد دفعت فرعًا بهذا هنا: GitHub - nolosb/discourse-stat-banner at count. ومع ذلك، بالنسبة لطلب سحب (PR)، قد لا يزال يحتاج إلى بعض المنطق لإعادة تسمية هذا المتغير في القائمة المنسدلة؟

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

رائع، شكراً لك على إضافة هذا!

إعجابَين (2)

هل هناك أي طريقة لتحديد فئة معينة؟ حاولت في منفذ فوق عنوان الفئة وأردت على الأقل استخدام CSS لتحديده بفئة معينة، ولكن بعد ذلك لم يتم عرضه في أي مكان.

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

إذا قمت بتغيير إعداد السمة show_on إلى everywhere، يجب أن تكون قادرًا على استخدام CSS هذا لعرضه في فئة واحدة (استبدل examplecategory بالمعرف المناسب لفئتك)

.stat-banner__wrapper {
  display: none;
}

body.category-examplecategory {
  .stat-banner__wrapper {
    display: block;
  }
}
إعجاب واحد (1)