Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 05-25-2011, 05:46 PM
TWood's Avatar
TWood TWood is offline
 
Join Date: Mar 2009
Location: Washington DC
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How to get tag search result list to order by last post date?

Tag search results are ordered by the date of the original post in a thread, and ignores any more recent reply dates. How can I get it to order them by the last post date of any replies that might be in a thread? In the example below, the more recent post date of the reply in the circled post should move it to the top of the list.

Reply With Quote
  #2  
Old 05-25-2011, 06:00 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Take a look at vb/search/searchcontroller/tag.php and you'll see the query there to edit. It currently sorts by dateline and you seem to want it by lastpost.
Reply With Quote
  #3  
Old 05-25-2011, 06:19 PM
TWood's Avatar
TWood TWood is offline
 
Join Date: Mar 2009
Location: Washington DC
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Lynne!

--------------- Added [DATE]1306365601[/DATE] at [TIME]1306365601[/TIME] ---------------

Error message:

HTML Code:
Database error in vBulletin 4.1.3:

Invalid SQL:

                                SELECT contenttypeid, tagcontent.contentid, tagcontent.contentid as threadid
                                FROM tagcontent as tagcontent
                                WHERE tagid = 1 
                                ORDER BY lastpost DESC
                                LIMIT 20000;

MySQL Error   : Unknown column 'lastpost' in 'order clause'
Error Number  : 1054
Request Date  : Wednesday, May 25th 2011 @ 06:18:12 PM
Error Date    : Wednesday, May 25th 2011 @ 06:18:12 PM
Script        : http://shoutstreet.com/tags.php?tag=78759
Referrer      : http://shoutstreet.com/
IP Address    : 66.68.130.22
Username      : tomwood
Classname     : vB_Database
MySQL Version : 5.0.92-community-log
Reply With Quote
  #4  
Old 04-26-2014, 06:16 PM
B-runner B-runner is offline
 
Join Date: May 2013
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Mega old thread bump.

What is suggested isn't exactly possible without more work, hence the error:
Quote:
MySQL Error : Unknown column 'lastpost' in 'order clause'
The columns available in tagcontent are: tagid, contenttypeid, contentid, userid, dateline. There is no lastpost.

The dateline is the date the tag was added.
The userid is the user who added the tag (this could help track down a rouge tagger )
The contentid is an ID # based on when the content was created. This can allow you to sort based on when the thread was created, and not when the tag was applied. This is at least better for me since I can back-apply tags to old thread and it's not good to have those show up before new threads.

It looks like the contenttypeid determines if it is a forum post, blog or article.

For me, it looks like it puts posts before blog entries in results this list.


Note, as there is no "lastpost" in the tagcontent, and it won't make sense either since it only gets updated when a new tag is added. To get a lastpost one would have to take the contentid and then go to another table and query to get that based on the contentid, which would take hacking up the php a little more. I'm good with what I have for now.


(Adding info since this place is searched often and provides great info. Also, I don't get to contribute much elsewhere. )
Reply With Quote
  #5  
Old 11-07-2016, 01:43 AM
grey_goose grey_goose is offline
 
Join Date: Jun 2009
Posts: 284
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Pretty crazy this is so buried. Had to dig it up since we've been using tags more and more. The default behavior of sorting by when the tag was added rather than by thread/post dates is... a really strange decision.

Change line 95 to "ORDER BY threadid ASC" to get threads from oldest to newest.
Change line 95 to "ORDER BY threadid DESC" to get threads from newest to oldest.

Ordering results by last post date would require JOINing the thread table but that looks like it would require some extra evaluation of 'contenttype' -- I'm guessing for people with CMS/Blog, which I don't have.

Still, ordering by threadid (thread started) will put them in some semblance of order for most rather than the pure WTF-ery of sorting by tag-added date.
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 05:26 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05039 seconds
  • Memory Usage 2,198KB
  • Queries Executed 11 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_html
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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_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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete