- الرئيسية
- ما الجديد !
-
الصفحات▼
الصفحات
أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية
-
13-12-2025 12:13 مساءً
-
Sofiene2023معلومات الكاتبالأعضاءعضو فعال
- انضم في :
- 03-10-2023
- رقم العضوية :
- 9590
- المشاركات :
- 119
- الجنس:
- تاريخ الميلاد :
- 20-5-1979
- قوة السمعة:
- 1160
- موقعي:
- زيارة موقعي
-
السلام عليكم
أقوم بعمل تعديل على قالب sections_list لإظهار tooltip عند تمرير الماوس على إسم العضو يظهر معلومات العضو كالرتبة وتاريخ الإنضمام والمشاركات ولكن المشكل الذي واجهني هو عدم إظهار تاريخ التسجيل أو عدد المشاركات
هذا كود tooltip الذي أقوم بتعديله
CODE<li class="News_User tooltip-container"> <span class="tooltip-trigger">{$forum['last_writer']}</span> <div class="custom-tooltip"> <div class="tooltip-header"> <img src="{$forum['writer_photo']}" alt="{$lang['Picture']} {$forum['username']} {$lang['Personal']}" class="tooltip-avatar"> <div class="tooltip-user-info"> <h4>{$forum['last_writer']}</h4> <span class="user-role">{$forum['last_writer_role']}</span> </div> </div> <div class="tooltip-body"> <p><strong>{$lang['join_date']} : </strong>{$ReplierInfo['register_date']}</p> <p><strong>{$lang['posts']} :</strong> {$forum['last_writer_posts']}</p> <p><strong>Inscrit depuis:</strong> {$forum['last_writer_join_date']}</p> </div> <div class="tooltip-links"> <a href="{$forum['last_writer_profile']}" class="profile-link">Voir le profil</a> <a href="{$forum['last_writer_posts']}" class="posts-link">Voir les messages</a> </div> </div> </li>
وهذه صورة tooltip

