matotominac / time-traveler
在Craft CMS的用户级别添加时区控制
Requires
- craftcms/cms: ^3.0.0
This package is auto-updated.
Last update: 2024-09-29 06:14:26 UTC
README
允许用户更改时区。
需求
此插件需要Craft CMS 3.0.0-beta.23或更高版本。
安装
要安装此插件,可以通过插件商店安装,或者告诉Composer加载插件,然后转到设置→插件,点击Time Traveler的“安装”按钮。
composer require matotominac/time-traveler
时间旅行者概述
使用时间旅行者插件,用户将能够为他们的用户帐户选择时区。当他们选择时区时,所有日期将立即显示在他们选择的时区中,无需进行任何额外的前端转换。此外,他们发布的所有包含时间的内容都将按他们的时区发布,并正确转换为系统时区。
当你启用此插件时,所有时区都将显示在下拉菜单中,但你完全控制选择哪些时区显示,你还可以将时区重命名为比默认PHP时区标签更漂亮的名字。
配置时间旅行者
在你的Craft配置文件夹中创建一个名为time-traveler.php
的文件,并将以下代码粘贴进去。
<?php
return [
'*' => [
'timezoneList' => [
'America/New_York' => 'Eastern Time',
'America/Chicago' => 'Central Time',
'America/Denver' => 'Mountain Time',
'America/Phoenix' => 'Mountain Time (no DST)',
'America/Los_Angeles' => 'Pacific Time',
'America/Anchorage' => 'Alaska Time',
'America/Adak' => 'Hawaii-Aleutian Time',
'Pacific/Honolulu' => 'Hawaii-Aleutian Time (no DST)',
],
'fieldName' => 'timeZone'
],
];
timezoneList
选项的形式为'[php时区名称]' => '[标签]'
。所有PHP时区的列表可以在这里找到。
插件根目录中包含两个用于美国和澳大利亚时区的示例配置文件,您可以直接将它们复制到Craft的配置文件夹中。请务必将它们重命名为time-traveler.php
。
用户时区选择说明
要允许用户选择时区,请按照以下步骤操作
- 创建一个新的类型为时区的新字段(当你启用插件时此字段类型将可用)。插件需要将此字段的handle设置为
timeZone
,但如果您希望有不同的名称,您将必须更新time-traveler.php
配置文件中fieldName
选项的值(如上所示)。
- 将此新创建的字段添加到用户资料中。
- 这样就完成了。现在每个用户都可以选择自定义时区。只要用户登录,用户的时区就会在前后端站点和Craft管理员中更改。
常见问题解答
此插件是否能在已开发的网站上工作或需要任何twig修改?
是的,此插件可以在任何已存在的网站上工作。您需要做的只是启用插件,将字段添加到用户资料中,如以下所述,然后插件将直接工作,即使是在现有网站上。无需在twig代码中进行任何修改,即可显示前端上的日期。
我是否可以将时区选择字段添加到前端用户资料编辑表单中?
当然可以。时区选择字段就像用户资料中的任何其他自定义字段一样。只需添加一个下拉字段,列出时区,并将其命名为fields[timeZone]
(或如果您已将字段重命名,请用上面的名称替换timeZone
)。
我是否可以允许未注册用户选择时区?
很遗憾,目前还不可以,但该功能在我们的路线图上。
时间旅行者路线图
- 当用户从下拉菜单中选择时区时,立即转换当前字段值
- 未注册用户的前端时区选择