superbig / craft-vzaddress
为Craft提供的一个简单的地址字段。
2.0.2
2018-11-06 21:10 UTC
Requires
- craftcms/cms: ^3.0.0-RC1
This package is auto-updated.
Last update: 2024-09-15 15:54:40 UTC
README
为Craft提供的一个简单的地址字段。
需求
此插件需要Craft CMS 3.0.0-beta.23或更高版本。
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并进入您的Craft项目
cd /path/to/project
-
然后让Composer加载插件
composer require superbig/craft-vzaddress
-
在控制面板中,转到设置→插件,然后点击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 }) }}
第一个参数是使用的服务,可以是google
、yahoo
、bing
或mapquest
之一。第二个参数是要通过地图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) }}
可用的参数包括
width
和height
- 生成的图像的像素大小。(默认: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配置。上面示例中显示了所有可用的选项。默认情况下仅设置了
width
、height
和zoom
选项。 - 图标数组用于配置标记图标的样式。上面示例中显示了所有可用的选项。
附加功能:输出所有国家的列表
VZ Address通过craft.vzAddress.countries
提供了所有国家的索引数组,按国家代码排序。您可以使用它来生成前端输入表单,或任何需要列出世界上所有国家的场景。
<select name="country">
{% for countryCode, countryName in craft.vzAddress.countries %}
<option value="{{ countryCode }}">{{ countryName }}</option>
{% endfor %}
</select>
由Superbig提供