لماذا تفشل الوسوم العددية في أداة التأليف عند وجود المعرف

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

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

على أي حال، أعتبر ذلك خطأً — وأود جدًا استخدام السنوات كوسوم.

يجب دعم الوسوم العددية، ويهدف تنسيق عنوان URL القياسي الحالي إلى تجنب هذا الغموض.

على سبيل المثال، إذا كان اسم الوسم 2026 ومعرف الوسم الخاص به هو 3، فيجب أن يكون عنوان URL القياسي كالتالي:

/tag/2026/3

أما الشكل الغامض فهو عنوان URL القديم/الموروث:

/tag/2026

يمكن تفسير هذا على أنه “وسم بمعرف 2026”، لذا إذا كان هناك وسم آخر يحمل هذا المعرف، فقد يتم توجيهه إلى ذلك الوسم الآخر بدلاً من الوسم المسمى 2026.


أين تحاول استخدام الوسم أو الوصول إليه؟ إذا تم إنشاء الرابط بواسطة Discourse نفسه، فأتوقع أن يستخدم عنوان URL القياسي /tag/:slug/:id. إذا كنت تقوم بإدخال عنوان URL يدوياً، أو تستخدم رابطاً محفوظاً قديماً، أو رابطاً مخصصاً من سمة/إضافة، أو عنوان URL مستورداً/شريط جانبي/مخصصاً، فقد لا يزال يستخدم تنسيقاً موروثاً غامضاً وقد يتم توجيهه إلى الوسم الخاطئ.

إذا أمكن، أعتقد أنه يجب التعامل مع :foo في /tag/:foo على أنه معرف نصي (slug) دائمًا، وتطلب استخدام الصيغة /tag/:foo/:id للمعرفات الرقمية (IDs)، حيث يمكن أن يكون :foo أي حرف (مثل استخدام - عندما لا تعرف أو لا تهتم).

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

أصبح المعرف الرقمي (IDs) موجودًا الآن أساسًا لدعم الترجمة والتوطين.

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

عادةً عند إنشاء موضوع وإضافة علامات. أو هل يجب أن أقول ببساطة عند إضافة علامة؟

مثال من الواقع.

عند كتابة موضوع، حاولت إنشاء العلامة 2013. لكن حصلت على sahara لأنها /tag/sahara/2013.

وكما سألت سابقاً :smirking_face: نعم، يحدث نفس الشيء في الوضع الآمن.

إذن،

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

إعجابَين (2)

شكراً لك على المثال المحدد. تمكنت من إعادة إنتاج المشكلة وأعمل على إصلاحها.

لاحظت أثناء الاختبار أنه لن ينشئ أيضاً وسوم رقمية عندما لا يكون لها معرف (ID) مقابل لها. (على سبيل المثال، محاولة إنشاء الوسم 2939858339 لن تفعل شيئاً ولن تضيف أي وسم للموضوع)

إعجابَين (2)