gromit/oc-dadatawidgets-plugin

与 Dadata 服务协同工作的表单小部件

安装: 26

依赖: 0

建议者: 0

安全: 0

星级: 2

关注者: 1

分支: 1

开放问题: 0

类型:october-plugin

dev-main 2021-05-17 16:36 UTC

This package is auto-updated.

Last update: 2024-09-18 00:33:13 UTC


README

插件:将 Dadata 服务的提示集成到 OctoberCMS v.2

安装

composer require gromit/oc-dadatawidgets-plugin

配置

要使用此插件,您需要获取 Dadata 服务的令牌。您可以免费获取令牌 - 您需要在 https://dadata.ru/ 上注册并复制它到您的个人资料中。

将获取到的令牌(即 API 密钥)插入到插件的设置中,通过 设置 -> Dadata Widgets

使用方法

在表单配置中指定字段类型为 dadataSuggestions,提示类型为 suggestion,并将数据关联到表单字段。

字段配置示例

name:
    label: Название компании
    type: dadataSuggestions
    suggestion: company

映射器

在字段配置中,您可以指定从 Dadata 服务获取的数据与要插入的数据表单字段之间的对应关系。

map:
    имя поля1: значение из ответа Dadata
    имя поля2: значение из ответа Dadata
    ...
    имя поляN: значение из ответа Dadata

Dadata 服务返回的数据结构取决于提示类型

因此,在映射器中,我们使用上述描述的数据结构。

示例

一些不同情况下使用此小部件的示例

搜索合作伙伴并填写相关字段

fields:
    name:
        label: Название компании
        type: dadataSuggestions
        suggestion: company
        map:
            name: value
            inn: data.inn
            kpp: data.kpp
            ogrn: data.ogrn
    inn:
        label: ИНН
    kpp:
        label: КПП
    ogrn:
        label: ОГРН

搜索银行

fields:
    bank:
        label: Банк
        type: dadataSuggestions
        suggestion: bank
        map:
            bank: value
            bic: data.bic
            cs: data.correspondent_account
    bic:
        label: БИК
    cs:
        label: К/С

输入地址并对其进行解析

fields:
    address:
        label: Адрес
        type: dadataSuggestions
        suggestion: address
        map:
            address: value
            country: data.country
            city: data.city
            lat: data.geo_lat
            lon: data.geo_lon

    country:
        label: Страна
    city:
        label: Город
    lat:
        label: Координаты (широта)
    lon:
        label: Координаты (долгота)

在输入电子邮件地址时提供帮助并对其进行解析

fields:
    email:
        label: Email
        type: dadataSuggestions
        suggestion: email
        map:
            email: value
            local: data.local
            domain: data.domain
    local:
        label: Локальное (до собачки)
    domain:
        label: Домен

在输入姓名时提供帮助并对其进行解析

fields:
    fio:
        label: ФИО
        type: dadataSuggestions
        suggestion: fio
        map:
            fio: value
            surname: data.surname
            name: data.name
            patronymic: data.patronymic
            gender: data.gender
    surname:
        label: Фамилия
    name:
        label: Имя
    patronymic:
        label: Отчество
    gender:
        label: Пол