- الرئيسية
- ما الجديد !
-
الصفحات▼
الصفحات
أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية14-12-2025 10:21 مساءً
-
Solimanمعلومات الكاتبPBBoard developer
- انضم في :
- 18-07-2009
- رقم العضوية :
- 1
- المشاركات :
- 13422
- الدولة :
- KSA
- الجنس:
- الدعوات:
- 55
- قوة السمعة:
- 82296
- موقعي:
- زيارة موقعي
-
الفكرة العامة (Architecture)
نضيف فقط:
- data-user-id="X"
- عنصر tooltip فارغ
- JavaScript
نرسل AJAX لجلب بيانات العضو
نخزن النتيجة في JS cache (حتى لا نكرر الطلب)
نعرض البيانات داخل tooltip
PHP endpoint واحد فقط وهو الهوك الذي طلبت منك اضافته من خلال خاصية إضافة برنامج مساعد جديد (يضاف لمره واحدة فقط)
يجلب بيانات العضو من جدول الأعضاء حسب user_id
افترض أن اسم العضو يظهر هكذا:
CODE{$forum[last_writer]}
و id العضو
CODE{$forum[writer_id]}
عدّله إلى:
CODE<span class="last-writer" data-user-id="{$forum[writer_id]}"> {$forum[last_writer]} <div class="member-tooltip"></div> </span>
لا تضع أي بيانات إضافية – فقط الـ ID
JavaScript هو (الجزء الأهم)
يمكنك اضافته مباشرة في قالب او في ملف js خاص به وجلبه
وتمرر اليه رقم id العضو
Java<script> document.addEventListener('DOMContentLoaded', function () { const cache = {}; document.querySelectorAll('.last-writer').forEach(el => { let loaded = false; el.addEventListener('mouseenter', function () { const userId = this.dataset.userId; const tooltip = this.querySelector('.member-tooltip'); if (!userId || userId === '0') return; tooltip.style.display = 'block'; if (cache[userId]) { tooltip.innerHTML = cache[userId]; return; } if (loaded) return; loaded = true; tooltip.innerHTML = 'جاري التحميل...'; fetch(`index.php?page=usercp&member_tooltip=1&uid=${userId}`) .then(res => res.text()) .then(html => { cache[userId] = html; tooltip.innerHTML = html; }) .catch(() => { tooltip.innerHTML = 'تعذر جلب البيانات'; }); }); el.addEventListener('mouseleave', function () { const tooltip = this.querySelector('.member-tooltip'); tooltip.style.display = 'none'; }); }); }); </script>
في طلبك السابق استخدمنا ${userId} كقيمة لرقم العضو الحقيقي وهو $forum['last_writer_id']
باستخدام php لأن بيانات قالب sections_list له حالة استثنائية فقط
لود دققت ستجد ${userId} في السطر
CODEfetch(`index.php?page=usercp&member_tooltip=1&uid=${userId}`)
مع الممارسة والمقارنة والتطبيق ستنجح بعمل ذلك على العديد من القوالب
هذا كل شيء ارجو ان اكون اوصلت الفكرة لك بشكل مبسط
الساعة الآن 09:23 AM
- data-user-id="X"