vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   [Concept Demo RC3] Conditionals in templates (https://vborg.vbsupport.ru/showthread.php?t=16743)

Mike Sullivan 05-13-2001 10:00 PM

I threw this together in about 45 minutes today. It allows you to put stuff like this in your templates:
{if ($bbuserinfo[userid]) {
<a href="usercp.php?s=$session[sessionhash]">User CP!</a>
}else{
<a href="register.php?s=$session[sessionhash]&action=signup">Signup!</a>
}endif}

Of course, it requires a code edit for each template, so it's somewhat counter intuitive, but as I said, it's not exactly a release -- it's more a concept demo. :)

Requires PHP4 as I use the /e modifier. Also, you'll want to have some decent PHP understanding. See attachment for more info.

Feel free to ask questions, but I may not answer/support like I did past hacks.

bira 05-14-2001 03:38 AM

Thanks Mike, I needed something like this!

Mark Hewitt 05-14-2001 09:44 AM

I like :cool:

TWTCommish 05-14-2001 10:31 PM

If you're looking for a quick way to swap buttons, do what I did: use the phpinclude template, a one-line ternary operator that stores the HTML for either the register button, or the user cp button -- hold it in a variable name not used elsewhere, and call on it in the template.

Example:

Code:

$the_button = (isset($bbuserid)) ? sprintf('<img src="images/top_register.gif">') : sprintf('<img src="images/top_usercp.gif">');

Mike Sullivan 05-15-2001 12:00 AM

That was just an example :)

And if you wanna get technical, you should check $bbuserinfo[userid] instead of bbuserid for those who don't store their username/password. :p

TWTCommish 05-15-2001 12:07 AM

A competition now, eh? :) Well, it's just an extremely simple way to allow people to display the appropriate button. :)

Wayne Luke 05-15-2001 09:25 PM

Chris -

It isn't a competition. Look at where Mike said he put his conditional and look at where you put yours.

Mike is talking about adding conditionals to any template where they are processed by keyword. This could be used by non-programmers to make things all over the system change based on various information. They wouldn't have to learn a whole new language just a few commands.

Mike -
This is a great concept and it should probably be pursued for later versions. This would greatly improved the functionality of vBulletin.

TWTCommish 05-15-2001 09:32 PM

Yes, I know -- I was making a joke. :)

Mas*Mind 05-16-2001 12:41 AM

Personally I don't see the point to give templates this functionality. Templates are meant to separate code from layout and now you're bringing back the code into the layout :confused:

It gives templates more flexibility: true, but also makes them harder to understand to newbies.

This can be a great addon for some people, but I hope this won't be a standard in vb

Mike Sullivan 05-16-2001 02:28 AM

Would this version ever see an official release? No, it's physically impossible because it requires PHP4.

Then you add that fact that you regex any template that you want to use with it :(

Using this system could eliminate a large amount of templates though...


All times are GMT. The time now is 06:02 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.01092 seconds
  • Memory Usage 1,726KB
  • 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_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete