سلام ، آیا این بازدید اول شماست ؟ یا
نمایش نتایج: از شماره 1 تا 10 , از مجموع 28

موضوع: آخرین ارسالهای انجمن ( حرفه ای )

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    تاریخ عضویت
    Nov 2008
    نوشته ها
    34
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    آموزش ساخت آخرین ارسالهای انجمن ( حرفه ای )

    به نام خدا .
    [img width=640 height=292]http://tinypic.info/files/mro2mu7x97zudocadhx3.jpg[/img]

    امروز برای دوستان آموزش ساخت آخرین ارسالهای انجمن به صورتی که در این تاپیک عنوان شده رو آماده کردم .
    ابتدا از دوستان عذر خواهی میکنم ، به خاطر اینکه وقت نداشتم این آموزش رو به صورت بسته و آماده در اختیار دوستان قرار بدم .

    آموزش :

    برای ساخت آخرین ارسالها به صورتی که در عکس نمایش داده شده به ترتیبی که در زیر عنوان خواهم کرد ، فایلهای قالب خود را ویرایش کنید :

    1 - ابتدا فایل Sources/Recent.php را در پوشه ای فروم شما نصب شده را ادیت میکنیم :
    پیدا کنید :
    کد:
    	global $scripturl, $txt, $db_prefix, $user_info, $modSettings, $func;
    
    	// Find all the posts. Newer ones will have higher IDs. (assuming the last 20 * number are accessable...)
    	// !!!SLOW This query is now slow, NEEDS to be fixed. Maybe break into two?
    	$request = db_query("
    		SELECT
    			m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG,
    			IFNULL(mem.realName, m.posterName) AS posterName, t.ID_BOARD, b.name AS bName,
    			LEFT(m.body, 384) AS body, m.smileysEnabled
    		FROM ({$db_prefix}messages AS m, {$db_prefix}topics AS t, {$db_prefix}boards AS b)
    			LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
    		WHERE m.ID_MSG >= " . max(0, $modSettings['maxMsgID'] - 20 * $showlatestcount) . "
    			AND t.ID_TOPIC = m.ID_TOPIC
    			AND b.ID_BOARD = t.ID_BOARD" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
    			AND b.ID_BOARD != $modSettings[recycle_board]" : '') . "
    			AND $user_info[query_see_board]
    		ORDER BY m.ID_MSG DESC
    		LIMIT $showlatestcount", __FILE__, __LINE__);
    و جایگزین کنید :
    کد:
    	global $scripturl, $txt, $db_prefix, $user_info, $modSettings, $func, $settings, $ID_MEMBER;
    
    	// Find all the posts. Newer ones will have higher IDs. (assuming the last 20 * number are accessable...)
    	// !!!SLOW This query is now slow, NEEDS to be fixed. Maybe break into two?
    	if (!empty($modSettings['recent_topics']) && $modSettings['recent_topics']){
      $request = db_query("
     		SELECT
     			m.posterTime, ms.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG, b.ID_BOARD, b.name AS bName,
     			IFNULL(mem.realName, m.posterName) AS posterName, " . ($user_info['is_guest'] ? '1 AS isRead, 0 AS new_from' : '
     			IFNULL(lt.ID_MSG, IFNULL(lmr.ID_MSG, 0)) >= m.ID_MSG_MODIFIED AS isRead,
     			IFNULL(lt.ID_MSG, IFNULL(lmr.ID_MSG, -1)) + 1 AS new_from') . ", LEFT(m.body, 384) AS body, m.smileysEnabled, m.icon, t.numReplies, t.numViews
     		FROM ({$db_prefix}messages AS m, {$db_prefix}topics AS t, {$db_prefix}boards AS b, {$db_prefix}messages AS ms)
     			LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)" . (!$user_info['is_guest'] ? "
     			LEFT JOIN {$db_prefix}log_topics AS lt ON (lt.ID_TOPIC = t.ID_TOPIC AND lt.ID_MEMBER = $ID_MEMBER)
     			LEFT JOIN {$db_prefix}log_mark_read AS lmr ON (lmr.ID_BOARD = b.ID_BOARD AND lmr.ID_MEMBER = $ID_MEMBER)" : '') . "
     		WHERE t.ID_LAST_MSG >= " . ($modSettings['maxMsgID'] - 35 * min($showlatestcount, 5)) . "
     			AND t.ID_LAST_MSG = m.ID_MSG
     			AND b.ID_BOARD = t.ID_BOARD" . (empty($exclude_boards) ? '' : "
     			AND b.ID_BOARD NOT IN (" . implode(', ', $exclude_boards) . ")") . "
     			AND $user_info[query_see_board]
     			AND ms.ID_MSG = t.ID_FIRST_MSG
     		ORDER BY t.ID_LAST_MSG DESC
     		LIMIT $showlatestcount", __FILE__, __LINE__);
    	} else {
       $request = db_query("
      		SELECT
      			m.posterTime, m.subject, m.ID_TOPIC, m.ID_MEMBER, m.ID_MSG,
      			IFNULL(mem.realName, m.posterName) AS posterName, t.ID_BOARD, b.name AS bName,
      			LEFT(m.body, 384) AS body, m.smileysEnabled, m.icon, t.numViews, t.numReplies
      		FROM ({$db_prefix}messages AS m, {$db_prefix}topics AS t, {$db_prefix}boards AS b)
      			LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
      		WHERE m.ID_MSG >= " . max(0, $modSettings['maxMsgID'] - 20 * $showlatestcount) . "
      			AND t.ID_TOPIC = m.ID_TOPIC
      			AND b.ID_BOARD = t.ID_BOARD" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
      			AND b.ID_BOARD != $modSettings[recycle_board]" : '') . "
      			AND $user_info[query_see_board]
      		ORDER BY m.ID_MSG DESC
      		LIMIT $showlatestcount", __FILE__, __LINE__);
    	}
    پیدا کنید :
    کد:
    			),
    			'topic' => $row['ID_TOPIC'],
    و اضافه کنید بعد از آن :
    کد:
    			'icon' => file_exists($settings['theme_dir'] . '/images/post/' . $row['icon'] . '.gif') ? $settings['images_url'] . '/post/' . $row['icon'] . '.gif' : $settings['default_images_url'] . '/post/' . $row['icon'] . '.gif',
    			'views' => $row['numViews'],
    			'replies' => $row['numReplies'],

    در این قسمت فایل BoardIndex.template.php را ویرایش می کنیم :
    (( نکته : توجه داشته باشید این فایل مربوط به قالب شما میشود . یعنی مثلا نام قالب شما "VB" است شما باید فایل Themes/VB/BoardIndex.template.php را ویرایش کنید.))

    پیدا کنید :
    کد:
    						<table cellpadding="0" cellspacing="0" width="100%" border="0">';
    و جایگزین کنید :
    کد:
    						<table cellpadding="0" cellspacing="1" width="100%" border="0">
        	  <tr>
            <td class="catbg2" style="text-align:left;" colspan="2">', $txt[70] ,'</td>
            <td class="catbg2" style="text-align:center;">', $txt[110] ,'</td>
            <td class="catbg2" style="text-align:center;">', $txt[301] ,'</td>
            <td class="catbg2" style="text-align:center;">', $txt[20] ,'</td>
            <td class="catbg2" style="text-align:center;">', $txt[29] ,'</td>
            <td class="catbg2" style="text-align:right;">', $txt[317] ,'</td>
           </tr>';
    و مجدد پیدا کنید :
    کد:
    			foreach ($context['latest_posts'] as $post)
    				echo '
    							<tr>
    								<td class="middletext" valign="top"><b>', $post['link'], '</b> ', $txt[525], ' ', $post['poster']['link'], ' (', $post['board']['link'], ')</td>
    								<td class="middletext" align="right" valign="top" nowrap="nowrap">', $post['time'], '</td>
    							</tr>';
    جایگزین کنید :
    کد:
    			$cnt = 0;
    			foreach ($context['latest_posts'] as $post){
         $cnt++;
         $class = ($cnt % 2) ? 'windowbg' : 'windowbg2';
         
        echo '
    							<tr>
            <td class="', $class, '"><img src="', $post['icon'] , '" alt="" /></td>
    								<td class="', $class, '"" title="', $post['preview'] ,'">', $post['link'], '</td>
            <td class="', $class, '"" style="text-align:center;">', $post['replies'], '</td>
    								<td class="', $class, '"" style="text-align:center;">', $post['views'], '</td>								
            <td class="', $class, '"" style="text-align:center;">',$post['board']['link'], '</td>
            <td class="', $class, '"" style="text-align:center;">',$post['poster']['link'], '</td>
    								<td class="', $class, '"" style="text-align:right;" nowrap="nowrap">', $post['time'], '</td>
    							</tr>';
        }
    در قسمت بعدی فایل Sources/ModSettings.php را ویرایش می کنیم :

    پیدا کنید :
    کد:
    			// Who's online.
    			array('check', 'who_enabled'),
    اضافه کنید بعد از آن :
    کد:
    		'',
       // Recent topics ?
       array('check', 'recent_topics',null, &$txt['recent_topics']),

    فایل Themes/default/languages/ModSettings.persian.php :

    پیدا کنید :
    کد:
    ?>
    جایگزین کنید:
    کد:
    $txt['recent_topics'] = 'Show recent topics instead of recent posts';
    کار به پایان رسیده ! تبریک میگم ;D
    فقط دوستان توجه داشته باشن باید مقدار "تعداد آخرین ارسال های نمایش داده شده در صفحه اول انجمن ها :" را در قسمت "تنظيمات قالب جاري" حتما به مقدار دلخواه تغییر دهند.
    موفق باشید !
    اگر سوالی بود در همین تاپیک عنوان کنید.
    یاعلی

    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


  2. # ADS
    تبلیغات در جوملا فارسی
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

موضوعات مشابه

  1. آخرین ارسالها را چطوری بیارم تو انجمن
    توسط demonse2 در انجمن گرافیک و قالب SMF
    پاسخ ها: 11
    آخرين نوشته: 02-24-2009, 07:41 AM
  2. پاسخ ها: 13
    آخرين نوشته: 12-09-2008, 01:08 PM
  3. ایجاد تغییر در ماژول اخرین فایل های اضافه 
    توسط mr_aliagha در انجمن قالب های مامبو فارسی
    پاسخ ها: 2
    آخرين نوشته: 04-04-2008, 03:39 PM
  4. وب سایت در مکان های جغرافیای خاص بالا نمیا
    توسط art7th در انجمن بخش کاربری مامبو فارسی
    پاسخ ها: 9
    آخرين نوشته: 08-17-2006, 02:21 PM

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •