wwwision/neos-addresseditor

简单的Neos扩展,添加了地址的自定义属性编辑器,包括地理编码

v1.0.2 2017-05-26 08:19 UTC

This package is auto-updated.

Last update: 2024-09-12 17:49:18 UTC


README

简单的Neos扩展,添加了邮政地址的自定义属性编辑器以及地理编码支持

特性

本包包含两个主要特性

  1. PostalAddress 属性提供自定义属性编辑器
  2. 提供地理编码服务,可以通过邮政地址和IP地址查找地理坐标(基于优秀的 willdurand/geocoder 包)

使用方法

使用 composer 安装该包

composer require wwision/neos-addresseditor:^1.0

安装成功后,您应配置一个 Google Maps API密钥

Wwwision:
  Neos:
    AddressEditor:
      googleMapsApiKey: '<VALID_GOOGLE_MAPS_API_KEY>'

(出于测试目的,您可以跳过此步骤)

要使用新的属性编辑器,只需将 PostalAddress 属性添加到任何节点类型配置中即可

'Some.Package:SomeNodeType':
  # ...
  properties:
    'someProperty':
      type: 'Wwwision\Neos\AddressEditor\PostalAddress'

之后,您应该能够在Neos后端看到新的 PostalAddressEditor

Screenshot expanded editor Screenshot collapsed editor

注意: 绿色勾号表示此地址的地理编码成功

显示坐标

如果地理编码成功,您可以通过地址属性的 longitudelatitude 字段访问坐标。通过一些 Fusion 代码,您可以在模板中提供这些信息(例如,在地图中渲染它们)

prototype(Some.Package:SomeNodeType) < prototype(Neos.Fusion:Template) {
    templatePath = 'resource://Some.Package/Private/Templates/FusionObjects/Map.html'

    address = ${q(node).property('address')}
}

在Fluid模板中,您可以这样访问坐标

<f:if condition="{address}">
    <span class="marker" data-latitude="{address.latitude}" data-longitude="{address.longitude}">{address}</span>
</f:if>

许可证

MIT许可,见 LICENSE