Webmaster общности: Predpriemach.com | SearchEngines.bg

    Показване на последни теми и популярни в форума

    Автор: djvato

    Един страхотен урок Mad който показва популярните теми и последни в index ето дето най отдолу можете да видите :

    отваряте index.php и намирате

    //
    // Okay, let's build the index
    //
    for($i = 0; $i < $total_categories; $i++)
    {
    $cat_id = $category_rows[$i]['cat_id'];

    преди него добавяте

    //------------------------------------------------------------------------
    // Top Topics on
    //
    $template->assign_vars(array(
    'L_TOPICSRECENT' => $lang['TopicsRecent'],
    'L_TOPICSPOPULAR' => $lang['TopicsPopular'],
    'L_TOPICSPOPULARVIEW' => $lang['TopicsPopularView'])
    );
    
    // Get forum auth information to insure privacy of hidden topics
    $topics_auth = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata);
    $topics_auth_sql = '';
    foreach($topics_auth as $k=>$v)
    {
    if( $v['auth_view'] && $v['auth_read'] )
    {
    $topics_auth_sql .= (( empty($topics_auth_sql) ) ? '': ', ') . $k;
    }
    }
    
    if( empty($topics_auth_sql) )
    {
    $template->assign_block_vars('topicrecentpopular', array(
    'TOPICSPOPULAR' => $lang['No_Posts'],
    'TOPICSPOPULARVIEW' => $lang['No_Posts'],
    'TOPICSRECENT' => $lang['No_Posts']
    ));
    }
    else
    {
    //
    // Okay, let's build the topic recent and popular
    //
    $active_topics_sql = 'SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_views, t.topic_last_post_id
    FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE. ' f
    WHERE t.forum_id IN (' . $topics_auth_sql . ')
    AND f.forum_id = t.forum_id
    ORDER BY %1$s DESC
    LIMIT 0,5';
    $active_topics_sql_a = sprintf($active_topics_sql, 'topic_last_post_id');
    $active_topics_sql_b = sprintf($active_topics_sql, 'topic_replies');
    $active_topics_sql_c = sprintf($active_topics_sql, 'topic_views');
    $recent_row = $popular_row = $viewed_row = array();
    
    if( !$active_topics_a = $db->sql_query($active_topics_sql_a))
    {
    message_die(GENERAL_ERROR, 'Could not retrieve recent topics', '', __LINE__, __FILE__, $active_topics_sql_a);
    }
    $recent_row = $db->sql_fetchrowset($active_topics_a);
    $db->sql_freeresult($active_topics_a);
    
    if( !$active_topics_b = $db->sql_query($active_topics_sql_b))
    {
    message_die(GENERAL_ERROR, 'Could not retrieve popular topics', '', __LINE__, __FILE__, $active_topics_sql_b);
    }
    $popular_row = $db->sql_fetchrowset($active_topics_b);
    $db->sql_freeresult($active_topics_b);
    
    if( !$active_topics_c = $db->sql_query($active_topics_sql_c))
    {
    message_die(GENERAL_ERROR, 'Could not retrieve most viewed topics', '', __LINE__, __FILE__, $active_topics_sql_c);
    }
    $viewed_row = $db->sql_fetchrowset($active_topics_c);
    $db->sql_freeresult($active_topics_c);
    
    for( $i = 0; $i < 5; $i++ )
    {
    $recent_topic_title = $recent_row[$i]['topic_title'];
    $popular_topic_title = $popular_row[$i]['topic_title'];
    $viewed_topic_title = $viewed_row[$i]['topic_title'];
    
    if( strlen($recent_topic_title) > 40 )
    {
    $recent_topic_title = substr($recent_topic_title, 0, 40) . '...';
    }
    
    if( strlen($popular_topic_title) > 40 )
    {
    $popular_topic_title = substr($popular_topic_title, 0, 40) . '...';
    }
    
    if( strlen($viewed_topic_title) > 40 )
    {
    $viewed_topic_title = substr($viewed_topic_title, 0, 40) . '...';
    }
    
    $recent_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $recent_row[$i]['topic_id'] . '" title="' . $recent_row[$i]['topic_title'] . '">' . $recent_topic_title . '</a>';
    $popular_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $popular_row[$i]['topic_id'] . '" title="' . $popular_row[$i]['topic_title'] . '">' . $popular_topic_title . '</a>';
    $popular_total_replies = $popular_row[$i]['topic_replies'];
    $viewed_post = '<a href="viewtopic.php?' . POST_TOPIC_URL . '=' . $viewed_row[$i]['topic_id'] . '" title="' . $viewed_row[$i]['topic_title'] . '">' . $viewed_topic_title . '</a>';
    $viewed_total_replies = $viewed_row[$i]['topic_views'];
    
    $template->assign_block_vars('topicrecentpopular', array(
    'TOPICSPOPULAR' => $popular_post,
    'TOPICSPOPULARC' => $popular_total_replies,
    'TOPICSPOPULARVIEW' => $viewed_post,
    'TOPICSPOPULARVIEWC' => $viewed_total_replies,
    'TOPICSRECENT' => $recent_post)
    );
    }
    }
    //
    // Top Topics on Index
    //------------------------------------------------------------------------

    отваряте templates/subSilver/index_body.tpl и намиате

    <table cellspacing="3" border="0" align="center" cellpadding="0">
    <tr>
    <td width="20" align="center"><img src="templates/Acid/images/folder_new.gif" alt="{L_NEW_POSTS}"/></td>
    <td><span class="gensmall">{L_NEW_POSTS}</span></td>
    <td>  </td>
    <td width="20" align="center"><img src="templates/Acid/images/folder.gif" alt="{L_NO_NEW_POSTS}" /></td>
    <td><span class="gensmall">{L_NO_NEW_POSTS}</span></td>
    <td>  </td>
    <td width="20" align="center"><img src="templates/Acid/images/folder_lock.gif" alt="{L_FORUM_LOCKED}" /></td>
    <td><span class="gensmall">{L_FORUM_LOCKED}</span></td>
    </tr>
    </table>

    преди него добавяте

    <!-- Top Topics on Index -->
    <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
    <tr>
    <th width="25%" class="thTop" nowrap="nowrap"> {L_TOPICSRECENT} </th>
    <th width="38%" colspan="2" class="thTop" nowrap="nowrap"> {L_TOPICSPOPULAR} </th>
    <th width="37%" colspan="2" class="thTop" nowrap="nowrap"> {L_TOPICSPOPULARVIEW} </th>
    </tr>
    <!-- BEGIN topicrecentpopular -->
    <tr>
    <td width="29%" class="row2" align="left" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSRECENT}</span></td>
    <td width="31%" class="row2" align="left" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULAR}</span></td>
    <td width="6%" class="row2" align="center" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULARC}</span></td>
    <td width="29%" class="row2" align="left" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULARVIEW}</span></td>
    <td width="6%" class="row2" align="center" valign="middle"><span class="gensmall">{topicrecentpopular.TOPICSPOPULARVIEWC}</span></td>
    </tr>
    <!-- END topicrecentpopular -->
    </table>
    <br><br>
    <!-- Top Topics on Index

    отваряте language/lang_english/lang_main.php и намирате

    //
    // That's all, Folks!
    // -------------------------------------------------

    преди него добавяте

    $lang['TopicsRecent'] = "Последни теми";
    $lang['TopicsPopular'] = "Популярни теми (последен пост)";
    $lang['TopicsPopularView'] = "Популярни теми";
    

    Според мен това много е полезно и дано съм ви помогнал и на вас !

    Оставете коментар