vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=246)
-   -   vBulletin CMS Widgets - YoWindow Weather Widget (https://vborg.vbsupport.ru/showthread.php?t=265918)

Gemma 06-27-2011 10:00 PM

YoWindow Weather Widget
 
1 Attachment(s)
What is it?
A simple template modification to bring the YoWindow Weather Widget to vB4

Quote:

Originally Posted by YoWindow Website
YoWindow weather widget works like your window - a landscape reflects the weather. You see weather picture, not just numbers. The widget designed to work on any website including Blogger, Wordpress and MySpace. Click the widget to enter full screen mode.

1. Firstly, you need to set up a new Profile Field. Choose Single-Line Text Box

Title: Weather Location Code
Description: (Whatever you want - here's what I use because the process might confuse some users)
Quote:

If you want to display the weather for your region/location on our index page - go to <a href="http://yowindow.com/weatherwidget.php">YoWindow Weather Widget</a> and fill in the details and generate your code. You now need the number that appears like the hightlight red text <b>location_id=gn:<i><font color="red">1234567</i></font>& - add that number in this box.
Required Field: No, but display at registration
Field Editable by User: Yes
Private Field: Yes
Field Searchable on Members List: No
Show on Members List: No
Display Page: Edit Profile

Take note of the newly created profile field number.

2. Next you need to create a new template. Go to AdminCP > Styles & Templates > Style Manager > Add New Template

Title: block_weather

Code:

<center><li>
    <div class="block smaller">
        <div class="blocksubhead">
            <a class="collapse" id="collapse_block_html_{vb:raw blockinfo.blockid}" href="{vb:raw relpath}#top"><img alt="" src="{vb:stylevar imgdir_button}/collapse_40b.png" id="collapseimg_html_{vb:raw blockinfo.blockid}"/></a>
            <span class="blocktitle">{vb:raw blockinfo.title}</span>
        </div>
        <div class="widget_content blockbody floatcontainer">
        <div id="block_html_{vb:raw blockinfo.blockid}" class="blockrow">
<vb:if condition="$bbuserinfo[fieldXX] !=''">
            <div style="width:230px; height:150px;">
    <object type="application/x-shockwave-flash" data="http://swf.yowindow.com/yowidget3.swf" width="220" height="150">
        <param name="movie" value="http://swf.yowindow.com/yowidget3.swf"/>
        <param name="allowfullscreen" value="true"/>
        <param name="wmode" value="opaque"/>
        <param name="bgcolor" value="#FFFFFF"/>
        <param name="flashvars"
        value="location_id=gn:{vb:raw bbuserinfo.fieldXX}&amp;time_format=24&amp;us=metric&amp;background=#FFFFFF&amp;mini_locationBar=false&amp;copyright_bar=false"
    />
        <a href="http://yowindow.com/weatherwidget.php"
        style="width:220px;height:150px;display: block;text-indent: -50000px;font-size: 0px;background:#DDF url(http://yowindow.com/img/logo.png) no-repeat scroll 50% 50%;"
        >HTML weather</a>
    </object>
</div>
<div style="width: 220px; height: 15px; font-size: 14px; font-family: Arial,Helvetica,sans-serif;">
    <span style="float:left;"><a target="_top" href="http://yowindow.com?client=widget&amp;link=copyright" style="color: #2fa900; text-decoration:none;" title="Desktop weather">YoWindow.com</a></span>
    <span style="float:right; color:#888888;"><a href="http://yr.no" style="color: #2fa900; text-decoration:none;">yr.no</a></span>
</div>
<vb:else />
<br/><b>Add your <a href="{vb:raw vboptions.bburl}/profile.php?do=editprofile">Weather Location Code</A> to show your weather forecast in this block. <br/></b>  </vb:if>
        </div>
        </div>
    </div>
    <div class="underblock"></div>
</li></center>

Replace the XX (2 times) with the number of the profile field you created earlier.

3. Go to AdminCP > Forums & Moderators > Forum Blocks Manager > Add Block

Title: Weather Forecast
Content Type: HTML
Content: <div></div>
Template To Use: block_weather

Now, this part may prove tricky for some going by what I've seen in other weather widget modifications so I'll try and make it simple and add a few pictures, this process is also required to be done by your members to display their local forecast.

Go to http://yowindow.com/weatherwidget.php and fill in your details and generate the code. The only part of the code you need is the number after id=gn: and before &amp;. Take note of that number and go to Edit Profile on your site, scroll down to the newly made Weather Code Location and blurb box and enter the number. Save your profile. Go back to your forum home and the new block should display with your weather details for the next 5 days. Click on the scenery image and it will expand to full-screen and give a more detailed outlook.

How To Add Location Scenery (village, seaside, airport or oriental)
To Your Weather Widget - https://vborg.vbsupport.ru/showpost....1&postcount=24

How To Add Weather Widget To Member Profiles
- https://vborg.vbsupport.ru/showpost....4&postcount=18

Added: 28.12.2012 An alternative version that uses IP location to display the weather rather than creating and entering data into a profile field can be found here - https://vborg.vbsupport.ru/showpost....8&postcount=36. It also allows the user to display weather forecasts from many other locations via dropdown menus.

If anyone wants to further develop any of my addons, you are free to do so.

Gemma 06-28-2011 11:39 AM

To make a CMS widget

1. Go to AdminCP > Styles & Templates > Style Manager > Add New Template

Title: vbcms_widget_weather

Code:

<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_restore_widget_content">
        <center>
<vb:if condition="$bbuserinfo[fieldXX] !=''">
            <div style="width:230px; height:150px;">
    <object type="application/x-shockwave-flash" data="http://swf.yowindow.com/yowidget3.swf" width="220" height="150">
        <param name="movie" value="http://swf.yowindow.com/yowidget3.swf"/>
        <param name="allowfullscreen" value="true"/>
        <param name="wmode" value="opaque"/>
        <param name="bgcolor" value="#FFFFFF"/>
        <param name="flashvars"
        value="location_id=gn:{vb:raw bbuserinfo.fieldXX}&amp;time_format=24&amp;us=metric&amp;background=#FFFFFF&amp;mini_locationBar=false&amp;copyright_bar=false"
    />
        <a href="http://yowindow.com/weatherwidget.php"
        style="width:220px;height:150px;display: block;text-indent: -50000px;font-size: 0px;background:#DDF url(http://yowindow.com/img/logo.png) no-repeat scroll 50% 50%;"
        >HTML weather</a>
    </object>
</div>
<div style="width: 220px; height: 15px; font-size: 14px; font-family: Arial,Helvetica,sans-serif;">
    <span style="float:left;"><a target="_top" href="http://yowindow.com?client=widget&amp;link=copyright" style="color: #2fa900; text-decoration:none;" title="Desktop weather">YoWindow.com</a></span>
    <span style="float:right; color:#888888;"><a href="http://yr.no" style="color: #2fa900; text-decoration:none;">yr.no</a></span>
</div>
<vb:else />
<br/><b>Add your <a href="{vb:raw vboptions.bburl}/profile.php?do=editprofile">Weather Location Code</A> to show your weather forecast in this block. <br/></b>  </vb:if>
        </div>
</center>
            </div>
</div>

Again replacing the XX with the number of your profile field. Save the template.

2. Go to AdminCP > vBulletin CMS > Widgets > Create New Widget

Type: Static HTML
Title: Weather Forecast

Save

3. Configure the newly created widget

Enter Static HTML: <div></div>
Template Name: vbcms_widget_weather

Save

4. Go to AdminCP > vBulletin CMS > Layout Manager and place the weather widget where you want it to appear on your CMS grid.

Taurus1 06-28-2011 01:58 PM

That is so cool! Thank you very much!

Gemma 06-28-2011 04:25 PM

Quote:

Originally Posted by Taurus1 (Post 2214084)
That is so cool! Thank you very much!

It is quite configurable too if you want to change the size, units, time, scenery image etc - just match up your new settings (embedded code) to the code I've given and remember to re-add the <vb:if condition="$bbuserinfo[fieldXX] !=''"> and {vb:raw bbuserinfo.fieldXX} bits. :)

zelnik 06-29-2011 09:47 AM

Look great Gemma!!

Just to confirm what happens if there is no weather set in your profile field? what does it default to?

Gemma 06-29-2011 10:16 AM

Quote:

Originally Posted by zelnik (Post 2214436)
Look great Gemma!!

Just to confirm what happens if there is no weather set in your profile field? what does it default to?

If you haven't entered anything in the profile field or are a guest you will see whatever you edit this part of the template to say/display

Code:

<vb:else />
<br/><b>Add your <a href="{vb:raw vboptions.bburl}/profile.php?do=editprofile">Weather Location Code</A> to show your weather forecast in this block. <br/></b>  </vb:if>
        </div>

Or to make it not display at all replace the block_weather template with this

Code:

<vb:if condition="$bbuserinfo[fieldXX]">
<center><li>
    <div class="block smaller">
        <div class="blocksubhead">
            <a class="collapse" id="collapse_block_html_{vb:raw blockinfo.blockid}" href="{vb:raw relpath}#top"><img alt="" src="{vb:stylevar imgdir_button}/collapse_40b.png" id="collapseimg_html_{vb:raw blockinfo.blockid}"/></a>
            <span class="blocktitle">{vb:raw blockinfo.title}</span>
        </div>
        <div class="widget_content blockbody floatcontainer">
        <div id="block_html_{vb:raw blockinfo.blockid}" class="blockrow">
            <div style="width:230px; height:150px;">
    <object type="application/x-shockwave-flash" data="http://swf.yowindow.com/yowidget3.swf" width="220" height="150">
        <param name="movie" value="http://swf.yowindow.com/yowidget3.swf"/>
        <param name="allowfullscreen" value="true"/>
        <param name="wmode" value="opaque"/>
        <param name="bgcolor" value="#FFFFFF"/>
        <param name="flashvars"
        value="location_id=gn:{vb:raw bbuserinfo.fieldXX}&amp;time_format=24&amp;us=metric&amp;background=#FFFFFF&amp;mini_locationBar=false&amp;copyright_bar=false"
    />
        <a href="http://yowindow.com/weatherwidget.php"
        style="width:220px;height:150px;display: block;text-indent: -50000px;font-size: 0px;background:#DDF url(http://yowindow.com/img/logo.png) no-repeat scroll 50% 50%;"
        >HTML weather</a>
    </object>
</div>
<div style="width: 220px; height: 15px; font-size: 14px; font-family: Arial,Helvetica,sans-serif;">
    <span style="float:left;"><a target="_top" href="http://yowindow.com?client=widget&amp;link=copyright" style="color: #2fa900; text-decoration:none;" title="Desktop weather">YoWindow.com</a></span>
    <span style="float:right; color:#888888;"><a href="http://yr.no" style="color: #2fa900; text-decoration:none;">yr.no</a></span>
</div>

        </div>
        </div>
    </div>
    <div class="underblock"></div>
</li></center></vb:if>


zelnik 06-29-2011 10:21 AM

Ah thanks, just trying it out now...

Looks great, shame the list is not very comprehensive for Spain, no Balearic islands and so on, hopefully they will add some :)

Gemma 06-29-2011 07:19 PM

I've made a small edit to the block_weather code. I didn't realise I had left a part of my own location in the code and I've also set the miniLocation_bar to false.

To update just replace the block_template code

zelnik 06-30-2011 01:03 PM

Hey Gemma,

Do you know how difficult it would be to add this to a 'weather' tab on a usersprofile instead of a sidebar block? Only thinking as then you don't have an empty block for those who do not want to use it or slowing down loading speeds every time the page is loaded?

Gemma 06-30-2011 01:09 PM

I'll have a look and get back to you about the tab :)

But if you don't want it to show to those who don't enter anything in the profile field replace the block_template code with the code in this post


All times are GMT. The time now is 10:12 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.01188 seconds
  • Memory Usage 1,796KB
  • 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
  • (4)bbcode_code_printable
  • (4)bbcode_quote_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