Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 12-12-2008, 07:47 PM
webForum-dev webForum-dev is offline
 
Join Date: Jun 2004
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Sort threads from sql

Hello, I want to maintain the same sortorder in forumdisplay as default for paging and such (latest threads first), but I want to sort the threads returned by the database with php.

I thought I could use $sortfield for that, but I have tried this code

$sortfield = "thread.title";
$sqlsortfield = 'lastpost';
$handled = true;

booth in the forumdisplay_start and the forumdisplay_sort, but it just won't work.
Reply With Quote
  #2  
Old 12-12-2008, 09:42 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You set that in Forums & Moderators > Forum Manager > select the forum to edit > Default Sort Order/Default Sort Field
Reply With Quote
  #3  
Old 12-13-2008, 03:55 AM
webForum-dev webForum-dev is offline
 
Join Date: Jun 2004
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok, but I want to hook up a new sort of the result I get from the database. (so I dont want to change the way the results are sorted by the database)

my db-query looks something like this:
select a,b,c from threads where ... order by lastpost desc

I want to keep that sortorder, so that on each page I move through show me older posts as I go on.

but then on the listning (of that specific page) I want to order the results based on a new column that I have created in the database. This column tells if a thread is 'marked as solved' or not. I want to show booth the solved and not solved threads in the page as normal, but instead of just sorting it by lastpost desc, I want to sort it by solved, lastpost desc. So that the unsolved threads is shown first, and then the solved ones.

We did this modification without the plugin/hook-system (before 3.5) by modifying the forumdisplay.php, but now when we upgrade we need to convert this to plugin code, for easier upgrades of vbulletin.
Reply With Quote
  #4  
Old 12-13-2008, 04:03 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You need to use a hook that is called right before the query you are trying to modify. Like the hook forumdisplay_announcement_query is right above the announcement query, and forumdisplay_query_threadscount is right above the threascount query. The variables get emptied right before the query hooks:
PHP Code:
$hook_query_fields $hook_query_joins $hook_query_where '';
(
$hook vBulletinHook::fetch_hook('forumdisplay_query_threadscount')) ? eval($hook) : false
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 03:27 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.03491 seconds
  • Memory Usage 2,186KB
  • 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_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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