Borna66
12-25-2009, 02:13 PM
سلام.
منظورم از آیکونهای کنار انجمنها اینها هستند:
http://pnu-club.com/imported/mising.jpg
دوستان زیادی میخواستند بدونند که چطور میشه چنین کاری رو انجام داد.
به روشهای مختلفی میشه تصاویر رو در کنار لینک انجمن نمایش داد که بستگی به سلیقه و خلاقیت شما داره. من روشی که در MybbHelp استفاده شده رو توضیح میدم.
مواد لازم(!):
۱. تعدادی تصویر با ابعاد یکسان.
۲. یک عدد تصویر خالی (یعنی شفاف یا همون Transparent) در ابعاد 1px x 1px.
روش کار:
به بخش ویرایش پوستهی مورد نظر برید و این مسیر رو دنبال کنید: Forum Bit Templates » forumbit_depth2_forum
http://pnu-club.com/imported/mising.jpg
اگه کد آماده میخواین، این کد رو در تمپلت جایگزین کد قبلی بکنید:
کد:
<tr>
<td class="{$bgcolor}" align="center" valign="middle" width="1"><img src="{$theme['imgdir']}/{$lightbulb['folder']}.gif" alt="{$lightbulb['altonoff']}" title="{$lightbulb['altonoff']}" class="ajax_mark_read" id="mark_read_{$forum['fid']}" /></td>
<td class="{$bgcolor}" valign="top">
<table width="100%" border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}">
<tbody>
<tr>
<td class="{$bgcolor}" align="center" style="width:1px"><img src="images/forum_icons/f-{$forum['fid']}.png" /></td>
<td class="{$bgcolor}" valign="top">
{$forum['super_forum_img']}<strong><a href="{$forum_url}">{$forum['name']}</a></strong>{$forum_viewers_text}<div class="smalltext"><div>{$forum['description']}</div>{$modlist}{$subforums}</div>
</td>
</tr>
</tbody>
</table>
</td>
<td class="{$bgcolor}" valign="top" align="center" style="white-space: nowrap">{$threads}{$unapproved['unapproved_threads']}</td>
<td class="{$bgcolor}" valign="top" align="center" style="white-space: nowrap">{$posts}{$unapproved['unapproved_posts']}</td>
<td class="{$bgcolor}" valign="top" align="right" style="white-space: nowrap">{$lastpost}</td>
</tr>
بعد یک پوشه با نام forum_icons در داخل پوشهی images درست کنید.
حالا کافیه نام تصاویرتون رو به این شکل تغییر بدید: f-*.png بجای علامت ستاره، شمارهی آیدی انجمنی رو قرار بدید که تصویر مربوط به اون هست. اگه آیدی یک انجمن رو نمیدونید، لینک اون انجمن رو ببینید. عددی که در اون لینک وجود داره همون آیدی انجمن هست. برای انجمنهایی که نمیخواین تصویر داشته باشند هم اون تصویر 1px x 1px رو به همین طریق نام گذاری و آپلود کنید.
اگه سوال یا مشکلی پیش اومد در همینجا مطرح کنید.
======================================
برای اونهایی که میخوان بیشتر بدونند:
اگه با زبان برنامهنویسی PHP آشنایی داشته باشید باید بدونید که آرایه (Array) چیه. در اینجا یک آرایه به نام forum$ داریم. این آرایه از جدول forums دیتابیس استخراج شده. بنابراین دارای اطلاعاتی هست که در زیر میبینید. شما میتونید در هر کجای تمپلت forumbit_depth2_forum از این اطلاعات استفاده کنید.
http://pnu-club.com/imported/mising.jpg (http://www.mybbhelp.ir/attachment.php?aid=115)
حالا این اطلاعات چی هستند و به چه دردی میخورند؟
اطلاعاتی هستند مثل شمارهی آیدی، نام، توضیحات، وضعیت باز یا بسته بودن، تعداد ارسالها و... برای هر انجمن. اجازه بدید از همین سایت مثال بزنم. وقتی که php داره صفحهی اول MybbHelp رو سر هم (مونتاژ) میکنه تا تحویل شما بده، اول به انجمن "قوانین و شرایط استفاده از سایت" میرسه (خوب شد یادم اومد: اگه تا حالا مطالب انجمن قوانین رو نخوندید حتماً در اولین فرصت بخونید! لینک تالارتون رو هم در پروفایلتون بذارید! http://pnu-club.com/imported/mising.jpg). اطلاعات این انجمن رو از دیتابیس میگیره و در آرایه forum$ میریزه. بعداً تمپلت forumbit_depth2_forum رو هم از دیتابیس میگیره و اطلاعات آرایه رو در محلهایی که در تمپلت مشخص شده قرار میده. مثلاً اطلاعات به این صورت هست که "آیدی انجمن = ۲" و "نام انجمن = قوانین و شرایط استفاده از سایت". تمپلت فرضی ما هم این هست:
کد:
<a href="{آیدی انجمن}">x{نام انجمن}x</a>
بنابراین وقتی اطلاعات آرایه در تمپلت قرار میگیره اینجوری میشه:
کد:
<a href="۲">xقوانین و شرایط استفاده از سایتx</a>
پس آیکون چی میشه؟!
شما با توجه به همین چیزهایی که تا اینجا خوندید میتونید بخش زیادی از شخصی سازی پوسته رو انجام بدید. در مورد آیکونها هم من از آیدی انجمنها استفاده کردم. یعنی در تمپلت نوشتم که تصویری با این نام رو نشون بده:
کد:
images/forum_icons/f-{شماره آیدی انجمن}.png
بنابراین برای انجمن شماره ۲ تصویر f-2.png نشون داده میشه و برای انجمن ۳ تصویر f-3.png و همینطور الی آخر. بعد همین نامها رو بر روی تصاویر گذاشتم و آپلودشون کردم. مثلاً تصویر f-2.png که مربوط به انجمن با آیدی 2 هست (یعنی همون انجمن قوانین) این شکلیه: http://pnu-club.com/imported/mising.jpg
نکتهای که باقی موند اینه که شما نباید عبارات فارسی مثل {شماره آیدی انجمن} رو در تمپلت قرار بدید! من فقط برای درک راحتتر موضوع این کار رو کردم. شما باید از همون آرایه استفاده کنید. مثلاً بجای {شماره آیدی انجمن} باید بنویسید
کد:
{$forum['fid']}
(fid مخفف Forum ID هست. یعنی همون آیدی انجمن)
میتونید حدس بزنید که در کد بالا دیگه چه چیزهایی رو میشه بجای fid قرار داد تا اطلاعات مربوط به اونها رو در اختیار داشته باشیم؟
جواب » در تصویری که از دیتابیس گذاشتم تمام چیزهایی که در ستون Field نوشته شده رو میشه جای fid نوشت و اطلاعات مربوط به اونها رو در پوسته نمایش داد.
امیدوارم مفید بوده باشه.
منظورم از آیکونهای کنار انجمنها اینها هستند:
http://pnu-club.com/imported/mising.jpg
دوستان زیادی میخواستند بدونند که چطور میشه چنین کاری رو انجام داد.
به روشهای مختلفی میشه تصاویر رو در کنار لینک انجمن نمایش داد که بستگی به سلیقه و خلاقیت شما داره. من روشی که در MybbHelp استفاده شده رو توضیح میدم.
مواد لازم(!):
۱. تعدادی تصویر با ابعاد یکسان.
۲. یک عدد تصویر خالی (یعنی شفاف یا همون Transparent) در ابعاد 1px x 1px.
روش کار:
به بخش ویرایش پوستهی مورد نظر برید و این مسیر رو دنبال کنید: Forum Bit Templates » forumbit_depth2_forum
http://pnu-club.com/imported/mising.jpg
اگه کد آماده میخواین، این کد رو در تمپلت جایگزین کد قبلی بکنید:
کد:
<tr>
<td class="{$bgcolor}" align="center" valign="middle" width="1"><img src="{$theme['imgdir']}/{$lightbulb['folder']}.gif" alt="{$lightbulb['altonoff']}" title="{$lightbulb['altonoff']}" class="ajax_mark_read" id="mark_read_{$forum['fid']}" /></td>
<td class="{$bgcolor}" valign="top">
<table width="100%" border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}">
<tbody>
<tr>
<td class="{$bgcolor}" align="center" style="width:1px"><img src="images/forum_icons/f-{$forum['fid']}.png" /></td>
<td class="{$bgcolor}" valign="top">
{$forum['super_forum_img']}<strong><a href="{$forum_url}">{$forum['name']}</a></strong>{$forum_viewers_text}<div class="smalltext"><div>{$forum['description']}</div>{$modlist}{$subforums}</div>
</td>
</tr>
</tbody>
</table>
</td>
<td class="{$bgcolor}" valign="top" align="center" style="white-space: nowrap">{$threads}{$unapproved['unapproved_threads']}</td>
<td class="{$bgcolor}" valign="top" align="center" style="white-space: nowrap">{$posts}{$unapproved['unapproved_posts']}</td>
<td class="{$bgcolor}" valign="top" align="right" style="white-space: nowrap">{$lastpost}</td>
</tr>
بعد یک پوشه با نام forum_icons در داخل پوشهی images درست کنید.
حالا کافیه نام تصاویرتون رو به این شکل تغییر بدید: f-*.png بجای علامت ستاره، شمارهی آیدی انجمنی رو قرار بدید که تصویر مربوط به اون هست. اگه آیدی یک انجمن رو نمیدونید، لینک اون انجمن رو ببینید. عددی که در اون لینک وجود داره همون آیدی انجمن هست. برای انجمنهایی که نمیخواین تصویر داشته باشند هم اون تصویر 1px x 1px رو به همین طریق نام گذاری و آپلود کنید.
اگه سوال یا مشکلی پیش اومد در همینجا مطرح کنید.
======================================
برای اونهایی که میخوان بیشتر بدونند:
اگه با زبان برنامهنویسی PHP آشنایی داشته باشید باید بدونید که آرایه (Array) چیه. در اینجا یک آرایه به نام forum$ داریم. این آرایه از جدول forums دیتابیس استخراج شده. بنابراین دارای اطلاعاتی هست که در زیر میبینید. شما میتونید در هر کجای تمپلت forumbit_depth2_forum از این اطلاعات استفاده کنید.
http://pnu-club.com/imported/mising.jpg (http://www.mybbhelp.ir/attachment.php?aid=115)
حالا این اطلاعات چی هستند و به چه دردی میخورند؟
اطلاعاتی هستند مثل شمارهی آیدی، نام، توضیحات، وضعیت باز یا بسته بودن، تعداد ارسالها و... برای هر انجمن. اجازه بدید از همین سایت مثال بزنم. وقتی که php داره صفحهی اول MybbHelp رو سر هم (مونتاژ) میکنه تا تحویل شما بده، اول به انجمن "قوانین و شرایط استفاده از سایت" میرسه (خوب شد یادم اومد: اگه تا حالا مطالب انجمن قوانین رو نخوندید حتماً در اولین فرصت بخونید! لینک تالارتون رو هم در پروفایلتون بذارید! http://pnu-club.com/imported/mising.jpg). اطلاعات این انجمن رو از دیتابیس میگیره و در آرایه forum$ میریزه. بعداً تمپلت forumbit_depth2_forum رو هم از دیتابیس میگیره و اطلاعات آرایه رو در محلهایی که در تمپلت مشخص شده قرار میده. مثلاً اطلاعات به این صورت هست که "آیدی انجمن = ۲" و "نام انجمن = قوانین و شرایط استفاده از سایت". تمپلت فرضی ما هم این هست:
کد:
<a href="{آیدی انجمن}">x{نام انجمن}x</a>
بنابراین وقتی اطلاعات آرایه در تمپلت قرار میگیره اینجوری میشه:
کد:
<a href="۲">xقوانین و شرایط استفاده از سایتx</a>
پس آیکون چی میشه؟!
شما با توجه به همین چیزهایی که تا اینجا خوندید میتونید بخش زیادی از شخصی سازی پوسته رو انجام بدید. در مورد آیکونها هم من از آیدی انجمنها استفاده کردم. یعنی در تمپلت نوشتم که تصویری با این نام رو نشون بده:
کد:
images/forum_icons/f-{شماره آیدی انجمن}.png
بنابراین برای انجمن شماره ۲ تصویر f-2.png نشون داده میشه و برای انجمن ۳ تصویر f-3.png و همینطور الی آخر. بعد همین نامها رو بر روی تصاویر گذاشتم و آپلودشون کردم. مثلاً تصویر f-2.png که مربوط به انجمن با آیدی 2 هست (یعنی همون انجمن قوانین) این شکلیه: http://pnu-club.com/imported/mising.jpg
نکتهای که باقی موند اینه که شما نباید عبارات فارسی مثل {شماره آیدی انجمن} رو در تمپلت قرار بدید! من فقط برای درک راحتتر موضوع این کار رو کردم. شما باید از همون آرایه استفاده کنید. مثلاً بجای {شماره آیدی انجمن} باید بنویسید
کد:
{$forum['fid']}
(fid مخفف Forum ID هست. یعنی همون آیدی انجمن)
میتونید حدس بزنید که در کد بالا دیگه چه چیزهایی رو میشه بجای fid قرار داد تا اطلاعات مربوط به اونها رو در اختیار داشته باشیم؟
جواب » در تصویری که از دیتابیس گذاشتم تمام چیزهایی که در ستون Field نوشته شده رو میشه جای fid نوشت و اطلاعات مربوط به اونها رو در پوسته نمایش داد.
امیدوارم مفید بوده باشه.