A simplistic integration for Google Maps on any TCA text
field., (*1)
It allows you to either leverage Google Static Maps for a very privacy protected API Access or Google Maps to search places with a rich interface., (*2)
Installation
composer require cedricziel/formengine-map
Configuration
You need a Google Maps API key activated with the following APIs:, (*3)
This key needs to be configured in the ExtensionManager., (*4)
The default configuration attaches a field of type text
with renderType=cz_map
to the tt_content
TCA table., (*5)
'tx_formenginemap_address' => [
'exclude' => 0,
'label' => 'Map',
'config' => [
'type' => 'text',
'renderType' => 'cz_map',
'cols' => 40,
'rows' => 15,
'eval' => 'trim',
'size' => 50,
'default' => '',
],
],
Google Static Maps Embedded view:, (*6)
, (*7)
Google Static Maps Embedded view:, (*8)
, (*9)
ExtensionManager Configuration view:, (*10)
, (*11)
Usage on other tables / colums
Just define a text column with a renderType
of cz_map
., (*12)
You can then use the included DataProcessor to transport the value to your view., (*13)
ViewLayer
As the column is filled with a JSON blob, you need to deserialize it, before passing it to the view. You can do so (preferably) in a DataProcessor, or use a ViewHelper to deserialize it in the view.., (*14)
The extension ships a DataProcessor that attaches to lib.fluidContent
, when the static template is included., (*15)
You can use the following snippet to attach it to any other element:, (*16)
tt_content.my_ctype {
dataProcessing {
197 = CedricZiel\FormEngine\Map\DataProcessing\FormEngineMapProcessor
197 {
as = map
field = tx_formenginemap_address
}
}
}
This will process the given tx_formenginemap_address
field on the given row so that you can use the map
variable in your fluid templates., (*17)
License
GPLv2+, (*18)