vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   How To Use Template Conditionals in Widgets (https://vborg.vbsupport.ru/showthread.php?t=248720)

JoshuaWriter 08-16-2010 05:50 AM

How To Use Template Conditionals in Widgets
 
How can I use template conditionals in a widget? I want to show different welcome messages to logged in users from guests.

Lynne 08-16-2010 02:24 PM

You would use PHP conditions in a widget since widget code is PHP.

cellarius 08-16-2010 02:37 PM

Not necessarily - think of the html widget.

If you want to do it with a html widget, don't put your code into the code box of the widget, but give the widget it's own template and put all your code there. Then you can use template conditionals.

clubvr4 08-17-2010 06:19 PM

Quote:

Originally Posted by cellarius (Post 2084787)
Not necessarily - think of the html widget.

If you want to do it with a html widget, don't put your code into the code box of the widget, but give the widget it's own template and put all your code there. Then you can use template conditionals.

Any ideas or guides on how to achieve this? Ive been fiddling for a while now, cant get it to work.

NickyDee 02-19-2011 07:02 PM

Quote:

Originally Posted by clubvr4 (Post 2085414)
Any ideas or guides on how to achieve this? Ive been fiddling for a while now, cant get it to work.

1.) Make a new template, name it something like "vbcms_widget_execphp_custom".

2.) Put your code inside it including conditionals just like you normally would in a template - if you want it to appear like other widgets you'll have to add the box code:

Code:

<div class="cms_widget">
  <div class="block">
    <div class="cms_widget_header">
      <h3>TITLE HERE</h3>
    </div>
    <div class="cms_widget_content" style="padding: 10px 0px 10px 0px;">
      <!-- YOUR CODE START -->
            YOUR CODE GOES IN HERE!!!!
      <!-- YOUR CODE END-->
    </div>
  </div>
</div>

3.) Now, add a new widget, choose php direct execution and give it whatever title you want and save it.

4.) Now click on "configure" for your new widget in the widgets menu. Delete any text in the main code field and change the template name to "vbcms_widget_execphp_custom".

5.) Add it to your layout and it should work now!

Advanced Note: For some reason I can't explain, you don't seem to need to preRegister the template you create while you're doing this which makes life easier. If anyone can tell me why that is I would be really interested to know! This isn't normally the case when you add templates.

wraggster 02-20-2011 10:37 PM

this is something similiar to what im after but i want to put an advert on the CMS thats only seeable by guests, so i create say a static html widget but how to show to guests only ?

Lynne 02-21-2011 12:45 AM

Create a custom template an use that template for the widget. You may put the condition around the template code and then it will only show to those users who meet the condition.

Or, create a php widget that has the condition around the widget code.

Either of those will work.


All times are GMT. The time now is 07:54 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.01019 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
  • (2)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