Помощь [help] Вывод погоды помогите дописать

Тема в разделе "DLE", создана пользователем guma, 6 янв 2008.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. guma

    guma Прохожие

    Привет! Помогите дописать модуль... суть его отоброжения на главной информации о погоде одного города типа
    Минеральные воды
    Сегодня −20
    Ясно [​IMG]


    Значит что я зделал в папку modules положил файл с weather.php сам код вот
    PHP:
    <? 
    if(!
    defined('DATALIFEENGINE'))
    {
      die(
    "Hacking attempt!");
    }
      
    $tpl->load_template('weather.tpl');
    function 
    GetXMLTag($str,$tagname

        
    preg_match("/\<".$tagname."\>([^\<]*)\<\/".$tagname."\>/",$str,$r); 
        return 
    $r[1]; 

    $s=file_get_contents('http://export.yandex.ru/weather/?city=37054'); 
    echo 
    "Сегодня"."&nbsp";"&nbsp";"&nbsp";
    print 
    GetXMLTag($s,'temperature')."<br>";
    print 
    GetXMLTag($s,'weather_type')."&nbsp";"&nbsp";"&nbsp"
    $xmlfile_get_contents ('http://export.yandex.ru/weather/?city=37054');
    $start=strpos($xml,'<image>');
    $end=strpos($xml,'</image>');
    $start=$start+7;
    $image=substr($xml,$start,$end-$start);
    echo 
    "<img src=".$image.">";
      
         
    $tpl->set('{weather}'$weather); 
      
    $tpl->compile('weather');
      
    $tpl->clear();
    ?> 
    далее в index.php дописал строку
    $tpl->set('{weather}', $tpl->result['weather']);
    потом в init.php
    include_once ENGINE_DIR.'/modules/weather'.php'; в самом конде.
    в самой теме поставил тег {weather}
    и в папку стемой положил weather.tpl c кодом
    HTML:
    <html>
    <body>
    {weather}
    </body>
    </html>
    Результат не удачный выводиться на вверху сайта тоесть над шапкой и с непонятной кодировкой...
    Помогите плиз
     
  2. salo2007

    salo2007 Постоялец

    Регистр.:
    17 ноя 2007
    Сообщения:
    64
    Симпатии:
    10
    Ну насчет вывода наверху под шапкой..... скажу так.. где ты поставил тег, там у тя блок и выводится.... по другому просто не может быть....
    А по поводу кодировки.. открой какой нить мод и посмотри, как это реализовано там... тоесть что нада дописать и куда, что бы этой проблемы небыло.. благо примеров куча))
     
  3. h0ttab[sun]

    h0ttab[sun]

    Регистр.:
    30 авг 2007
    Сообщения:
    319
    Симпатии:
    43
    Маладой человек %)..
    Увас ошыбка Прминять echo и т.д. В Дле не выйдет.
    Замени echo на $weather .=(ваш код с перемепными)
    _______________________________________________
    Когда писал свой мод по грабингу с погодой столкнулся с этой проблемой %)
     
  4. guma

    guma Прохожие

    что то я не понял просто где у меня echo тупо поменять на $weather .= ?
     
  5. NaJOrT

    NaJOrT Постоялец

    Регистр.:
    30 мар 2006
    Сообщения:
    130
    Симпатии:
    13
    Есть готовый вариант с подробной инструкцией? Тоже хочется.
     
  6. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Код:
    
    <? 
    if(!defined('DATALIFEENGINE')) {
    die("Hacking attempt!");
    }
    //Nastroika goroda
    $gorod = '37054';
    
    //Dalshe ne pravit
    function GetXMLTag($str,$tagname) { 
    preg_match("/\<".$tagname."\>([^\<]*)\<\/".$tagname."\>/",$str,$r); 
    return $r[1]; 
    } 
    
    $s=file_get_contents('http://export.yandex.ru/weather/?city=',$gorod); 
    $fm_orai = "Сегодня &nbsp";
    $fm_orai .= GetXMLTag($s,'temperature')."<br>";
    $fm_orai .=  GetXMLTag($s,'weather_type')."&nbsp";
    $fm_img = GetXMLTag($s, 'image');
    $fm_orai .= "<img src=".$fm_img.">";
    
    $tpl->load_template('weather.tpl');
      $tpl->set('{weather}', $fm_orai); 
      $tpl->compile('weather');
      $tpl->clear();
    
    //Pabaiga 
    ?>
    
    
    templait dolzen prosto byt
    Код:
    <BR>{weather}<br>
    tagze mozno dopisat i prostoje kesyrovanije - ctoby ne muciat bednyi yandex server pri kazdom zahode
    (v sluciaje cto ja pravil bylo 2 zahoda, teper vsego 1 ;] )

    Ter mozete proveriat ili pashet ;]
     
  7. GauraStyle

    GauraStyle Kot

    Регистр.:
    13 фев 2007
    Сообщения:
    1.492
    Симпатии:
    916
    Есть естественно, юзай поиск и устанавливай. Первое, сначала один модуль, который работает до версии 6.0 затем второй, который до той же версии работает. Потом эксперементы проводиш с шаблоном, пишеш ему границы, указываеш место и говориш сказочное слово, чтобы то что ты написал заработало и вывелось там где ты загадал.
    ;)
     
  8. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    Nu pashet ne pashet?
     
  9. PoMaH

    PoMaH

    Регистр.:
    8 июн 2006
    Сообщения:
    753
    Симпатии:
    142
    NaJOrT
    Код:
    Привет Роман!
    Может быть и работает твой граббер погоды, но я не могу разобраться, как его поставить, не мог ли ты по пунктам расписать, что как сделать
    V pervom poste v polne normalno opisanno

    1) kidajesh modul v engine/modules/fm_pogoda.php (sozdajosh fail, tuda text cto ja pisal)
    2) delajesh v templates/ tvoi diz/ weather.tpl (s prostym shablonom i slovami {weather} )
    3) v index.php dopisyvajesh PERED load template main.tpl ili v engine/init.php v konce sledusiuje
    Код:
     
    require_once ENGINE_DIR.'/modules/fm_pogoda.php'; 
    
    
    4) v index.php POSLE load template main.tpl dopisyvajesh
    Код:
      $tpl->set('{weather}', $tpl->result['weather'])
    
    
    5) v main.tpl dopisyvajesh v nuznoje mesto {weather}

    Vot i vsio...

    vrode dolzno pohat`, cache moznob bylob konecno i prikrutit ;]
    no jesli sait malenkij to nicio strashnogo
     
    NaJOrT нравится это.
  10. guma

    guma Прохожие

    вот спасибо, за помошь! Долго я его мучил это парсер а тут все заработало ))))
     
Статус темы:
Закрыта.