1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

Ребят, помогите создать аддончик

Тема в разделе "Для новичков", создана пользователем spy, 5 апр 2011.

Загрузка
  1. spy

    spy ИнквизитоР

    Регистрация:
    04.03.11
    Сообщения:
    373
    Симпатии:
    188
    Вот хочу создать в сайдбаре блок Погоды, примерно чтоб выглядел вот так тока на прозрачном фоне конечно:
    1.PNG

    У меня есть иконки и некоторые изходники: css, config, yahooweather.
    Вот коды:
    myopiaAlt.css
    Код:
    #WeatherContainer{
        /*color: #000000;*/
        /*color: rgba(31,31,31,0.8);*/
        text-shadow: #FFFFFF 0px 1px 0px;
        width: 320px;
    font-size:10px;
    }
    #TextContainer{
        font-family: sans-serif;
        color: #d1d1d1;
        text-shadow: #FFFFFF 0px 1px 0px;
        font-weight: normal;
        width: 320px;
        left:0;
        font-size:10px;
    }
    #city{
        position:absolute;
        top:162px;
        left:20px;
        color: #d1d1d1;
        text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.7);
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 18px;
        font-weight: bold;
    }
    #temp{
        position:absolute;
        top:176px;
        padding-right:20px;
        color: #d1d1d1;
        text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.7);
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 25px;
        font-weight: bold;
        text-align:right;
        width:300;
    }
    #desc{
        position:absolute;
        top:184px;
        left:20px;
        color: #d1d1d1;
        text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.7);
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 13px;
        font-weight: normal;
    }
    #forecastTable{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 11px;
        font-weight: bold;
        text-align:center;
        text-transform: uppercase;
        letter-spacing: 3px;
    }
    #hi{
        color: #d1d1d1;
        text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.7);
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 14px;
        font-weight: bold;
    
    }
    #lo{
        color: #d1d1d1;
        text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.7);
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 14px;
        font-weight: bold;
    }
    #Today{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #TodayHiLo{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day1{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day1HiLo{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day2{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day2HiLo{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day3{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day3HiLo{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day4{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }
    #Day4HiLo{
        color: #d1d1d1;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 0 0px 3px #000000;
        /*text-shadow: #FFFFFF 0px 1px 0px;*/
        font-size: 10px;
        font-weight: bold;
    }

    configureMe.js
    Код:
    // Use weather.com to find your weathercode
    // For example searching for London, UK will get you this URL
    // http://www.weather.com/weather/today/London+United+Kingdom+UKXX0085
    // The last part UKXX0085 is the weathercode to use
    var locale = "92337" //Zipcode, Postalcode, or Weathercode
    var isCelsius = false //true or false
    var useRealFeel = false
    var updateInterval = 15 //Minutes
    var showForecast = true
    
    // If you would rather use your own Lockscreen Background
    // set showBackground to true and overwrite the included
    // LockBackground.png file
    var showBackground = false
    
    var showWeatherAni = true
    yahooWeather.js
    Код:
    var MiniIcons =
    [
        "tstorm3",        //0    tornado
        "tstorm3",        //1    tropical storm
        "tstorm3",        //2    hurricane
        "tstorm3",        //3    severe thunderstorms
        "tstorm2",        //4    thunderstorms
        "sleet",        //5    mixed rain and snow
        "sleet",        //6    mixed rain and sleet
        "sleet",        //7    mixed snow and sleet
        "sleet",        //8    freezing drizzle
        "light_rain",        //9    drizzle
        "sleet",        //10    freezing rain
        "shower2",        //11    showers
        "shower2",        //12    showers
        "snow1",        //13    snow flurries
        "snow2",        //14    light snow showers
        "snow4",        //15    blowing snow
        "snow4",        //16    snow
        "hail",     //17    hail
        "sleet",        //18    sleet
        "mist",     //19    dust
        "fog",               //20    foggy
        "fog",               //21    haze
        "fog",               //22    smoky
        "cloudy1",        //23    blustery
        "cloudy1",        //24    windy
        "overcast",        //25    cold
        "cloudy1",        //26    cloudy
        "cloudy4_night",    //27    mostly cloudy (night)
        "cloudy4",        //28    mostly cloudy (day)
        "cloudy2_night",    //29    partly cloudy (night)
        "cloudy2",        //30    partly cloudy (day)
        "sunny_night",    //31    clear (night)
        "sunny",        //32    sunny
        "mist_night",        //33    fair (night)
        "mist",     //34    fair (day)
        "hail",     //35    mixed rain and hail
        "sunny",        //36    hot
        "tstorm1",        //37    isolated thunderstorms
        "tstorm2",        //38    scattered thunderstorms
        "tstorm2",        //39    scattered thunderstorms
        "tstorm2",        //40    scattered showers
        "snow5",        //41    heavy snow
        "snow3",        //42    scattered snow showers
        "snow5",        //43    heavy snow
        "cloudy1",        //44    Gedeeltelijk Bewolkt
        "storm1",        //45    thundershowers
        "snow2",        //46    snow showers
        "tstorm1",        //47    isolated thundershowers
        "dunno",        //3200    not available
    ]
    
    function constructError (string)
    {
        return {error:true, errorString:string};
    }
    
    function findChild (element, nodeName)
    {
        var child;
    
        for (child = element.firstChild; child != null; child = child.nextSibling)
        {
            if (child.nodeName == nodeName)
                return child;
        }
    
        return null;
    }
     
    function fetchWeatherData (callback, zip)
    {
        url="http://weather.yahooapis.com/forecastrss?u=f&p=" //u=Farenheit, because accuWeather sucks
    
        var xml_request = new XMLHttpRequest();
        xml_request.onload = function(e) {xml_loaded(e, xml_request, callback);}
        xml_request.overrideMimeType("text/xml");
        xml_request.open("GET", url+zip);
        xml_request.setRequestHeader("Cache-Control", "no-cache");
        xml_request.send(null);
    
        return xml_request;
    }
    
    function xml_loaded (event, request, callback)
    {
        if (request.responseXML)
        {
            var obj = {error:false, errorString:null};
            var effectiveRoot = findChild(findChild(request.responseXML, "rss"), "channel");
            obj.city = findChild(effectiveRoot, "yweather:location").getAttribute("city");
            obj.realFeel = findChild(effectiveRoot, "yweather:wind").getAttribute("chill");//Only accounts for windChill
    
            conditionTag = findChild(findChild(effectiveRoot, "item"), "yweather:condition");
            obj.temp = conditionTag.getAttribute("temp");
            obj.icon = conditionTag.getAttribute("code");
            obj.description = conditionTag.getAttribute("text");
            callback (obj);
        }else{
            callback ({error:true, errorString:"XML request failed. no responseXML"});
        }
    }
     
    function validateWeatherLocation (location, callback)
    {
        var obj = {error:false, errorString:null, cities: new Array};
        obj.cities[0] = {zip: location}; //Not very clever, are we?
        callback (obj);
    }
    Вот собственно вопрос: с чего начать, и что для этого нужно? Дайте какие советы или поучите нуба:)
     
  2. Lex

    Lex Dura Lex

    Регистрация:
    27.11.10
    Сообщения:
    804
    Симпатии:
    153
    Версия XF:
    1.5.1
    Для этого нужен телефон на платформе Андроид ;)
     
  3. Pepelac

    Pepelac Продам луц в бутылках Команда форума

    Регистрация:
    28.09.10
    Сообщения:
    1.794
    Симпатии:
    1.349
    С чего бы это??
     
  4. Lex

    Lex Dura Lex

    Регистрация:
    27.11.10
    Сообщения:
    804
    Симпатии:
    153
    Версия XF:
    1.5.1
    Это была шутка, мне кажется это погодный виджет андроидовский, у меня такой на телефоне, а его что можно прикрутить к форуму? Было бы забавно.
     
  5. Pepelac

    Pepelac Продам луц в бутылках Команда форума

    Регистрация:
    28.09.10
    Сообщения:
    1.794
    Симпатии:
    1.349
    Прикрутить можно. Надо просто сделать шаблон, копирующий стурктуру того, что выше на картинке. Погоду таскать можно и с яху, и с weather.com, и с яндекса...
     
    Lex нравится это.
  6. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.577
    Симпатии:
    1.614
    Версия XF:
    1.5.10
    На фрилансере много кто заказывал парсер погоды яндекса, можете обратиться к ним, вдруг продадут вам этот хак. Или прямо к разработчику, чтобы подогнал под ваши нужды.
     
    Lex нравится это.
  7. spy

    spy ИнквизитоР

    Регистрация:
    04.03.11
    Сообщения:
    373
    Симпатии:
    188
    Pepelac, можете написать небольшой нануальчик, инструкцию с чего начать и чо почем, есле незадруднит пожалст. + буду гуглить:)
     
  8. Pepelac

    Pepelac Продам луц в бутылках Команда форума

    Регистрация:
    28.09.10
    Сообщения:
    1.794
    Симпатии:
    1.349

Поделиться этой страницей