Начальный шаблон - но требует доработки:
	PHP код:
	
		
			
<?php
//Скрипт парсинга погоды
//http://informer.gismeteo.ru/getcode/xml.php
//require_once(PATH_tslib.'class.tslib_pibase.php');
class userBlock_weather /* extends tslib_pibase */{
 
    function output() {
    
        //Если данные о погоде не доступны выводим ошибку
        if (file_get_contents ("http://informer.gismeteo.ru/getcode/xml.php") == false)
        return "Данные прогноза погоды не доступны!";
    
        
            //Шаг 1. Данные
            
                $arList [0] = array ('title' => 'Москва', 'weather_code' => '27612_1',  'xml' =>  file_get_contents ("http://informer.gismeteo.ru/xml/27612_1.xml")   ); //Москва
                $arList [1] = array ('title' => 'Санкт-Петербург', 'weather_code' => '26063_1',  'xml' =>  file_get_contents ("http://informer.gismeteo.ru/xml/26063_1.xml")   ); //Москва
            
            
            //Шаг 2. Выводим только те города, которые выбраны из БД
            for ($i = 0; $i < count ($arList); $i ++)
            {
                //[NumCode][CharCode][Nominal][Value]
                //$arr = t3lib_div::xml2array ($val); //преобразуем xml в массив
            
                //Пропускаем не выбранные в списках валюты
                //if ($arList [ $arr['CharCode'] ] == false)
                //continue;
                
                
                
                
                //Создаем контент
                $content .= $this->contentHTML_tpl( $arList [$i] );
            }
            /* */
            
        return "<table border='0' width='100%' cellspacing='0' cellpadding='0'><tr><td></td>
        <td> Ночь </td><td> Утро </td><td> День </td><td> Вечер </td></tr>".$content."</table> <br /> <i>Предоставлено <a href='http://informer.gismeteo.ru/' target='_blank' style='text-decoration: none;'>Gismeteo.ru</a></i>";
    }
    
    //Функция сборки контента Html
    function contentHTML_tpl ( $ar )
    {
        //Загрузка документа в DOM для разборка
        $dom = new DOMDocument;
        $dom->loadXML($ar['xml']);
                                                     //tod="3" tod="0"  tod="1"  tod="2"
        //Время суток: для которого составлен прогноз: 3 - вечер 0 - ночь 1 - утро, 2 - день, 
        $tod = simplexml_import_dom($dom);
        //echo $s->book[0]->FORECAST; print "<hr>";
        //Утро, вечер, день, ночь
        for ($i = 0; $i < 4; $i++)
        {
            //print "<hr> $i -> ";
            /* 
                PHENOMENA  атмосферные явления: 
                    cloudiness облачность по градациям:  0 - ясно, 1- малооблачно, 2 - облачно, 3 - пасмурно 
                    precipitation тип осадков: 4 - дождь, 5 - ливень, 6,7 – снег, 8 - гроза, 9 - нет данных, 10 - без осадков 
                    rpower интенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег 
                    spower вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза 
                PRESSURE атмосферное давление, в мм.рт.ст. 
                TEMPERATURE температура воздуха, в градусах Цельсия 
            */
            //print "Атмосферное давление:" . $tod->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['max'];
            //print "Температура воздуха:" . $tod->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['max'];
            
                switch($i){
                    
                    //0 - ночь
                    case 0: 
                    
                        $PHE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['cloudiness']; //иконка
                        $PRE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['max']; //Атмосферное давление
                        $TEM[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['max']; //Температура воздуха
                        
                        /* +- */
                        $TEM[$i] = ($TEM[$i] < 0) ? "-" . $TEM[$i] : "+" . $TEM[$i];
                    
                    
                    break;
                    
                    //1 - утро
                    case 1: 
                    
                        $PHE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['cloudiness']; //иконка
                        $PRE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['max']; //Атмосферное давление
                        $TEM[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['max']; //Температура воздуха
                        
                        /* +- */
                        $TEM[$i] = ($TEM[$i] < 0) ? "-" . $TEM[$i] : "+" . $TEM[$i];
                    
                    break;
                    
                    //2 - день
                    case 2: 
                    
                        $PHE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['cloudiness']; //иконка
                        $PRE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['max']; //Атмосферное давление
                        $TEM[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['max']; //Температура воздуха
                        
                        /* +- */
                        $TEM[$i] = ($TEM[$i] < 0) ? "-" . $TEM[$i] : "+" . $TEM[$i];
                    
                    break;
                    
                    //3 - вечер
                    case 3: 
                    
                        $PHE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PHENOMENA['cloudiness']; //иконка
                        $PRE[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->PRESSURE['max']; //Атмосферное давление
                        $TEM[$i] = $tod->REPORT->TOWN[0]->FORECAST[$i]->TEMPERATURE['max']; //Температура воздуха
                        
                        /* +- */
                        $TEM[$i] = ($TEM[$i] < 0) ? "-" . $TEM[$i] : "+" . $TEM[$i];
                    
                    break;
                    
                }
            
            foreach($tod->REPORT->TOWN[0]->FORECAST[$i]->attributes() as $a => $b) {
            
                
            
                //echo $a,'="',$b,"\"\n";
            
            }
        }
    
        //exit();
        
    //<img style='vertical-align: middle; padding-right: 5px;' src='/uploads/tx_infoblock/{$icoFlag}'>
        $content  = "<tr>";
        $content .= "<td>".$ar['title']."</td>";
        $content .= "<td align='center'><img src='/fileadmin/+components/ico/".$PHE[0].".png' width='80%' vspace='5'><br />".$TEM[0]."С </td>";
        $content .= "<td align='center'><img src='/fileadmin/+components/ico/".$PHE[1].".png' width='80%' vspace='5'><br />".$TEM[1]."С </td>";
        $content .= "<td align='center'><img src='/fileadmin/+components/ico/".$PHE[2].".png' width='80%' vspace='5'><br />".$TEM[2]."С </td>";
        $content .= "<td align='center'><img src='/fileadmin/+components/ico/".$PHE[3].".png' width='80%' vspace='5'><br />".$TEM[3]."С </td>";
        $content .= "</tr>";
        
        return $content;
    }
    
}
    //Оптарвляем контент для сайта
    $obj = new userBlock_weather();
    $content = $obj->output(); // Works
?>
		
	
 # Прогноз погоды
	subparts.weather = PHP_SCRIPT_INT
  	subparts.weather.file = fileadmin/+components/block.weather.php