Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Template Modifications
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Thread title leads to new (unread) posts like Xenforo does, instead to the first post Details »»
Thread title leads to new (unread) posts like Xenforo does, instead to the first post
Version: 2.10, by Alan_SP Alan_SP is offline
Developer Last Online: Oct 2023 Show Printable Version Email this Page

Category: Forum Display Enhancements - Version: 4.x.x Rating:
Released: 04-12-2012 Last Update: Never Installs: 16
Template Edits
Re-useable Code  
No support by the author.

We now have situtation where we have small image ( - Here I'm using image from vBorg, not image that's used in your forums) that leads us to first unread post in thread and the whole big thread title leads us to first post of thread. This is not the happiest solution in my opinion and I also heard that Xenforo uses thread title to lead you to first unread post.

I'm talking about this:



Version 2.10:

You need to edit template threadbit.

After some thinking I realized that using image is totally unnecessary, as thread title is enough for good UI. If thread has more than one page, we could always use page numbers available under thread title.

So, to remove image completely find this code and remove it:

HTML Code:
                                       <vb:if condition="$show['gotonewpost']"><a href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo_newpost}, 'threadid', 'threadtitle'}" id="thread_gotonew_{vb:raw thread.realthreadid}"><img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase go_to_first_new_post}" /></a>
					</vb:if>
And, to make thread title function like it always should have, go and make this change:

Find:

HTML Code:
<a class="title<vb:if condition="$show['gotonewpost']"> threadtitle_unread</vb:if>" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo}, 'threadid', 'threadtitle'}" id="thread_title_{vb:raw thread.realthreadid}">{vb:raw thread.threadtitle}</a>
Replace it with:

HTML Code:
<a class="title<vb:if condition="$show['gotonewpost']"> threadtitle_unread</vb:if>" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo_newpost}, 'threadid', 'threadtitle'}" id="thread_title_{vb:raw thread.realthreadid}">{vb:raw thread.threadtitle}</a>
Now thread title leads to first new post if there's a one, or leads to a last post. If there's more than one page, we could use page numbers below, like shown on this picture:



---------------------------------------

Fixed in version 2.10:
We need to use same id to be able to edit thread title by double click next to thread title. If we exchange id with image's id, then double click doesn't enable us to edit thread title.

In code above change is already made, and changed is this:

from
HTML Code:
id="thread_gotonew_{vb:raw thread.realthreadid}"
back to (that's original id)
HTML Code:
id="thread_title_{vb:raw thread.realthreadid}"
For some who maybe would like to use image , I'll leave version 1.00 below, but I corrected id error (i.e. id stays same).
---------------------------------------------------
Version 1.00:
Anyway, if you want that thread title leads to new (unread) post, and small image () leads to first post of the thread, it's relatively simple template edit.

You need to edit template threadbit.

Find this code:

HTML Code:
<vb:if condition="$show['gotonewpost']"><a href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo_newpost}, 'threadid', 'threadtitle'}" id="thread_gotonew_{vb:raw thread.realthreadid}"><img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase go_to_first_new_post}" /></a>
Replace it with this code:

HTML Code:
<vb:if condition="$show['gotonewpost']"><a href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo}, 'threadid', 'threadtitle'}" id="thread_gotonew_{vb:raw thread.realthreadid}"><img class="gotonewpost" src="{vb:stylevar imgdir_button}/firstnew.png" alt="{vb:rawphrase go_to_first_new_post}" /></a>
This code makes little image leads you to the first post of thread, not as before to first unread post.

But, this image appears only if there are new posts in thread, so to make this image appear all the time, you need to remove this if statment in front of code:

HTML Code:
<vb:if condition="$show['gotonewpost']">
Don't forget to remove closing if statment:

HTML Code:
</vb:if>
Now you'll always have link that leads to first post of thread. This may be important to you because thread title (if you apply this template modification) leads to last post in thread if there are no new posts.

Second, more important change as it changes where thread title leads is this:

Find:

HTML Code:
<a class="title<vb:if condition="$show['gotonewpost']"> threadtitle_unread</vb:if>" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo}, 'threadid', 'threadtitle'}" id="thread_title_{vb:raw thread.realthreadid}">{vb:raw thread.threadtitle}</a>
Replace it with:

HTML Code:
<a class="title<vb:if condition="$show['gotonewpost']"> threadtitle_unread</vb:if>" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo_newpost}, 'threadid', 'threadtitle'}" id="thread_title_{vb:raw thread.realthreadid}">{vb:raw thread.threadtitle}</a>
Now, when you and your users click on thread title it leads them to first unread post in the thread (or last, if there are no new posts) and if they click on icon, it leads them to the first post of thread.

