yatmo / typo3-yatmo-map
Real estate map, points of interest with travel times and an indexable neighbourhood text on TYPO3 property pages, from Yatmo: three Fluid ViewHelpers (map, places, text), extension settings for the key and defaults, caching. TYPO3 12, 13 and 14.
Package info
github.com/Yatmo/yatmo-plugin-typo3
Type:typo3-cms-extension
pkg:composer/yatmo/typo3-yatmo-map
Requires
- php: >=8.1
- typo3/cms-core: ^12.4 || ^13.4 || ^14.0
- typo3/cms-fluid: ^12.4 || ^13.4 || ^14.0
Requires (Dev)
- phpunit/phpunit: ^10.5 || ^11.0 || ^12.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-10-17 09:10:32 UTC
README
yatmo_map adds three Fluid ViewHelpers to a TYPO3 real estate website: an interactive neighbourhood map with the places around a property and their travel times, the nearest points of interest as plain HTML lists (schools, shops, stations, parks...) and an indexable neighbourhood text written for the exact address, in the language of the site. All from Yatmo, the neighbourhood intelligence API for real estate websites, in 25 countries and 20 languages.
Live demo: yatmo.com · Documentation: documentation.yatmo.com/plugins/typo3 · Other integrations: WordPress, Drupal, Odoo, Laravel, Symfony, JavaScript / React / Vue.
Install in 5 minutes
composer require yatmo/typo3-yatmo-map vendor/bin/typo3 extension:setup
Or install yatmo_map from the TYPO3 Extension Repository in classic mode (the Extension Manager runs the setup). The setup creates the cache_yatmo_map table.
- Get a licence key on yatmo.com (a free trial exists), then fill in Admin Tools > Settings > Extension Configuration > yatmo_map: the key, your country, and the defaults of the map and the text.
- In the Fluid template of a property (your own extension, EXT:news, a content element...), add the ViewHelpers where you want them. The
yatmonamespace is global, no declaration needed:
<yatmo:map latitude="{property.latitude}" longitude="{property.longitude}" /> <yatmo:text latitude="{property.latitude}" longitude="{property.longitude}" /> <yatmo:pois latitude="{property.latitude}" longitude="{property.longitude}" categories="education,transport,shopping" />
No coordinates? Give the address, Yatmo locates it once and keeps the result for 90 days:
<yatmo:map address="{property.street} {property.number}, {property.zip} {property.city}" />
ViewHelpers
<yatmo:map>: the interactive map
The map is the Yatmo iframe plugin: places around the property by category, travel times on foot, by bike, by car and by public transport, optional isochrones and routes, favourite addresses of the visitor.
| Argument | Values | Default |
|---|---|---|
mode |
overlay, overlay-scores, map-top, map, summary, summary-tabs |
setting |
zoom |
7 to 20 | setting |
mapStyle |
1 to 7 | setting |
accentColor |
hex colour | setting |
marker |
pin, or circle for a discreet listing |
setting |
circleRadius |
50 to 2000 metres | 500 |
rounded |
corner radius, 0 to 15 px | 0 |
isochrone |
off, left, right |
setting |
routeFrom |
off, left, right, popup |
setting |
height |
CSS length, a bare number is pixels | setting |
userId |
stable anonymous id of a logged-in visitor | |
country, language |
ISO codes | setting, then site language |
<yatmo:text>: the neighbourhood text
Rendered on the server, cached, and indexable: a heading and a paragraph per theme (schools, shops, public transport, access, tourism, nearby cities), with the key places in bold.
| Argument | Values | Default |
|---|---|---|
paragraphs |
comma-separated among education, shopping, publictransports, transports, tourism, cities |
all |
heading |
h2 to h6 |
setting |
titles |
street-city, city (discreet listing), generic |
setting |
language |
ISO code | setting, then site language |
<yatmo:pois>: the nearest places
Headings and lists you style with your own CSS, one group per sub-category (nurseries, primary schools, supermarkets, bus stops...), each place with its distance and travel time.
| Argument | Values | Default |
|---|---|---|
categories |
comma-separated among education, transport, shopping, tourism |
all |
mode |
walking, bicycling, driving, transit |
walking |
limit |
places per sub-category | 1 |
heading |
h2 to h6 |
h3 |
Caching and keys
The text and the places are cached in the yatmo_map cache (database backend) for the number of days of the setting, and flushed with the pages. Outages are never cached: the ViewHelpers render nothing and log a warning.
The licence key (frontend key, locked to your domains) goes into the map iframe. If your licence has a separate backend key, put it in the second setting: the server calls use it and it never reaches the browser.
Development
composer install --ignore-platform-req=ext-intl
composer test
The renderers are pure PHP and unit tested; the service and the ViewHelpers are checked against a real TYPO3 13 install.
Licence
GPL-2.0-or-later, like TYPO3. Yatmo itself is a commercial service with a free trial: yatmo.com.
