Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 02-28-2004, 04:01 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Phrase system, part two

How would I go about fetching a phrase in code (i.e., not from within a template)?

I am using fetch_phrase(), but it seems to be adding a query for every phrase it translates:

Quote:
SELECT text, languageid
FROM phrase
WHERE phrasetypeid = 500
AND varname = 'navbar_folders'AND languageid IN (-1, 0, 1)
Time before: 0.1310920715332
Time after: 0.13276600837708
Time taken: 0.0016739368438721

table type possible_keys key key_len ref rows Extra
phrase range name_lang_type,languageid name_lang_type 254 3 Using where

Query:

SELECT text, languageid
FROM phrase
WHERE phrasetypeid = 500
AND varname = 'navbar_filters'AND languageid IN (-1, 0, 1)
Time before: 0.13507008552551
Time after: 0.13678789138794
Time taken: 0.0017178058624268

table type possible_keys key key_len ref rows Extra
phrase range name_lang_type,languageid name_lang_type 254 3 Using where
...and so on for each phrase fetched in code.
Reply With Quote
  #2  
Old 02-28-2004, 04:28 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That's what array $phrasegroups is for. Must be initalized before calling global.php so the phrases in this group will be cached.

Only use fetch_phrase or fetch_phrase_group when you really need to use a phrase(group) that has not been cached (which should rarely be the case).

Otherwise just use $vbphrase['yourphrase']
Reply With Quote
  #3  
Old 02-28-2004, 04:30 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by KirbyDE
That's what array $phrasegroups is for. Must be initalized before calling global.php so the phrases in this group will be cached.

Only use fetch_phrase or fetch_phrase_group when you really need to use a phrase(group) that has not been cached (which should rarely be the case).

Otherwise just use $vbphrase['yourphrase']
I did set $phrasegroups:
PHP Code:
$globaltemplates = array("vbms_navbar""vbms_navbarbit");
$phrasegroups = array("vbms"); 
$vbphrase (the array) already contains all of the phrases from the appropriate phrase group, as well as the global templates?
Reply With Quote
  #4  
Old 02-28-2004, 06:13 PM
Link14716's Avatar
Link14716 Link14716 is offline
 
Join Date: Jun 2002
Location: Georgia, USA
Posts: 2,519
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$vbphrase contains all the global phrases as defined in I believe global.php, as well as all of the phrases from the phrasegroups defined in $phrasegroups at the top of the file.
Reply With Quote
  #5  
Old 02-28-2004, 06:14 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent, thank you.
Reply With Quote
Reply

Thread Tools
Display Modes

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 06:57 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.03870 seconds
  • Memory Usage 2,198KB
  • Queries Executed 13 (?)
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
  • (2)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_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
  • 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