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 07-17-2012 08:32 PM

Think my weather widget is broken. All it has done is show rain since the beginning of June :(

migratoria 07-21-2012 11:26 AM

I inserted the code in the block, created the custom field and the number assigned in the field code. On vbulletin 4.2 shows always newyork is normal?

Gemma 07-21-2012 06:52 PM

Quote:

Originally Posted by migratoria (Post 2350105)
I inserted the code in the block, created the custom field and the number assigned in the field code. On vbulletin 4.2 shows always newyork is normal?

Did you enter your weather code that correspondes to your area from the YoWindow website into your profile?

grey_goose 07-22-2012 08:50 PM

Very nice, installed, along with a moon phase widget below.

Gemma 08-30-2012 08:08 AM

The template code has been updated slightly, to update find:
Code:

<a href="http://yowindow.com?client=widget&amp;link=stub"
        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%;"
        >Desktop weather</a>

Replace it with:
Code:

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


Gemma 12-28-2012 09:14 PM

1 Attachment(s)
Here is an alternative method of displaying the widget. In this one it should display your weather according to your IP and also give you the option to view other locations.

To use this method, create a new template called block_weather and copy the following code:
Code:

<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">
<!-- Location Chooser component -->
    <script type="text/javascript" src="http://js.yowindow.com/js/yolc.js"></script>
<!-- YoWindow widget component -->
    <script type="text/javascript" src="http://js.yowindow.com/js/yowidget.js"></script>   
    <script language="JavaScript">
 
//To track if commands can be sent to YoWidget
        window.isYoWidgetReady = false;
 
        function onLoad() {
            installLocationChooser();
            installYoWidget();
        }
 
        function installLocationChooser() {
            var place = document.getElementById('location_chooser_place');
//Create YoLocationChooser and keep it as a variable of HTML window
            this.locationChooser = new YoLocationChooser(place);
 
//Subscribe to onLocationChange event
            this.locationChooser.onLocationChange = onLocationChange;
 
/**
lc.open(); - let the user to choose the location, starting on country-level
lc.open("#auto"); - detect location by IP and open it
lc.open("United Kingdom/Stirling"); - open London
*/
            this.locationChooser.open("#auto");
        }
 
/**
Event of YoLocationChooser
It is called every time the location changes.
When location was deselected - node is null
node format
node = {
    @id, // GeoNames id
    @name, // Name from the Geonames data-base
    @p // Population
}
 
Here we reflect selected location in the widget.
*/
        function onLocationChange(node) {
//Do not do anything if location was deselected (node is null).
            if (!node) {
                return;
            }
            var locationId = node['@id'];
 
//You can call yowidget methods only after it gets ready to intercept commands
            var yowidget = document.getElementById('yowidget');
            if (!window.isYoWidgetReady) {
                return;
            }
//Select location in YoWindow widget
            yowidget.setLocationId(locationId);
        }
 
/**
Creates YoWindow widget and adds it to the place-holder "yowidget_place"
*/
        function installYoWidget() {
 
/**
flashvars parameters
See http://yowindow.com/widget_parameters.php
 
I have put some examples in the code, uncomment to see them in effect
*/
            var flashvars = {
                location_id: "auto"
//              landscape: "seaside",
//              background: "#FFFFFF",
//              lang: "de",
//              unit_system: "metric",
//              time_format: "24"
            };
 
/**
Flash parameters
*/
            var params = {
                quality: "high",
                bgcolor: "#FFFFFF",
                allowscriptaccess: "always",
                allowfullscreen: "true",
                wmode: "opaque"
            };
 
            var attributes = {
//Optionally control the color of the copyright text
//              copyright_color: "#0000FF",
//              copyright_link_color: "#FF0000",
 
//id and name of YoWindow widget in HTML DOM
                id: "yowidget",
                name: "yowidget"
            };
 
            YoWidget.embed(
                "yowidget_place", //place-holder id
                240, //width
                150, //height
                flashvars,
                params,
                attributes
            );
        }
 
//This function is called by YoWidget SWF when it is ready for commands
        function yowidget_onReady() {
            window.isYoWidgetReady = true;
            var yowidget = document.getElementById('yowidget');
//Display location selected in Chooser if any
            var node = this.locationChooser.selectedLocation;
            if (node) {
                var locationId = node['@id'];
                yowidget.setLocationId(locationId);
            }
        }
 
    </script>

 
<body onLoad="onLoad();">
 
    <div>
        <span id="yowidget_place" style="display:inline-block;">
        </span>

 <span id="location_chooser_place" style="display:inline-block; width:240px; vertical-align:top;">
        </span>
    </div><br/>
<div><center><b>Click the image for expanded forecast.</b></center></div>

 
        </div>
        </div>
    </div>
    <div class="underblock"></div>
</li>

Now add a new forum block. AdminCP > Forums & Moderators > Forum Blocks Manager > Add Block > Custom HTML/PHP

Title: Weather Forecast
Description: Whatever
Cache Time: You Decide
Display Order: Up to you
Content Type: HTML
Content: <div></div>
Template To Use: block_weather

Save. Purge cache.

You should be able to add this to your CMS or MEMBERINFO (profile) template by substituting the block_weather code into the relevant template.

CoZmicShReddeR 12-29-2012 08:40 PM

Excellent work on this mod am wondering why it keeps defaulting to Temperature: °C??
Is there something I need to edit for it to either ask or default it to Temperature: °F?

I am using the IP auto version which I think is really neat!

thermax04 12-29-2012 09:00 PM

1 Attachment(s)
Quote:

Originally Posted by Gemma (Post 2393278)
Here is an alternative method of displaying the widget. In this one it should display your weather according to your IP and also give you the option to view other locations.


You should be able to add this to your CMS or MEMBERINFO (profile) template by substituting the block_weather code into the relevant template.

Dear Gemma,
Thank you for your method, it is working , but with some problems for me:

How to create a new template called block_weather?

in pic 1:
what is this box (with ? in my pic)
how to change from F to Celsius degrees? although I have this in the code : unit_system: "metric"

in pic 2:
I have these blocks, but when i activate the weather block, it pushes these blocks to the bottom of the forum screen and with full size of the screen as in pic 3!!

Gemma 12-29-2012 09:24 PM

Quote:

Originally Posted by CoZmicShReddeR (Post 2393464)
Excellent work on this mod am wondering why it keeps defaulting to Temperature: ?C??
Is there something I need to edit for it to either ask or default it to Temperature: ?F?

I am using the IP auto version which I think is really neat!

I thought by being set to auto it would change automatically depending on IP. Obviously not :(

Find:
Code:

            var flashvars = {
                location_id: "auto"
//              landscape: "seaside",
//              background: "#FFFFFF",
//              lang: "de",
//              unit_system: "metric",
//              time_format: "24"
            };

Change it to:
Code:

            var flashvars = {
//              location_id: "auto"
//              landscape: "seaside",
//              background: "#FFFFFF",
//              lang: "de",
                unit_system: "us",
//              time_format: "24"
            };


Gemma 12-29-2012 09:53 PM

Quote:

Originally Posted by thermax04 (Post 2393469)
Dear Gemma,
Thank you for your method, it is working , but with some problems for me:

in pic 1:
what is this box (with ? in my pic)
how to change from F to Celsius degrees? although I have this in the code : unit_system: "metric"

in pic 2:
I have these blocks, but when i activate the weather block, it pushes these blocks to the bottom of the forum screen and with full size of the screen as in pic 3!!

Find:
Code:

var flashvars = {
                location_id: "auto"
//              landscape: "seaside",
//              background: "#FFFFFF",
//              lang: "de",
//              unit_system: "metric",
//              time_format: "24"
            };

Change it to:
Code:

            var flashvars = {
//              location_id: "auto"
//              landscape: "airport",
//              background: "#FFFFFF",
//              lang: "de",
                unit_system: "us",
                u_temperature: "c",
//              time_format: "24"
            };

For the second problem, can you post me the contents of your block_html template so I can look at the code


All times are GMT. The time now is 11:11 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.01250 seconds
  • Memory Usage 1,789KB
  • 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
  • (7)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)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