christopherbolt/silverstripe-addressfinderfield

该软件包最新版本(v1.0.2)没有可用的许可证信息。

根据AddressFinderNZ API将地址信息保存到DataObject字段中。

v1.0.2 2020-11-18 21:56 UTC

This package is auto-updated.

Last update: 2024-09-19 06:21:12 UTC


README

一个自定义字段,用于将AddressFinderNZ API作为后端和前端字段进行集成。

AddressFinderField::create(DataObject $data, $name, $title = null, $databaseFields = array(), $hiddenFields = false)

默认情况下,该字段将从API拉取完整地址并将其保存到数据库字段'Address'中。

或者,您可以指定多个API字段以保存到数据库。您可以通过将替代数据库字段数组作为字段构造函数的第三个变量来做到这一点。数组的键是数据库字段,其值应与API返回的元数据相匹配。 https://addressfinder.nz/api/nz/address/metadata

要求

此安装程序要求您具备以下条件

  • Composer

配置

  1. 将AddressFinderNZ API信息添加到config.yml中
AddressFinderField:
  Key: 'key-here'
  Secret: 'secret-here'

用法

  1. 将数据库字段添加到您的页面或对象中
private static $db = array(
        'Address' => 'Text'
);
  1. 将字段添加到您的字段集中
AddressFinderField::create($this, 'AddressFinder', 'Search address')

高级用法

  1. 将多个数据库字段添加到您的页面或对象中
private static $db = array(
  'Address' => 'Text',
  'City' => 'Varchar',
  'Street' => 'Varchar'
);
  1. 指定多个地址字段以保存到您的对象中 NOTE: 数组的键是数据库字段,其值应与API返回的元数据相匹配。 https://addressfinder.nz/api/nz/address/metadata
$addressConfig = array(
  'Address' => 'a',
  'City' => 'city',
  'Street' => 'street'
);
  1. 将字段添加到您的字段集中
AddressFinderField::create($this, 'AddressFinder', 'Search address', $addressConfig)

前端用法

  1. 添加地址字段,但不要忘记指定DataObject
AddressFinderField::create($this->data(), 'AddressFinder', 'Address Finder', $addressConfig, false)