Здравствуйте дорогое сообщество! Занялся разработкой ГИС модуля, сейчас изучаю что есть по этому поводу в typo3 ext. Просьба к вам если кто крутил уже ГИС  typo3, поделитесь информацией что есть интересного в данном направлении! Заранее спасибо.
Начальный шаблон - но требует доработки:
<?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
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot