هاست لینوکس

آخرین بسته‌ی MyBB: نسخه‌ی 1.8.27 MyBB منتشر شد


امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش آواتار در لیست موضوع ها بدون پلاگین
#1
Heart 
با درود
برای اینکه بتوانیم آواتار را در لیست موضوع ها نمایش دهیم راهی هست و آن استفاده از پلاگین است ولی این بهترین گزینه نیست (به دلیل کوئری های زاید) راه کاری را برای دوستان قرار میدهم بدون استفاده از پلاگین . نتیجه ی کار را در لوکال آزمایش کردم و تصویر پیوستی را می توانید ببینید . در ضمن در لیست موضوع های تالار میدوری هم البته با کمی ویژه سازی این راه کار دیده می شود .

توجه : برای انجام کار باید دستی بر آتش داشته باشید و دوستانی که زیاد وارد نیستند دست به این کار نزنند و یا اینکه قبل از انجام این قبیل کارها باید بک آپ از کدهای مورد هدف بگیرند تا در صورت بهم ریختگی در کار , بازگشت به حالت قبل را داشته باشند .
مطلب دوم اینکه این کدها را درصورتی که قالبتان دست نخورده باشد (که بعید است) بصورت یکجا جایگزین کنید ولی اگر خصوصی سازی کرده اید باید فقط کدهای جدید را در بخش مربوطه جایگذاری کنید .

=============
   
=============
اگر علاقه مند شدید کارهای زیر را باید انجام دهید .

گام نخست : در روت سایتتان فایل forumdisplay.php را پیدا کرده و توسط ویرایشگر باز کنید و کدهای زیر را پیدا کنید

کد php:
$query $db->query("
        SELECT t.*, 
{$ratingadd}t.username AS threadusername, u.username
        FROM "
.TABLE_PREFIX."threads t
        LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid = t.uid)
        WHERE t.fid='
$fid$tuseronly $tvisibleonly $datecutsql2
        ORDER BY t.sticky DESC, 
{$t}{$sortfield} $sortordernow $sortfield2
        LIMIT 
$start$perpage
    "
); 

کدهای زیر را جایگزین کدهای بالا کنید

کد php:
$query $db->query("
        SELECT t.*, 
{$ratingadd}t.username AS threadusername, u.username, u.avatar, lp.avatar AS lpavatar
        FROM "
.TABLE_PREFIX."threads t
        LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid = t.uid)
        LEFT JOIN "
.TABLE_PREFIX."users lp ON (lp.uid=t.lastposteruid) WHERE t.fid='$fid$tuseronly $tvisibleonly $datecutsql2
        ORDER BY t.sticky DESC, 
{$t}{$sortfield} $sortordernow $sortfield2
        LIMIT 
$start$perpage
    "
); 

گام دوم : در همان فایل کدهای زیر را پیدا کنید

کد php:
$thread['pages'] = 0;
$thread['multipage'] = '';
$threadpages '';
$morelink '';
$thread['posts'] = $thread['replies'] + 1

در ابتدای کدهای بالا کدهای زیر را وارد کنید

کد php:
//avatar
     
if(!$thread['avatar']) {
     
$thread_avatar "<a href='member.php?action=profile&uid={$thread['uid']}'><img src='images/default_avatar.gif' alt='' title='{$thread['username']}' /></a>";
     }
     else
     {
     
$thread_avatar "<a href='member.php?action=profile&uid={$thread['uid']}'><img src='{$thread['avatar']}' alt='' title='{$thread['username']}' /></a>";
     }     
     if(!
$thread['lpavatar']) {
     
$thread_lpavatar "<a href='member.php?action=profile&uid={$thread['lastposteruid']}'><img src='images/default_avatar.gif' alt='' title='{$thread['lastposter']}' />";
     }
     else
     {
     
$thread_lpavatar "<a href='member.php?action=profile&uid={$thread['lastposteruid']}'><img src='{$thread['lpavatar']}' alt='' title='{$thread['lastposter']}' />";
     }
//avatar end 

فایل مربوطه را ذخیره کنید و ببندید.
گام سوم : به مسیر زیر بروید
کنترل پنل مدیریت > قالب ها و پوسته > قالب ها > قالب مورد نظر > Forumdisplay > بخش Forumdisplay_thread
و کدهای زیر را پیدا کنید

کد php:
<div>
            <
span>{$prefix} {$gotounread}{$thread['threadprefix']}<a href="{$thread['threadlink']}class ="{$inline_edit_class} {$new_class}id="tid_{$inline_edit_tid}">{$thread['subject']}</a>{$thread['multipage']}</span>
            <
div class ="author smalltext">{$thread['profilelink']}</div>
        </
div

و کدهای زیر را جایگزین همه ی کد های بالا کنید (به مطلب دوم در یادداشت بالا توجه کنید)

کد php:
<div>
            <
table><tr><td id="tvatar1">{$thread_avatar}</td><td>{$prefix} {$gotounread}{$thread['threadprefix']}<a href="{$thread['threadlink']}class ="{$inline_edit_class} {$new_class}id="tid_{$inline_edit_tid}">{$thread['subject']}</a>{$thread['multipage']}<br> {$thread['profilelink']}</td></tr></table>
        </