-
تم تحرير الموضوع بواسطة :Sofiene2023 بتاريخ: 13-12-2025 12:18 مساءً
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية13-12-2025 01:53 مساءً [1]
-
Solimanمعلومات الكاتبالادارة العامةPBBoard developer
- انضم في :
- 18-07-2009
- رقم العضوية :
- 1
- المشاركات :
- 13373
- الدولة :
- KSA
- الجنس:
- الدعوات:
- 55
- قوة السمعة:
- 81696
- موقعي:
- زيارة موقعي
-
سأعطيك حل عملي + نظيف + خفيف مناسب لـ PBBoard ويعمل بالـ JS عند hover فقط
مع عدم لمس نظام الكاش وعدم تنفيذ استعلام لكل منتدى لجلب بيانات العضو كاتب المشاركة بمجرد تمرير الماوس tooltip يجلب تلقائي البيانات المطلوب مثل.
- الرتبة
- تاريخ التسجيل
- عدد المشاركات
- آخر زيارة
التعديل في قالب sections_list
ابحث عن السطر
Html<div class="Info_last_Reply">
واضف بعده الكود التالي
CODE<?php $forum['last_writer'] = '<span class="last-writer" data-user-id="'.$forum['last_writer_id'].'">'.$forum['last_writer'].'<div class="member-tooltip"></div></span>'; ?> <!-- CSS للـ Tooltip --> <style> .last-writer { position: relative; cursor: pointer; } .member-tooltip { display: none; position: absolute; top: 120%; right: 0; min-width: 220px; background: #1e1e1e; color: #fff; padding: 10px; border-radius: 6px; font-size: 13px; z-index: 9999; box-shadow: 0 4px 12px rgba(0,0,0,.4); } .member-tooltip.loading { display: block; } </style> <!-- JavaScript Tooltip --> <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>
ثم توجة الى لوحة تحكم الإدارة» الإضافات البرمجية» إضافة برنامج مساعد جديد
اسم جديد للبلوقن : member tooltip
اسم البلوقن: لاشيء
اسم الهوك: usercp_hook_start
كود PHP الخاص بالإضافة:
CODEif ($PowerBB->_GET['member_tooltip']) { $uid = intval($PowerBB->_GET['uid']); if (!$uid) exit; $memberArr = array(); $memberArr['where'] = array('id',$uid); $memberInfo = $PowerBB->core->GetInfo($memberArr,'member'); if (!$memberInfo) exit; echo ' <strong>' . $memberInfo['username'] . '</strong><br> الرتبة: ' . $memberInfo['user_title'] . '<br> تاريخ التسجيل: ' . date('Y-m-d', $memberInfo['register_date']) . '<br> عدد المشاركات: ' . intval($memberInfo['posts']) . '<br> آخر زيارة: ' . date('Y-m-d', $memberInfo['logged']) . ' '; exit; }
انتهى ..
الخلاصة
✔️ حل ذكي قابل للتطوير كاضافة برمجية بكل سلاسة وايضا يمكن الحاقه على اسم اي عضو في اي جزء في المنتدى
✔️ لا كسر للكاش المنتديات
✔️ لا ضغط على السيرفر
✔️ قابل للتوسع وجلب المزيد من بيانات العضو
✔️ يليق بـ PBBoard 🔥
موفق بتطويراتك 👌
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية14-12-2025 12:41 صباحاً [2]
-
الوردة الحمراءمعلومات الكاتبالأعضاءعضو فعال
- انضم في :
- 06-09-2023
- رقم العضوية :
- 9568
- المشاركات :
- 156
- الجنس:
- تاريخ الميلاد :
- 11-10-1988
- قوة السمعة:
- 380
- موقعي:
- زيارة موقعي
-
بالتوفيق ان شاء الله
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية14-12-2025 01:19 صباحاً [3]
-
Sofiene2023معلومات الكاتبالأعضاءعضو فعال
- انضم في :
- 03-10-2023
- رقم العضوية :
- 9590
- المشاركات :
- 119
- الجنس:
- تاريخ الميلاد :
- 20-5-1979
- قوة السمعة:
- 1160
- موقعي:
- زيارة موقعي
-
بارك الله فيك أخ سليمان
المشكل أن tooltip لا تظهر عند تأشير إسم العضو
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية14-12-2025 03:35 صباحاً [4]
-
Solimanمعلومات الكاتبالادارة العامةPBBoard developer
- انضم في :
- 18-07-2009
- رقم العضوية :
- 1
- المشاركات :
- 13373
- الدولة :
- KSA
- الجنس:
- الدعوات:
- 55
- قوة السمعة:
- 81696
- موقعي:
- زيارة موقعي
-
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية14-12-2025 06:50 مساءً [5]
-
tunisiano111معلومات الكاتبالأعضاءعضو فعال
- انضم في :
- 25-02-2013
- رقم العضوية :
- 3097
- المشاركات :
- 119
- الجنس:
- تاريخ الميلاد :
- 30-3-1996
- قوة السمعة:
- 580
- موقعي:
- زيارة موقعي
-
تمت تجربة شرح الأستاذ @Soliman
و هي تعمل بكفاءة.
يُمكن إستعمال نفس الطريقة في المواضيع و الرُدود و مع بعض التعديلات في CSS نحصل على نتيجة مُشابهة لمُنتديات XenForo مثل الصوة أسفله.

إن أمكن شرح التعديلات اللازمة في الكود حتى نتمكن من إظهاره في معلومات العضو في الردود, أما CSS فلا مشكلة يُمكن أن أتولى أمرها بنفسي.
مشكورين على الفكرة و على الشرح أيضا.
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية14-12-2025 10:21 مساءً [6]
-
Solimanمعلومات الكاتبالادارة العامةPBBoard developer
- انضم في :
- 18-07-2009
- رقم العضوية :
- 1
- المشاركات :
- 13373
- الدولة :
- KSA
- الجنس:
- الدعوات:
- 55
- قوة السمعة:
- 81696
- موقعي:
- زيارة موقعي
-
الفكرة العامة (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}`)
مع الممارسة والمقارنة والتطبيق ستنجح بعمل ذلك على العديد من القوالب
هذا كل شيء ارجو ان اكون اوصلت الفكرة لك بشكل مبسط
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية15-12-2025 08:49 صباحاً [7]
-
Sofiene2023معلومات الكاتبالأعضاءعضو فعال
- انضم في :
- 03-10-2023
- رقم العضوية :
- 9590
- المشاركات :
- 119
- الجنس:
- تاريخ الميلاد :
- 20-5-1979
- قوة السمعة:
- 1160
- موقعي:
- زيارة موقعي
-
تم التعديل بنجاح والإضافة تعمل بكفاءة

-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية15-12-2025 12:52 مساءً [8]
-
Solimanمعلومات الكاتبالادارة العامةPBBoard developer
- انضم في :
- 18-07-2009
- رقم العضوية :
- 1
- المشاركات :
- 13373
- الدولة :
- KSA
- الجنس:
- الدعوات:
- 55
- قوة السمعة:
- 81696
- موقعي:
- زيارة موقعي
-
-
-
كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية25-12-2025 07:28 مساءً [9]
-
الوردة الحمراءمعلومات الكاتبالأعضاءعضو فعال
- انضم في :
- 06-09-2023
- رقم العضوية :
- 9568
- المشاركات :
- 156
- الجنس:
- تاريخ الميلاد :
- 11-10-1988
- قوة السمعة:
- 380
- موقعي:
- زيارة موقعي
-
الله يسعدكم ويحفظكم
- data-user-id="X"
- الرتبة
-
