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

كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية


مشاهدة المشاركة في الموضوع بالعرض العادي
look/images/icons/i1.gif كيفية إظهار المشاركات وتاريخ التسجيل في الرئيسية
  13-12-2025 01:53 مساءً  
Soliman
معلومات الكاتب
سأعطيك حل عملي + نظيف + خفيف مناسب لـ 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 الخاص بالإضافة:
CODE
		if ($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 🔥


موفق بتطويراتك 👌  


الساعة الآن 09:22 AM