div

گام چهارم : در همین بخش یعنی مسیر
کنترل پنل مدیریت > قالب ها و پوسته > قالب ها > قالب مورد نظر > Forumdisplay > بخش Forumdisplay_thread
کدهای زیر را پیداکنید

کد php:
<td class ="{$bgcolor}{$thread_type_class}style="white-space: nowrap; text-align: right;">
        <
span class ="lastpost smalltext">{$lastpostdate} {$lastposttime}<br />
        <
a href="{$thread['lastpostlink']}">{$lang->lastpost}</a>: {$lastposterlink}</span>
    </
td

و کدهای زیر را جایگزین همه ی کد های بالا کنید (به مطلب دوم در یادداشت بالا توجه کنید)

کد php:
<td class ="{$bgcolor}{$thread_type_class}style="white-space: nowrap; text-align: right;">
<
table>
<
tr>
<
td class ="tvatar_lastpost">{$thread_lpavatar}</td>
<
td>
        <
span class ="lastpost smalltext">{$lastpostdate} {$lastposttime}<br />
        <
a href="{$thread['lastpostlink']}">{$lang->lastpost}</a>: {$lastposterlink}</span>
</
td>
</
tr>
</
table>
    </
td

گام آخر : به مسیر زیر بروید
کنترل پنل مدیریت > قالب ها و پوسته > پوسته ها > پوسته مورد نظر > بخش global.css
و در انتها , کدهای زیر را وارد کنید

کد php:
#tvatar1 img {
background-colorrgb(252252255);
padding2px;
border1px solid #a5cae4;
border-radius4px;
max-height36px;
max-width36px;
}

.
tvatar_lastpost img {
background-colorrgb(252252255);
padding2px;
border1px solid #a5cae4;
border-radius4px;
max-height26px;
max-width26px;


کار تمام است . امید که بکار بیاید .
منبع : تالار میدوری و با سپاس از دوست خوبم marcus_avrelius
پاسخ
 سپاس شده توسطmellat (۱۳۹۳/۱/۲۴، ۰۱:۰۱:۵۷ صبح) ، Amin Yaghubi (۱۳۹۳/۱/۲۴، ۰۱:۲۵:۰۹ صبح) ، Gh-Moradi (۱۳۹۳/۱/۲۴، ۰۲:۳۲:۲۵ صبح) ، صالح غلامیان (۱۳۹۳/۱/۲۴، ۱۰:۵۵:۴۴ صبح) ، firstboy000 (۱۳۹۳/۱/۲۴، ۲۱:۰۶:۴۱ عصر)
#2
با سلام

دست شما درد نکنه و خسته نباشید جناب میدوری +1 برای شما
برای اولین نفر این کد رو تست کردم، به درستی کار کرد و آواتار رو به نمایش در اورد، فقط دوستان نیاید بنویسید که من کد رو قرار دادم ولی کار نمیکنه، من کد رو قرار دادم صفحه اصلی انجمن بهم ریخت و.....

راستی نوت پد هم یادتون نره Wink
پاسخ
 سپاس شده توسطمیدوری (۱۳۹۳/۱/۲۴، ۰۹:۳۰:۰۵ صبح) ، firstboy000 (۱۳۹۳/۱/۲۴، ۲۱:۰۶:۳۳ عصر) ، Amin Yaghubi (۱۳۹۳/۱/۲۵، ۰۱:۰۳:۳۵ صبح)
#3
من هر کاری کردم نتونستم آواتار آخرین ارسال کننده رو در صفحه اصلی انجمن اجرا کنم، حتی متغییر هم کمی ویرایش کردم و یک متغییر هم برای اینکار نوشتم ولی بازم جواب نداد Huh
اگر ممکنه یک وقت بزارید و قابلیت نمایش در صفحه اصلی هم به این کدها اضافه کنید چون بسیار جالب است

پیشاپیش سپاس Heart
پاسخ
 سپاس شده توسطfirstboy000 (۱۳۹۳/۱/۲۴، ۲۱:۰۷:۲۱ عصر) ، Amin Yaghubi (۱۳۹۳/۱/۲۵، ۰۱:۰۳:۴۸ صبح) ، شماره مجازی (۱۴۰۱/۸/۲۶، ۰۱:۵۱:۲۴ صبح) ، گراف مسنجر (۱۴۰۱/۱۰/۳، ۰۴:۱۳:۳۲ صبح) ، چارتر ۴۲۴ (۱۴۰۲/۹/۱۲، ۱۵:۱۳:۵۱ عصر)


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Heart نمایش گرو های کاربری در صفحه نخست بدون پلاگین میدوری 11 4,923 ۱۳۹۸/۵/۲۴، ۱۸:۲۶:۴۷ عصر
آخرین ارسال: MISTER
Heart نمایش آواتار درصفحه ی اصلی بدون پلاگین میدوری 2 3,331 ۱۳۹۳/۸/۱۱، ۱۹:۱۹:۰۸ عصر
آخرین ارسال: firstboy000

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان