Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 12-08-2002, 12:51 AM
Martaigne Martaigne is offline
 
Join Date: Apr 2002
Location: Atlanta, GA
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Using PHP Code in Templates?

I wrote a bit of code that checks if the user is logged in or not. It's basically the same thing behind what you see at the top of the forum mainpage where it either displays the login/register form, or Welcome back, Dorkface!

I'm trying to use this code inside the header template so I can cause the REGISTER button at the top of the page to disappear when a registered user is logged in, and another button to appear instead.

When I inserted the code and tested it, I got some VERY strange results... editing the code various ways caused different strange results, but not what I was expecting. Part of the PHP code would be printed out instead, the table cell would show up above the row of menu items, and the background would be neon green, etc.

I've programmed in PHP before but haven't played with templates yet. How can I utilize code in the them?

Thanks!
Reply With Quote
  #2  
Old 12-08-2002, 11:01 AM
tHE DSS's Avatar
tHE DSS tHE DSS is offline
 
Join Date: Jun 2002
Location: UK
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's not advisable to do so.

The "chunk templates" are parsed into a kind of "chunked buffered output" using the powerful 'eval()'.

If you have a previously filled variable, set inside a script, then you can use that variable inside the tempate, and it will be automatically "expanded" like a normal 'string' would be.

By starting to add actual PHP code, you should expect random results.

Do the PHP coding inside the relevant scripts, storing data into a variable, then place the variable name including the '$' character inside the template. It will get "expanded", outputting your dynamic content.

Study a few of the smaller hacks on this website, and you should get the idea quickly on how the system works.
Reply With Quote
  #3  
Old 12-08-2002, 12:51 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

parsing php-code isn't possible in templates, except the template phpinclude.

you may want to install logicians conditionals in templates hack, for this things that you want to have...
Reply With Quote
  #4  
Old 12-08-2002, 06:20 PM
Martaigne Martaigne is offline
 
Join Date: Apr 2002
Location: Atlanta, GA
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks! I'll probably put the script elsewhere and store the html tag in a variable for the template to expand. Sounds easy enough!
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 02:18 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.06170 seconds
  • Memory Usage 2,179KB
  • 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)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_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