تنسيق عنوان URL للموضوع الجديد

هل هناك طريقة للتنبؤ بعنوان URL الذي سيتم إنشاؤه عند إنشاء موضوع جديد طالما لديك عنوان الموضوع؟

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

إليك الصفقة الغريبة. بدلاً من استخدام DiscoTOC (لدينا أسباب)، يحتوي المنشور الأول في الموضوع على الكثير من المعلومات، ولكنه يحتوي أيضًا على جدول محتويات للموضوع. سيكون الموضوع دائمًا مكونًا من 8 ردود، وسيستخدم كل منها استجابة محفوظة لإنشاء “عنوان” كل رد (1-7). لدي المعالج الذي ينشئ العنوان برابط فارغ لكل رد، على سبيل المثال.

[1. Meeting Agenda](/2)
[2. Meeting Files](/3)
[3. In meeting votes](/4)
[4. Meeting Minutes - [Initial Draft] Preliminary for feedback](/5)
[5. Meeting Minutes - [Final Draft] Consideration for distribution](/6)
[6. Meeting Minutes  - [Distribution Copy] Vote to accept meeting minutes](/7)
[7. Reserved](/8)

السبب الذي أسأل من أجله هو أنه بمجرد أن ينشئ المعالج الموضوع، فإنه يترك للمستخدم هذه القائمة كجدول محتويات (دائمًا نفس الشيء في هذه الفئة، كل شهر). يجب على المستخدم نسخ عنوان URL للموضوع، ثم لصقه قبل /Reply# لأن الطريقة التي ينشئ بها Discourse عنوان URL للموضوع تحتوي على رقم الموضوع (ديناميكي) في نهاية عنوان URL. مع المعالج، يمكنني إنشاء بناء الجملة لعنوان URL بالكامل، باستثناء معرف الموضوع.

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

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

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

إعجابَين (2)

لست متأكدًا من كيفية عمل المعالج الذي يعمل قبل إنشاء الموضوع والذي يمكنه التقاط عنوان URL القادم وإدراجه داخل منشئ المعالج.

ربما يقوم المعالج بإنشاء الموضوع أولاً، حتى يتمكن من الحصول على المعرف ثم تعديله بالمعلومات التي تريدها؟

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

إذًا ربما قم بذلك باستخدام واجهة برمجة التطبيقات (API)؟ أنا لا أفهم المشكلة تمامًا، ولكن يبدو أن لديك مشكلة “الدجاجة والبيضة”. يمكنك عادةً استخدام المعرف فقط بدون معرف الموضوع مثل https://meta.discourse.org/t/new-topic-url-format، لذا ربما سينجح ذلك.

أصبت يا جاي.. لقد وضحت الأمر

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

أعتقد أنه إذا كان الـ slug فريدًا ولا يبدأ برقم، فيجب أن يعمل بدون topic_id.

نعم، لكن من المستحيل الانتقال إلى رد معين باستخدام /reply# الأخير

لأنها domain/title/postID/reply#

أحاول إيجاد طريقة للانتقال إلى الرد بدون استخدام أو باستخدام عنصر نائب عام في حقل postID