在Filemaker中配置FullCalendar的区域设置与默认日期问题
嘿,我来帮你搞定这两个FullCalendar的配置问题,都是很容易忽略的小细节~
问题1:意大利语(it-IT)区域语言设置无效
从你的代码来看,你用的应该是FullCalendar v3版本(从defaultView这类属性判断),这个版本要启用非默认语言,必须单独引入对应的语言包脚本——你之前只加了locale: 'it'配置,但没加载意大利语的语言文件,所以才会无效。
解决步骤:
- 首先,获取意大利语语言文件:如果是本地部署,你可以从FullCalendar v3的资源包里找到
it.js(路径一般是fullcalendar/locale/it.js);如果用CDN,直接用对应CDN链接即可。 - 然后,在你的HTML字段里,把语言文件脚本放在
fullcalendar.js之后引入,修改后的HTML脚本部分如下:
<script>**jQueryMin**</script> <script>**JS2** </script> <script>**JS1**</script> <script> **JSFunction**</script> <script>**fullcalendar/fullcalendar.js**</script> <!-- 新增:引入意大利语语言包 --> <script>**fullcalendar/locale/it.js**</script>
- 最后,确保你FullCalendar配置里的
locale: 'it'保留不变(你之前写的是对的),重新加载页面后就能看到意大利语的日历文本了。
问题2:日历默认显示4月而非当前12月
看你的代码里有defaultDate: '**Data2**',这个Data2是FileMaker传递给HTML的变量,问题就出在这里——它的取值应该是固定的4月日期(比如2024-04-01),所以日历默认加载这个日期。
你有两种解决方式:
- 方式一:从FileMaker端修改:把
Data2变量改成动态获取当前日期,用FileMaker的Get(CurrentDate)函数,然后格式化成YYYY-MM-DD的字符串(FullCalendar要求的标准日期格式),再传递给HTML即可。 - 方式二:直接在JS里动态设置:替换
defaultDate的值,用JavaScript动态获取当前日期,修改后的配置片段如下:
$(document).ready(function() { $('#calendar').fullCalendar({ locale: 'it', header: { ... }, // 替换原来的defaultDate: '**Data2**' defaultDate: moment().format('YYYY-MM-DD'), // 其他配置... }); });
(注意:FullCalendar v3依赖moment.js,你的页面应该已经加载了它,要是没加载的话,需要在jQuery之后引入moment.js脚本)
另外,顺便提一句:你的代码里重复写了两次allDaySlot: true,虽然不影响功能,但可以删掉其中一个,让代码更整洁~
内容的提问来源于stack exchange,提问作者Lolli Group




