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

Reply
 
Thread Tools Display Modes
  #1  
Old 08-04-2007, 02:17 PM
Pod Pod is offline
 
Join Date: Jun 2007
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Create and parse new templates

I'm trying to add a new template to my layout. The help says "When adding custom templates, in order to have them parsed, you must also write PHP code to call them." How I do that? And how I use my new template in another one?
Reply With Quote
  #2  
Old 08-04-2007, 11:55 PM
nico_swd's Avatar
nico_swd nico_swd is offline
 
Join Date: Dec 2005
Location: Spain
Posts: 170
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Have a look at this article.

https://vborg.vbsupport.ru/showthread.php?t=62164
Reply With Quote
  #3  
Old 08-05-2007, 01:00 AM
Pod Pod is offline
 
Join Date: Jun 2007
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you very much for your answer, nico_swd, but this is not what I need to do (in fact, I knew that article ). What I need to do is to use a custom template inside other (standard) ones. For instance, you see in the example provided in that article that they include the contents of the header template just by including the $header variable. That's what I need to do, create a new template (for instance, my_template) that I can include in other templates simply by writting the variable $my_template.

I assume, I need to write a plug-in in some place to process the contents of the template and store them in that variable?
Reply With Quote
  #4  
Old 08-05-2007, 01:06 AM
EnIgMa1234 EnIgMa1234 is offline
 
Join Date: Mar 2006
Location: .:: Ireland ::.
Posts: 1,306
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Your first need to cache the template then parse it.

The plugin hooks are called:

cache_templates
parse_templates
Reply With Quote
  #5  
Old 08-05-2007, 01:21 AM
Pod Pod is offline
 
Join Date: Jun 2007
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by EnIgMa1234 View Post
Your first need to cache the template then parse it.

The plugin hooks are called:

cache_templates
parse_templates
Thank you very much Enigma. This is very useful, thank you again.

Could you, please, point me where I can find an example of those plugins implemented? Lots of thanks in advance.
Reply With Quote
  #6  
Old 08-05-2007, 01:48 AM
EnIgMa1234 EnIgMa1234 is offline
 
Join Date: Mar 2006
Location: .:: Ireland ::.
Posts: 1,306
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

In cache templates
Code:
		
			$globaltemplates = array_merge($globaltemplates, array('YOURTEMPLATE'));
In parse templates
Code:
eval('$YOURVARIABLE = "' . fetch_template('YOURTEMPLATE') . '";');
Then you can use $YOURVARIABLE
Reply With Quote
  #7  
Old 08-05-2007, 01:53 AM
Eikinskjaldi's Avatar
Eikinskjaldi Eikinskjaldi is offline
 
Join Date: Feb 2006
Location: Hell, never looked better
Posts: 572
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

When including one template in another what you actually do is eval the inner tamplate to a variable and then pass that variable to the outer template.

So for instance say you had a really simple innerTemplate that wraps <tr> tags around a series of entries


you might have this code
PHP Code:
foreach ($foo as $bar)
      eval(
'$innerBit .= "'.fetch_template('tr_wrap_bit').'";'); 
where the tr_wrap_bit sees the $bar variable.


Now you have a string ($innerBit) which contains a concatenation of the innerTemplate. You can simply then pass this variable to the next layer of template.
Reply With Quote
  #8  
Old 08-05-2007, 02:18 AM
Pod Pod is offline
 
Join Date: Jun 2007
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you lots, Eikinskjaldi and Enigma. All this information has helped me a lot, and I've been able to complete my litlle project. I owe you both a free drink

BTW, just saw at the main page od the forums... Happy birthday Enimga!!! Now I owe you two drinks
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 08:51 PM.


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.03871 seconds
  • Memory Usage 2,230KB
  • 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
  • (2)bbcode_code
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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