Wwwision.Neos.AddressEditor
Simple Neos extension adding a custom property editor for postal addresses and GeoCoding support, (*1)
Features
This package comes with two main features:, (*2)
- A custom property editor for
PostalAddress
-properties
- A
GeoCoding
service that can look up GeoCoordinates by Postal- and IP Addresses (based on the great willdurand/geocoder package)
Usage
Install the package using composer:, (*3)
composer require wwision/neos-addresseditor:^1.0
After successful installation you should configure a Google Maps API key:, (*4)
Wwwision:
Neos:
AddressEditor:
googleMapsApiKey: '<VALID_GOOGLE_MAPS_API_KEY>'
(For testing purposes you should be able to skip that step), (*5)
To make use of the new Property Editor, just add a property of PostalAddress
to any NodeType configuration:, (*6)
'Some.Package:SomeNodeType':
# ...
properties:
'someProperty':
type: 'Wwwision\Neos\AddressEditor\PostalAddress'
Afterwards you should be able to see the new PostalAddressEditor
in the Neos Backend:, (*7)
, (*8)
Note: The green checkmark indicates that the geocoding for this address has been successful, (*9)
Display coordinates
When the geocoding was successful you can access the coordinates via the longitude
and latitude
fields of the address property.
With a little bit of Fusion
code you can make these available within a template (i.e. for rendering them in a Map):, (*10)
prototype(Some.Package:SomeNodeType) < prototype(Neos.Fusion:Template) {
templatePath = 'resource://Some.Package/Private/Templates/FusionObjects/Map.html'
address = ${q(node).property('address')}
}
In the Fluid template you can then access the coordinates like this:, (*11)
<f:if condition="{address}">
<span class="marker" data-latitude="{address.latitude}" data-longitude="{address.longitude}">{address}</span>
</f:if>
License
Licensed under MIT, see LICENSE, (*12)