PDA

View Full Version : How To Use Template Conditionals in Widgets


JoshuaWriter
08-16-2010, 05:50 AM
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
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
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:


<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.