承接 fullscreeninteractive/silverstripe-addressfinder 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fullscreeninteractive/silverstripe-addressfinder

最新稳定版本:2.1.1

Composer 安装命令:

composer require fullscreeninteractive/silverstripe-addressfinder

包简介

SilverStripe FormField for AddressFinder.co.nz

README 文档

README

Scrutinizer Code Quality Latest Stable Version

Maintainer Contact

  • Will Rossiter <will (at) fullscreen (dot) io>

Overview

This module provides a custom Silverstripe AddressFinderField which implements the javascript AddressFinder widget (1) for address and postcode lookups in New Zealand and Australia.

Getting Started

composer require fullscreeninteractive/silverstripe-addressfinder

app/_config/addressfinder.yml

FullscreenInteractive\SilverStripe\AddressFinderField:
  api_key: 123

Or, use environment variables if you prefer:

app/_config/addressfinder.yml

FullscreenInteractive\SilverStripe\AddressFinderField:
  api_key: '`ADDRESS_FINDER_KEY`'

Then add an instance of AddressFinderField to your form fields

use FullscreenInteractive\SilverStripe\AddressFinderField;

$fields->push(new AddressFinderField('Address'));

This will provide your form with a single text box that provides an autocomplete dropdown as well as a toggle for the user to enter a manual address in the event the API is inaccessible.

The form field provides the saveInto logic for automatically saving into a DataObject model if defined. The fields that the module will save too (if in the database) are

  • Address single line representation, should be the name of your field
  • PostalLine1
  • PostalLine2
  • PostalLine3
  • PostalLine4
  • PostalLine5
  • PostalLine6
  • Suburb
  • City
  • Postcode
  • Latitude
  • Longitude

An example model which will capture all the information from AddressFinder is outlined below:

<?php

use SilverStripe\ORM\DataObject;

class AddressObject extends DataObject
{
    private static $db = [
        'Address' => 'Text',
        'PostalLine1' => 'Varchar(200)',
        'PostalLine2' => 'Varchar(200)',
        'PostalLine3' => 'Varchar(200)',
        'PostalLine4' => 'Varchar(200)',
        'PostalLine5' => 'Varchar(200)',
        'PostalLine6' => 'Varchar(200)',
        'Suburb' => 'Varchar(200)',
        'City' => 'Varchar(200)',
        'Postcode' => 'Varchar(200)',
        'Latitude' => 'Varchar(200)',
        'Longitude' => 'Varchar(200)'
    ];
}

To prefix these fields, call setFieldPrefix($prefix) on your AddressFinderField instance.

AddressFinderField::create('HomeAddress')
    ->setFieldPrefix('Home')
AddressFinderField::create('WorkAddress')
    ->setFieldPrefix('Work')

// requires the following model
private static $db = [
    'HomeAddress' => 'Text',
    'HomeAddressPostalLine1' => 'Varchar(200)',
    'HomeAddressPostalLine2' => 'Varchar(200)',
    'HomeAddressPostalLine3' => 'Varchar(200)',
    'HomeAddressPostalLine4' => 'Varchar(200)',
    'HomeAddressPostalLine5' => 'Varchar(200)',
    'HomeAddressPostalLine6' => 'Varchar(200)',
    'HomeAddressSuburb' => 'Varchar(200)',
    'HomeAddressCity' => 'Varchar(200)',
    'HomeAddressPostcode' => 'Varchar(200)',
    'HomeAddressLatitude' => 'Varchar(200)',
    'HomeAddressLongitude' => 'Varchar(200)',
    'WorkAddress' => 'Text',
    'WorkAddressPostalLine1' => 'Varchar(200)',
    'WorkAddressPostalLine2' => 'Varchar(200)',
    //...
];

统计信息

  • 总下载量: 10.88k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2014-01-12