ثم استخدام برنامج نصي لاستبدال الصورة بالصورة الرمزية الأصلية ووضع رابط موضوع اسم الشخصية قبل اسم المستخدم. على سبيل المثال، إذا كان المنشور يقول عادةً “اسم المستخدم”، فأريد استبداله بـ “اسم الشخصية التي يلعبها اسم المستخدم”.
(سيشمل “اسم الشخصية” رابطًا إلى موضوع يحتوي على ورقة الشخصية، على أمل استخدام مكون سمة الويكي لسهولة الاستخدام.)
لقد قمت بلصق هيكل منشور في Codepen وتمكنت من كتابة بعض جافا سكريبت التي ستقوم بذلك بالضبط. ومع ذلك، عندما يتعلق الأمر بإضافتها إلى مزخرف المنشور وجعلها تعمل مباشرة مع واجهة برمجة التطبيقات، فقد اصطدمت بحائط.
إليك ما لدي في رأس الصفحة المشتركة حاليًا:
<script type="text/discourse-plugin" version="0.8">
api.decorateCookedElement(
element => {
// العثور على علامة characterpost داخل المنشور
const characterPost = element.querySelector('[data-wrap="characterpost"]');
// العثور على العنصر الأب لعلامة characterpost، والذي يحتوي على الصورة الرمزية واسم المستخدم
const characterPostParent = characterPost.closest('article');
// جعله أحمر لمعرفة ما إذا كان يعمل
characterPostParent.style.backgroundColor = "red";
},
{
id: 'render-character-post', onlyStream: true, afterAdopt: true
}
);
</script>
كان هذا يرمي خطأ. هل من الممكن الوصول إلى غلاف “المقال” للمنشورات باستخدام decorateCookedElement حتى أتمكن من الوصول إلى اسم المستخدم والصورة الرمزية؟ إذا لم يكن الأمر كذلك، فكيف يمكنني المضي قدمًا في هذا؟
سؤال جيد! اسم العلامة ومحتواها جزء من محتوى المنشور؛ قد يؤثر هذا على نتيجة البحث.
سأجرب شيئًا أنظف، مثل استخدام نافذة منبثقة والحفظ في حقول مخصصة بدلاً من ذلك.
تعديل: أعتقد أنني أسأت الفهم :ابتسامة: إذا كنت تتحدث عن ظهور التغييرات في نتيجة البحث، فالإجابة هي لا (ولن يظهر كود HTML أيضًا).
قد يكون من المفيد اقتراح دليل قوالب المنتدى في الويكي المجتمعي. غالبًا ما يبحث الأشخاص عن أفكار حول أنواع مختلفة من إعدادات المنتديات. في هذه الحالة، قد يكون الأمر متخصصًا. ولكن قالب لعبة تقمص الأدوار على الطاولة يتضمن هذه الميزة التي أنشأتها.