vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Problem solving with the new template system (https://vborg.vbsupport.ru/showthread.php?t=231447)

sheppardzwc 12-28-2009 01:39 PM

Problem solving with the new template system
 
Hey all,

With the new template system it's getting me confused. I want to grab a few fields from the database, assign them in a defined format on a string, and then register that string to be displayed in a sidebar. (Using SS' sidebar mod) I've got it mostly figured out, but it doesn't seem to be displaying. What do I need to do?

Here's my code;

PHP Code:

// 1.0

$templater vB_Template::create('rp_fh');

$rp_fh_grab_sql $vbulletin->db->query_read("SELECT threadid,title,replycount,dateline FROM " TABLE_PREFIX "thread ORDER BY threadid DESC LIMIT 10");

while(
$rp_fh_row $vbulletin->db->fetch_array($rp_fh_grab_sql)) {
    
$rp_fh_threadid $rp_fh_row['threadid'];
    
$rp_fh_title $rp_fh_row['title'];
    
$rp_fh_replycount strval($rp_fh_row['replycount']);
    
$rp_fh_dateline date($vbulletin->options['dateformat'] . ' ' $vbulletin->options['timeformat'], $rp_fh_row['dateline']);
    
$rp_fh_printout_string $rp_fh_printout_string '<a href="showthread.php?t=' $rp_fh_threadid '">' $rp_fh_title '</a><br />' $rp_fh_replycount ' posts / ' $rp_fh_dateline PHP_EOL;
}

    
$templater->register('rp_fh_contents'$rp_fh_printout_string);
        
vB_Template::preRegister('ss_rightcolumn_contents', array('rp_fh_contents' => $rp_fh_printout_string)); 


But when I try to use {vb:raw rp_fh_contents} in the column template nothing shows up. Any suggestions?

Thanks :)

Lynne 12-28-2009 02:39 PM

What are you doing with the template rp_fh? You never rendered it. You created it, you registered a variable to be used in it, but you never finished the process by rendering it.

sheppardzwc 12-28-2009 02:49 PM

Quote:

Originally Posted by Lynne (Post 1940456)
What are you doing with the template rp_fh? You never rendered it. You created it, you registered a variable to be used in it, but you never finished the process by rendering it.

I want to use the variable $rp_fh_printout_string in the ss_rightcolumn_contents template. How can I do that? I guess I misunderstood the guide I read. Do I need to create a whole new template and then use it as a variable?

Lynne 12-28-2009 02:56 PM

Not necessarily. But again I'll ask, what is the purpose of the template rp_fh? Do you need it? If not, why do you have anything to do with it in there?

Also, make sure the hook location you picked gets rendered before the column template is rendered or this won't work.

sheppardzwc 12-28-2009 03:00 PM

Quote:

Originally Posted by Lynne (Post 1940483)
Not necessarily. But again I'll ask, what is the purpose of the template rp_fh? Do you need it? If not, why do you have anything to do with it in there?

Also, make sure the hook location you picked gets rendered before the column template is rendered or this won't work.

Basically, I want to pull these fields from the database, put them in a string, and then let that string be accessed in the column template. How can I do that? I thought you had to generate a template (the purpose of rp_fh) and then include that template. Clarification? :p

Lynne 12-28-2009 03:06 PM

You only need to generate a template if you are going to use the template. You don't use it in your code, so why bother to generate it? Get rid of all your template stuff except the preregistering since I see no purpose for it since you never render/use the template at all.

Your code should work if you are preregistering the variable prior to the column template being rendered.

sheppardzwc 12-28-2009 03:38 PM

Quote:

Originally Posted by Lynne (Post 1940489)
You only need to generate a template if you are going to use the template. You don't use it in your code, so why bother to generate it? Get rid of all your template stuff except the preregistering since I see no purpose for it since you never render/use the template at all.

Your code should work if you are preregistering the variable prior to the column template being rendered.

Thank you Lynne! Wonderful as always.

I just edited the SS plugin when it rendered the templates and added the $templater->register() function. Thank you again. :)


All times are GMT. The time now is 06: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.01106 seconds
  • Memory Usage 1,740KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete