PDA

View Full Version : Limit a widget to certain style?


K4GAP
07-23-2014, 05:42 PM
How can I limit a cms widget to a particular style?

The problem is I have only one light style and I design any widgets for the dark styles as there are more of them. I know I should stick with one style but I just can't choose .... they are all my babies :)

Zachery
07-23-2014, 05:50 PM
Why not just fix the widget in the style?

tbworld
07-23-2014, 07:14 PM
How can I limit a cms widget to a particular style?

The problem is I have only one light style and I design any widgets for the dark styles as there are more of them. I know I should stick with one style but I just can't choose .... they are all my babies :)

So what you are looking for is to prohibit the loading of a widget in a particular style?

--------------- Added 23 Jul 2014 at 14:33 ---------------

A simple method, if you just have a few widgets to modify, is to surround the widget with a style ID conditional.


<!-- Do not display the current style if the current style is ID "6" -->
<vb:if condition="STYLEID != 6">

<!-- Widget Template Internals -->

</vb:if>


Unfortunately, this method does not save you any resources on the server side.

K4GAP
07-23-2014, 09:14 PM
Why not just fix the widget in the style?

On my dark styles I have one widget that has light background. If I make it dark like the others then it will not look as I want it to on the light style. It's only one particular widget that can not have the background set as #transp so I want to exclude it from showing on the dark styles ..... make sense?

ozzy47
07-23-2014, 09:58 PM
What type of widget is it?

K4GAP
07-23-2014, 11:19 PM
What type of widget is it?

It's a Teamspeak monitor from GameTracker (http://www.gametracker.com/).

ozzy47
07-23-2014, 11:26 PM
That's not quite what I ment, is it a PHP or a HTML type?

K4GAP
07-23-2014, 11:44 PM
That's not quite what I ment, is it a PHP or a HTML type?


It's html.

TheLastSuperman
07-23-2014, 11:53 PM
On my dark styles I have one widget that has light background. If I make it dark like the others then it will not look as I want it to on the light style. It's only one particular widget that can not have the background set as #transp so I want to exclude it from showing on the dark styles ..... make sense?

What type of widget is it?

It's a Teamspeak monitor from GameTracker (http://www.gametracker.com/).

Then edit the code :D

Here's one I edited to make the background dark:

<iframe src="http://cache.www.gametracker.com/components/html0/?host=12.34.567.891:1234&bgColor=000000&fontColor=F5F5F5&titleBgColor=000000&titleColor=FFFFFF&borderColor=000000&linkColor=00CCFF&borderLinkColor=00CCFF&showMap=0&currentPlayersHeight=160&showCurrPlayers=1&showTopPlayers=0&showBlogs=0&width=240" frameborder="0" scrolling="no" width="240" height="348"></iframe>

Just change the FFFFFF and 000000 and others to the colors you want it to be erm wait nevermind because then its a global change... hmm... ok then we'll just use my method here (https://vborg.vbsupport.ru/showthread.php?t=307739) to do this - If you will post your code like mine above AND what colors you want it to be in the dark style I'll whip something up for you... it might be that same method or it might simply call a new custom block template (one work around that comes to mind currently).

K4GAP
07-24-2014, 12:01 AM
Then edit the code :D

Here's one I edited to make the background dark:

<iframe src="http://cache.www.gametracker.com/components/html0/?host=12.34.567.891:1234&bgColor=000000&fontColor=F5F5F5&titleBgColor=000000&titleColor=FFFFFF&borderColor=000000&linkColor=00CCFF&borderLinkColor=00CCFF&showMap=0&currentPlayersHeight=160&showCurrPlayers=1&showTopPlayers=0&showBlogs=0&width=240" frameborder="0" scrolling="no" width="240" height="348"></iframe>Just change the FFFFFF and 000000 and others to the colors you want it to be erm wait nevermind because then its a global change... hmm... ok then we'll just use my method here (https://vborg.vbsupport.ru/showthread.php?t=307739) to do this - If you will post your code like mine above AND what colors you want it to be in the dark style I'll whip something up for you... it might be that same method or it might simply call a new custom block template (one work around that comes to mind currently).

