내 mediawiki에 마지막으로 수정 된 페이지를 나열하는 새 태그 (<news />
)를 추가했습니다.
태그가있는 페이지를 수정하지 않으면 목록이 업데이트되지 않습니다.
나는 그것을 할 방법을 찾고 있는데, 나는 AJAX를 생각한다. 하지만 AJAX가 내 목록을 새로 고치지 못하게했습니다.
누구나 내 Mediawiki에 자동 새로 고침 기능을 추가하는 간단한 방법을 알고 있습니까? 미디어 위키 페이지에 대한 캐시를 사용하기 때문에Mediawiki의 자동 새로 고침 내용
$wgHooks['ParserFirstCallInit'][] = 'replaceTags';
function replaceTags(Parser $parser) {
$parser->setHook('news', 'newsRender');
return true;
}
function newsRender($input, array $args, Parser $parser, PPFrame $frame) {
// Titre =News=
$output = $parser->parse("=News=", $parser->mTitle, $parser->mOptions, false, false)->getText();
$nb = 5;
$querySQL = "SELECT page_namespace, page_title, page_id, page_latest, rev_timestamp
FROM page, revision
WHERE page.page_latest = revision.rev_id
AND page_namespace = 0
ORDER BY rev_timestamp
DESC LIMIT 0,$nb";
$dbr = wfGetDB(DB_SLAVE);
$res = $dbr->query($querySQL);
$count = $dbr->numRows($res);
if($count > 0) {
$output .= "<ul>";
while($row = $dbr->fetchObject($res))
{
$pageTitle = $row->page_title;
$nicerPageTitle = str_replace("_", " ", $pageTitle);
$pageNamespace = $row->page_namespace;
$title = Title::makeTitleSafe($pageNamespace, $pageTitle);
$url = $title->getFullURL();
$date = $row->rev_timestamp;
$date = wfTimestamp(TS_RFC2822, $date);
$output .= "<li><a href=\"$url\">$nicerPageTitle</a> $date</li>";
}
$output .= "</ul>";
} else {
$output .= "A l'ouest rien de nouveau !!!";
}
return $output;
}
와우! 나는 새로운 것을 배웠다 :) – nischayn22