에서 나는 위키에서 일하고 있어요 그리고 난 커뮤니티 달력을 짓고 있어요. SimpleCalendar 확장 프로그램을 사용하고 있으며 현재 월, 이전 및 다음 달을 표시하고 싶습니다. 현재 달의 기능은 잘 작동하지만 나는 이전 및 다음 달에게편집 현재 달 PHP 코드는 미디어 위키
위키
{{#calendar: month=$prevMonth | dayformat=%A | format=%A %B %d %Y }}
{{#calendar: month={{CURRENTMONTH}} | dayformat=%A | format=%A %B %d %Y }}
{{#calendar: month=$nextMonth | dayformat=%A | format=%A %B %d %Y }}
PHP
function wfRenderMonth($m,$y,$prefix = '',$query = '',$format = '%e %B %Y',$dayformat = false) {
$thisDay = date('d');
$thisMonth = date('n');
$thisYear = date('Y');
if (!$d = date('w',$ts = mktime(0,0,0,$m,1,$y))) $d = 7;
$month = wfMsg(strtolower(strftime('%B',$ts)));
//I've been editing these two lines to try to create a variable for the previous and following months
$prevMonth = "strftime(%m - 1)";
$nextMonth = "strftime(%m + 1)";
$days = array();
foreach (array('M','T','W','T','F','S','S') as $i => $day)
$days[] = $dayformat ? wfMsg(strftime($dayformat,mktime(0,0,0,2,$i,2000))) : $day;
$table = "\n{| class=\"month\"\n|- class=\"heading\"\n|colspan=\"7\"|$month\n|- class=\"dow\"\n";
$table .= '|'.join('||',$days)."\n";
if ($d > 1) $table .= "|-".str_repeat("\n| \n",$d-1);
for ($i = $day = $d; $day < 32; $i++) {
$day = $i - $d + 1;
if ($day < 29 or checkdate($m,$day,$y)) {
if ($i%7 == 1) $table .= "\n|-\n";
$t = ($day == $thisDay and $m == $thisMonth and $y == $thisYear) ? ' class="today"' : '';
$ttext = $prefix.trim(strftime($format,mktime(0,0,0,$m,$day,$y)));
$title = Title::newFromText($ttext);
if (is_object($title)) {
$class = $title->exists() ? 'day-active' : 'day-empty';
$url = $title->getFullURL($title->exists() ? '' : $query);
} else $url = $ttext;
$table .= "|$t|[$url <span class='$class'>$day</span>]\n";
}
}
return "$table\n|}";
}
당신의 뜻을 표시하는 방법을 알아내는 데 문제가 내 멍청이를 용서해야 해. 나는 PHP에 아주 익숙하다.