You can also completely remove icon (by removing code, and not just replacing it), if you want that users go only to first unread post (or last, if there are no new posts in thread). But, if you want to keep icon (which I personally prefer, to go to first post in thread easily), I suggest that you also change phrase go_to_first_new_post, as icon now leads to first post, not first new post.

To explain what I did, I exchanged link (href) info between the two (icon and thread title), so you could fairly easy make template change even if this particular code changes with future versions of vBulletin.

Hope you'll find this useful. :up:

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
5 благодарности(ей) от:
postcd, rollingzone, SaN-DeeP, Sunka, z3r0

Comments
  #2  
Old 05-04-2015, 07:06 PM
SaN-DeeP's Avatar
SaN-DeeP SaN-DeeP is offline
 
Join Date: Jun 2002
Location: Mumbai, India
Posts: 1,195
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks always saw this stuff on some of my regular sites..
Probably some of biggest vbulletin sites..
Reply With Quote
  #3  
Old 05-07-2015, 04:35 PM
Alan_SP's Avatar
Alan_SP Alan_SP is offline
 
Join Date: Nov 2009
Posts: 1,122
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, this seem way more logical to use thread titles for finding unread posts and not trying to hit little image in front of it.
Reply With Quote
  #4  
Old 02-27-2016, 02:08 AM
broncoshq broncoshq is offline
 
Join Date: Feb 2012
Location: Brisbane, Australia
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Guys I'm having a bit of trouble with this, and I can't understand why.

I have set it up so users have the choice via their profile, using VB:IF to alternate between the original code, and the one listed here.

It works perfectly, unless the user is in a special permission group forum.

It's obviously a pain to test, because I need to be on when there are plenty of people posting.

Really appreciate any help.
Reply With Quote
  #5  
Old 02-27-2016, 04:37 PM
Alan_SP's Avatar
Alan_SP Alan_SP is offline
 
Join Date: Nov 2009
Posts: 1,122
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can create test user with same permissions, log as that test user in one browser and test, while monitoring with other browser where you're logged as admin. I always have test user created and just change permissions depending on what I need to test.

Also, it would be interesting to see what code you're actually using to achieve this.
Reply With Quote
  #6  
Old 02-28-2016, 06:26 AM
broncoshq broncoshq is offline
 
Join Date: Feb 2012
Location: Brisbane, Australia
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It seems to not be special forums as I thought earlier. It seems random as to whether it loads the last unread or the last. However, it certainly works more times than it doesn't, and not always on the same thread.

Code:

Code:
<vb:if condition="$bbuserinfo['field25'] == 'OFF'">


<a class="title<vb:if condition="$show['gotonewpost']"> threadtitle_unread</vb:if>" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo_newpost}, 'threadid', 'threadtitle'}" id="thread_title_{vb:raw thread.realthreadid}">{vb:raw thread.threadtitle}</a>




                    <vb:else />
                    

                    <a class="title<vb:if condition="$show['gotonewpost']"> threadtitle_unread</vb:if>" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo}, 'threadid', 'threadtitle'}" id="thread_title_{vb:raw thread.realthreadid}">{vb:raw thread.threadtitle}</a>

                                     </vb:if>
Reply With Quote
  #7  
Old 02-28-2016, 01:12 PM
Alan_SP's Avatar
Alan_SP Alan_SP is offline
 
Join Date: Nov 2009
Posts: 1,122
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Last unread post is last post if there aren't new posts in thread. If it acts randomly, it may be problem in the way your forum tracks what is last read post. You have option to select the way it is tracked.

Changed code (what I changed) just points to what vB thinks is last unread post that also could be last post of thread, nothing else.

I'd check this.
Reply With Quote
  #8  
Old 02-28-2016, 11:13 PM
broncoshq broncoshq is offline
 
Join Date: Feb 2012
Location: Brisbane, Australia
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where is this option available to look at?

I'm aware of what the change does, and how it should work. It just seems odd to me that this would be acting like this.

If I could see some options, that would be good.
Reply With Quote
  #9  
Old 02-29-2016, 12:35 PM
Alan_SP's Avatar
Alan_SP Alan_SP is offline
 
Join Date: Nov 2009
Posts: 1,122
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, you go to ACP->Settings->Options->General Settings->Thread/Forum Read Marking Type

I'm using last option: Database (automatic forum marking)
Reply With Quote
  #10  
Old 03-02-2016, 12:06 PM
JesWhite JesWhite is offline
 
Join Date: Apr 2014
Location: Muğla
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is there any pic ?

i didnt understand...
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 02:17 PM.


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.04637 seconds
  • Memory Usage 2,345KB
  • Queries Executed 26 (?)
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
  • (11)bbcode_html
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (5)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)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_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete