Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Create "Latest Threads" Custom Page
Princeton's Avatar
Princeton
Join Date: Nov 2001
Posts: 6,693

Joe Velez began developing for the web in 1998. He is an avid vBulletin user and volunteers his services as a vbulletin.org administrator. He currently spends his time maintaining and developing allnurses.com.

Vineland, NJ
Show Printable Version Email this Page Subscription
Princeton Princeton is offline 02-22-2006, 10:00 PM

A simple [HOWTO] to display latest threads on a custom page.

If you don't have GTCUSTOM PAGES installed .. go download and upload product via Plugin Manager. You need GTCUSTOM PAGES to follow this article.

LETS GET STARTED

INSTRUCTIONS:
  1. create 2 templates
  2. add 1 phrase
  3. add function to functions_gtcustom.php
  4. edit goto.php
  5. visit page at $vboptions[bburl]/goto.php?section=newthreads

1)__ CREATE 2 TEMPLATES
Create "custom_thread" template:

HTML Code:
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%">
  <tbody>
    <tr>
      <td class="tcat" colspan="5"><a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('gtcthreads')"><img id="collapseimg_gtcthreads" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_gtcthreads].gif" alt="" border="0" /></a>$vbphrase[header_title]</td>
    </tr>
    <tr class="thead">
      <td>&nbsp;</td>
      <td class="smallfont" align="$stylevar[left]" width="100%">$vbphrase[thread] / $vbphrase[thread_starter]</td>
      <td class="smallfont" align="center" style="white-space:nowrap">$vbphrase[last_post]</td>
      <td class="smallfont" align="center">$vbphrase[replies]</td>
      <td class="smallfont" align="center">$vbphrase[views]</td>
    </tr>
  </tbody>
  <tbody id="collapseobj_gtcthreads" style="$vbcollapse[collapseobj_gtcthreads]">  
  $threadrows
  </tbody>  
</table>
<br />
Create "custom_threadrow" template:
HTML Code:
<tr>
	<td class="alt2" align="center"><if condition="$show['threadicon']"><img class="inlineimg" src="$thread[iconpath]" alt="" border="0" title="" /> <else />&nbsp;</if></td>
	<td class="alt1"><a href="showthread.php?t=$thread[threadid]"><strong>$thread[title]</strong></a>
		<div class="smallfont"> - by $thread[postusername]</div></td>
	<td class="alt2" align="center"><div class="smallfont time" style="white-space:nowrap">$thread[lastpostdate] $thread[lastposttime]<br />by $thread[lastposter]</div></td>
	<td class="alt1" align="center">$thread[replycount]</td>
	<td class="alt2" align="center">$thread[views]</td>
</tr>
2)__ CREATE 1 PHRASE
Phrase Type: GTCustom Pages
Product: GTCustom Pages
Varname: gtcustom_newthreads_header
Text: Latest Threads

3)__ ADD FUNCTION TO functions_gtcustom.php
Copy the following function to functions_gtcustom.php (functions_gtcustom.php is included in GTCUSTOM PAGES product)
PHP Code:
/* ==========[ PRINT LATEST THREAD ]===================================== */
/* ====================================================================== */
function print_gtcustom_newthreads()
{
    global 
$vbulletin$vbphrase$threadrows;
    
    
$threadarray $vbulletin->db->query_read("
        SELECT thread.*, icon.title AS icontitle, icon.iconpath
        FROM " 
TABLE_PREFIX "thread AS thread
        LEFT JOIN " 
TABLE_PREFIX "icon AS icon ON(icon.iconid = thread.iconid)
        WHERE 
            thread.visible = 1
        ORDER BY dateline DESC 
        LIMIT 15"
);
    
    while(
$thread $vbulletin->db->fetch_array($threadarray))
    {
        if (
$thread['iconid'])
        {
            
// get icon from icon cache
            
$thread['iconpath'] = $vbulletin->iconcache["$thread[iconid]"]['iconpath'];
            
$thread['icontitle'] = $vbulletin->iconcache["$thread[iconid]"]['title'];
        }

        if (
$thread['pollid'] != 0)
        {
            
// show poll icon
            
$show['threadicon'] = true;
            
$thread['iconpath'] = "$stylevar[imgdir_misc]/poll_posticon.gif";
            
$thread['icontitle'] = $vbphrase['poll'];
        }
        else if (
$thread['iconpath'])
        {
            
// show specified icon
            
$show['threadicon'] = true;
        }
        else if (!empty(
$vbulletin->options['showdeficon']))
        {
            
// show default icon
            
$show['threadicon'] = true;
            
$thread['iconpath'] = $vbulletin->options['showdeficon'];
            
$thread['icontitle'] = '';
        }
        else
        {
            
// do not show icon
            
$show['threadicon'] = false;
            
$thread['iconpath'] = '';
            
$thread['icontitle'] = '';
        }
        
        
$thread['lastpostdate'] = vbdate($vbulletin->options['dateformat'], $thread['lastpost'], 1);
        
$thread['lastposttime'] = vbdate($vbulletin->options['timeformat'], $thread['lastpost']);
        eval(
'$threadrows .= "' fetch_template('custom_threadrow') . '";');
    }
    unset(
$threadarray);
    return 
$threadrows;

4)__ EDIT goto.php
FIND IN goto.php:
PHP Code:
        default;            
            eval(
'$HTML = "' fetch_template('custom_mypage') . '";'); 
REPLACE WITH:
PHP Code:
        case 'newthreads';
            
