superbig/craft-vzaddress

为Craft提供的一个简单的地址字段。

2.0.2 2018-11-06 21:10 UTC

This package is auto-updated.

Last update: 2024-09-15 15:54:40 UTC


README

为Craft提供的一个简单的地址字段。

Screenshot

需求

此插件需要Craft CMS 3.0.0-beta.23或更高版本。

安装

要安装插件,请按照以下说明操作。

  1. 打开您的终端并进入您的Craft项目

     cd /path/to/project
    
  2. 然后让Composer加载插件

     composer require superbig/craft-vzaddress
    
  3. 在控制面板中,转到设置→插件,然后点击VZ Address的“安装”按钮。

VZ Address概述

这是Eli Van Zoeren的VZ Address的Craft 3端口。

使用VZ Address

单行输出

只输出地址,在一行中。

{{ entry.fieldName.text }}

纯文本输出

标准地址格式,每行末尾有换行符。

{{ entry.fieldName.text(true) }}

或者简单地

{{ entry.fieldName }}

HTML输出

标准地址格式,每行末尾有<br>标签。

{{ entry.fieldName.html }}

您还可以以三种结构化数据格式之一输出HTML:Schema.org、Microformats和RDFa。为此,只需将您首选的格式作为参数添加到html标签中。

{{ entry.fieldName.html('schema') }}

地址组件

{{ entry.fieldName.name }}
{{ entry.fieldName.street }}
{{ entry.fieldName.street2 }}
{{ entry.fieldName.city }}
{{ entry.fieldName.region }}
{{ entry.fieldName.postalCode }}
{{ entry.fieldName.country }} // Abbreviation, e.g. "US"
{{ entry.fieldName.countryName }} // Full name, e.g. "United States"

链接到外部地图服务上的地址

{{ entry.fieldName.mapUrl('google', { zoom: 5 }) }}

第一个参数是使用的服务,可以是googleyahoobingmapquest之一。第二个参数是要通过地图URL传递的参数数组。有关特定映射提供商的可用选项,请参阅其文档。

输出来自Google Maps的静态地图图像的URL

{% set mapParams = {
    width: '400',
    height: '200',
    type: 'satellite',
    key: '12345'
    styles: [
        {
            'featureType': 'road.local',
            'elementType': 'geometry',
            'stylers': [
                { 'color': '#00ff00' }
            ]
        }
    ]
} %}
{{ entry.fieldName.staticMapUrl(mapParams) }}

可用的参数包括

  • widthheight - 生成的图像的像素大小。(默认:400 x 200)
  • scale - 返回的像素数。对于视网膜/hidpi支持,请将其设置为2。(默认:1)
  • zoom - 地图的缩放级别。(默认:14)
  • format - 指定要返回的图像格式。以下之一:png、png32、jpg、jpg-baseline或gif。(默认:png)
  • type - 以下之一:roadmap、satellite、hybrid或terrain。(默认:roadmap)
  • markerSize - 标记地址位置的推针的相对大小。以下之一:normal、mid、small或tiny。(默认:normal)
  • markerColor - 推针的颜色。可以是命名的颜色(黑色、棕色、绿色、紫色、黄色、蓝色、灰色、橙色、红色或白色)或6位十六进制代码,例如“#ff0000”。不支持三位颜色代码。(默认:red)
  • markerLabel - 您可以指定一个字母或数字以代替正常的点出现在推针上。(默认:无)
  • key - 您的Google API密钥。不是必需的,但如果您没有API密钥,您可能会受到使用限制。您还可以在插件设置页面上全局指定您的API密钥。(默认:无)
  • styles - 一个多维数组,定义了您希望应用于地图的样式

输出包含静态Google地图的图像标签

{% set mapParams = {
    width: '400',
    height: '200',
    type: 'satellite'
} %}
{{ entry.fieldName.staticMap(mapParams) }}

接受与staticMapUrl相同的参数。

输出动态Google地图

{% set options = {
    width: 400,
    height: 200,
    clickableIcons: 'false',
    disableDefaultUI: 'true',
    disableDoubleClickZoom: 'false',
    draggable: 'true',
    draggableCursor: 'null',
    draggingCursor: 'null',
    fullscreenControl: 'true',
    gestureHandling: 'null',
    heading: '0',
    keyboardShortcuts: 'true',
    mapTypeControl: 'false',
    maxZoom: 'null',
    minZoom: 'null',
    noClear: 'false',
    rotateControl: 'false',
    scaleControl: 'false',
    scrollwheel: 'true',
    streetViewControl: 'false',
    tilt: '0',
    zoom: '16',
    zoomControl: 'false',
    styles: [
        {
            'featureType': 'road.local',
            'elementType': 'geometry',
            'stylers': [
                { 'color': '#00ff00' }
            ]
        }
    ]
} %}

{% set icon = {
    url: "path/to/icon.png",
    width: 50,
    height: 50,
    origin: {
        x: 0,
        y: 0
    },
    anchor: {
        x: 0,
        y: 0
    }
} %}

{{ entry.fieldName.dynamicMap(options, icon) }}
  • 选项数组反映了来自谷歌地图JavaScript API的MapOptions配置。上面示例中显示了所有可用的选项。默认情况下仅设置了widthheightzoom选项。
  • 图标数组用于配置标记图标的样式。上面示例中显示了所有可用的选项。

附加功能:输出所有国家的列表

VZ Address通过craft.vzAddress.countries提供了所有国家的索引数组,按国家代码排序。您可以使用它来生成前端输入表单,或任何需要列出世界上所有国家的场景。

<select name="country">
    {% for countryCode, countryName in craft.vzAddress.countries %}
        <option value="{{ countryCode }}">{{ countryName }}</option>
    {% endfor %}
</select>

Superbig提供