我需要在日历中显示自定义标题标题。我正在处理16个日历,我需要每个日历都显示自己的标题。我已经尝试了所有可以修改代码部分的内容:
firstDay: <?php echo $iFirstDay; ?>,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
但每当我编辑center
以添加除title
之外的其他内容时,我的日历根本不会显示任何标题。我该怎么办?
答案 0 :(得分:29)
如果您使用 fullCalender v2 ,则必须将它们放在scare括号之间来转义字符串。这是因为moment.js库(see the moment doc)。
那就是
firstDay: <?php echo $iFirstDay; ?>,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
titleFormat: '[Hello, World!]',
答案 1 :(得分:10)
您不会更改center
属性。这只是指定放置在标题中心的内容。
如果您想更改标题本身的内容,则需要更改titleFormat。
firstDay: <?php echo $iFirstDay; ?>,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
titleFormat: '\'Hello, World!\'',
titleFormat
使用格式化日期作为值,因此如果要显示文字文本,则需要将其包装在单引号中,但只需记住将其转义。
答案 2 :(得分:0)
您可以在呈现日历之前,或者甚至在页面的最顶部,将名称戳入:
<?php
echo "<center><h1>$fullname</h1></center>";
?>
丑陋,但有效。
答案 3 :(得分:0)
您可以尝试一下。我用它来破解佛教时代的展示:
const computeTitle = FullCalendar.View.prototype.computeTitle;
FullCalendar.View.prototype.computeTitle = function (dateProfile) {
const $ = jQuery;
if (dateProfile.currentRangeUnit === 'month') {
const cal = jQuery(".js-drupal-fullcalendar").fullCalendar('getCalendar');
const era = cal.moment(dateProfile.date).year() + 543;
return cal.moment(dateProfile.date).format('MMMM') + ' ' + era;
}
return computeTitle(dateProfile);
};
PS:此拉取请求似乎过时了:https://github.com/fullcalendar/fullcalendar/pull/3532