$threadrows print_gtcustom_newthreads();            
            eval(
'$HTML = "' fetch_template('custom_thread') . '";');            
            break;
        default;            
            eval(
'$HTML = "' fetch_template('custom_mypage') . '";'); 
FIND:
PHP Code:
if ($_REQUEST['section']=='sitemap')
{
    
$globaltemplates[] = 'custom_sitemap';

REPLACE WITH:
PHP Code:
switch($_REQUEST['section'])
{
    case 
'sitemap';
        
$globaltemplates[] = 'custom_sitemap';
        break;
    case 
'newthreads';
        
$specialtemplates[] = 'iconcache';
        
$globaltemplates array_merge($globaltemplates, array('custom_thread''custom_threadrow'));
        break;

5)__ DONE!
Now, go visit the page that you just created:
$vboptions[bburl]/goto.php?section=newthreads

Need any help? Contact me personally via private message.

NOTE:
  1. All html code is valid XHTML.
  2. This query will display all thread titles regardless of permission settings.
Attached Images
File Type: jpg newthreads.jpg (38.1 KB, 0 views)
Attached Files
File Type: txt latest_threads_function-1.txt (5.7 KB, 154 views)
Reply With Quote
  #22  
Old 08-09-2006, 09:27 PM
Coach_Guru Coach_Guru is offline
 
Join Date: Jan 2005
Posts: 33
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Any method to show threads from x to y and for a specific forum?

i.e for an hypothetical "test forum" show threads from 1 to 50 and so on.

Thanks a lot.
Reply With Quote
  #23  
Old 08-12-2006, 02:26 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

you can query the specific forum ...

Code:
WHERE thread.visible = 1 AND thread.forumid = 50
LIMIT 0, 50
Reply With Quote
  #24  
Old 12-27-2007, 06:10 PM
valdet's Avatar
valdet valdet is offline
 
Join Date: Feb 2007
Posts: 505
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry to bump this old article, but this is a perfect find. I will look into this more..
Reply With Quote
  #25  
Old 03-01-2008, 07:33 PM
Powerofdreams Powerofdreams is offline
 
Join Date: Jan 2008
Location: Turkey
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi

Very good hack.But how can I add lastest 5 thread under similar thead? Thank you
Reply With Quote
  #26  
Old 09-25-2011, 09:39 PM
cowcowcow cowcowcow is offline
 
Join Date: Jul 2009
Posts: 85
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Princeton!

I know you wrote this like 5 years ago so i know its a longshot anyway but im hoping you will reply

Basically im wondering if you know of a way i could create forums for my custom page page area which im currently using for clans.


I've worked out the custom page part, now i just want to give clans hosted on the site their own forums integrated with that page. Ideally on the right side i want to use something like $displayclanfourmX and the forum just gets displayed and the layout is retained. Sounds overly simplistic in idea, is that possible? haha

Let me know! Thanks
Reply With Quote
  #27  
Old 01-21-2012, 10:39 PM
bond010007's Avatar
bond010007 bond010007 is offline
 
Join Date: Sep 2008
Location: EGYPT
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was looking for that thanks
Reply With Quote
  #28  
Old 03-12-2012, 11:43 AM
Pcwolfx?'s Avatar
Pcwolfx? Pcwolfx? is offline
 
Join Date: Dec 2007
Location: Istanbul, Turkey
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

didn't seem icons.
Attached Images
File Type: png Resim 29.png (16.6 KB, 0 views)
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:00 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04661 seconds
  • Memory Usage 2,348KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (2)bbcode_html
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (8)post_thanks_box
  • (1)post_thanks_box_bit
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (8)post_thanks_postbit_info
  • (7)postbit
  • (3)postbit_attachment
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete