كيفية تغيير بيانات المنشور من بيانات نسبية إلى مطلقة

مرحباً فريق،
أرغب في تعديل تنسيق بيانات المنشور إلى YYYY-MM-DD HH:mm
لا يبدو تعديل الواجهة الأمامية باستخدام جافاسكريبت منطقياً

  1. هل يمكنني استخدام سمة لتجاوز هذا الوقت؟
  2. كيف يمكنني تعديل هذا في البريد الإلكتروني أيضاً (الآن يعرض البيانات فقط)
إعجاب واحد (1)

جميع تنسيقات التاريخ متاحة للتخصيص جنبًا إلى جنب مع النصوص الأخرى. تحقق من هذا الدليل:

5 إعجابات

شكرا لردك يا ديفيد
لقد رأيت هذا الإعداد المخصص، ولكن يبدو أنني لا أجده هنا.
أريد عرض تنسيق الوقت لجميع المشاركات كوقت مطلق. على سبيل المثال، يتم عرض المنشور الحالي للموضوع “3 ساعات” على أنه “12 مايو 17:33”


هل تعرف أفضل طريقة لتغيير جميع بيانات المشاركات إلى تنسيق YYYY-MM-DD HH:mm، حتى لو تم نشرها قبل بضع دقائق

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

أرى!\n\nفي هذه الحالة، يمكنك محاولة تغيير إعداد الموقع “relative date duration”.\n\n> relative_date_duration: عدد الأيام بعد النشر حيث سيتم عرض تواريخ المشاركات بشكل نسبي (7 أيام) بدلاً من مطلق (20 فبراير).\n\nلذلك أعتقد أنه في حالتك، ستقوم بتعيينه إلى 0

إعجابَين (2)

نعم،
لقد قمت بضبطه إلى 0، ولكنه لا يزال لا يؤثر الآن. هل يستغرق الأمر بعض الوقت أم أنني بحاجة إلى rake posts:rebake كما نفعل بعد تغيير النطاق؟

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

إعجابَين (2)

لدي تحديث كامل للصفحة، ولا يزال يعرض ‘36’

والإعداد هو 0

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

حسنًا، يبدو أن التواريخ التي مضى عليها أقل من 23.5 ساعة تُعرض دائمًا بشكل نسبي، بغض النظر عن هذا الإعداد:

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

إعجابَين (2)

أرى هذا الملف
discourse-main/app/assets/javascripts/discourse/app/components/post/meta-data/date.gjs

<template>
    <div class="post-info post-date">
      <a
        class={{concatClass
          "post-date"
          (if (and @post.wiki @post.last_wiki_edit) "last-wiki-edit")
        }}
        href={{@post.shareUrl}}
        title={{i18n "post.sr_date"}}
        {{on "click" this.showShareModal}}
      >
        <RelativeDate @date={{this.date}} />
      </a>
    </div>
  </template>

هل هذا هو القالب الصحيح، هل يمكنني تغييره بواسطة مكون سمة؟

لا، لا يمكنك تجاوز قوالب .gjs، للأسف (مصممة لتحسين وتشجيع استقرار التعديلات)

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

مرحبًا بعودتك. @aksoforever!

كيف تسير مع هذا؟ هل يمكنك أن تخبرنا المزيد عن حالة الاستخدام الخاصة بك؟

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

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

شكرًا لاهتمامك @tobiaseigen

نعم، الآن عرض ديكوريس أكثر حداثة وودودة، وأكثر ملاءمة لمعظم الناس

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

بالنسبة للوقت في البريد الإلكتروني، فهو الآن يظهر فقط الشهر واليوم.
من غير الملائم استخدام البريد الإلكتروني لعرض المعلومات. لا يظهر السنة، خاصة عند مراجعة معلومات من سنوات كثيرة مضت.

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

أنا حاليًا أستخدم نسخة مخفضة من Discourse وأعيد كتابة شفرة الواجهة الأمامية باستخدام المكونات

يستخدم البريد الإلكتروني أدناه في إضافة، هل يمكنني تعديل short_date من مكون سمة؟

بعد التهيئة do
  إذا كانت إعدادات الموقع تفعيل تنسيق التاريخ المخصص للبريد الإلكتروني
    وحدة ::EmailHelper
      def short_date(datetime)
        وقت الصين = datetime.in_time_zone("Asia/Shanghai")
        وقت الصين.strftime("%Y-%m-%d %H:%M")
      end
    end
  end
نهاية