This is the code that displays the way I want it to on the light style. I need it to match the dark styles when displayed there. But still be light on the light style".


<center><iframe src="http://cache.www.gametracker.com/components/html0/?host=216.52.148.11:24240&bgColor=CCCCCC&fontColor=000000&titleBgColor=CCCCCC&titleColor=FF2B00&borderColor=F5F4F4&linkColor=493C08&borderLinkColor=4D4B4B&showMap=0&currentPlayersHeight=200&showCurrPlayers=1&showTopPlayers=0&showBlogs=0&width=270" frameborder="0" scrolling="no" width="270" height="388"></iframe></center>

--------------- Added 1406163954 at 1406163954 ---------------

While I'm thinking about it, if I could just exclude the widget from the dark styles that would be good too.

Zachery
07-24-2014, 03:05 AM
Just assign a class to it, in the dark styles, have the class be a dark background, in the light styles, a light background, this is html/css 100.

TheLastSuperman
07-24-2014, 05:35 PM
This is the code that displays the way I want it to on the light style. I need it to match the dark styles when displayed there. But still be light on the light style".


<center><iframe src="http://cache.www.gametracker.com/components/html0/?host=216.52.148.11:24240&bgColor=CCCCCC&fontColor=000000&titleBgColor=CCCCCC&titleColor=FF2B00&borderColor=F5F4F4&linkColor=493C08&borderLinkColor=4D4B4B&showMap=0&currentPlayersHeight=200&showCurrPlayers=1&showTopPlayers=0&showBlogs=0&width=270" frameborder="0" scrolling="no" width="270" height="388"></iframe></center>

--------------- Added 1406163954 at 1406163954 ---------------

While I'm thinking about it, if I could just exclude the widget from the dark styles that would be good too.

K so we simply make a new template in your style:

Template name: vbcms_widget_static_page_ts

Template contents:

<div class="teamspeakwidget">
<div class="cms_widget">
<div class="block">
<div class="cms_widget_header">
<h3><img src="{vb:stylevar imgdir_siteicons}/html.png" alt="" /> {vb:raw widget_title}</h3>
</div>
<div class="cms_widget_content widget_content">
{vb:raw static_html}
</div>
</div>
</div>
</div>

Now in additional.css add:

.teampseakwidget {
/* Do nothing but retain class */
}

^ So no errors in css i.e. no missing definitions and in template manager best to insert somehting even if commented out using /* commented out */ etc.

Now create a new plugin:
AdminCP > Plugins & Products > Add New Plugin

Product: vBulletin
Hook location: parse_templates
Title: Hide Teamspeak Widget per style
Execution Order: 5
if (STYLEID == 99) {
$hidetswidget = '<style type="text/css">
.teamspeakwidget {
display:none !important;
}
</style>';
$template_hook[headinclude_bottom_css] .= $hidetswidget;
}

*Change 99 to the styleid # you want this to NOT show in and the css shown in the plugin code will kick in and hide it in styleid 99.

Now go back to the widgets in admincp, on your teamspeak widget change the template name being used to vbcms_widget_static_page_ts and save, now the widget should use this template and it will show in all styles except the one you excluded within the plugin.

K4GAP
07-24-2014, 10:50 PM
Thanks for all this ....
I did this 3 times and double checked your instructions.
This removes the Teamspeak widget in all styles. I made sure to change the 99 to the style id I did NOT want this widget to show on.

I'm in no hurry whatsoever so don't sweat it. It all looks as if it should work, but it just don't :(

BTW, I gave your status back in case you want to check it out for yourself. The info is in that pm I sent you the other day.

K4GAP
07-26-2014, 10:16 AM
UPDATE:

I've come up with a happy median for both light and dark styles.
---------------------------------------------------------------

Been sitting here having a cup of coffee and thinking about .....................

I'm done with having multiple styles. I'm going with the Avenger style.

tbworld
07-26-2014, 06:10 PM
Yep, just one more thing to maintain. :)

K4GAP
07-26-2014, 10:50 PM
Yep, just one more thing to maintain. :)

It's time now to actually start focusing on content and seo. Although that is not a priority for someone like myself that does this as a hobby.

I'll keep the other styles just not viewable by guests.