Gayakan pautan dalaman MediaWiki berdasarkan tarikh semakan terakhir halaman.
P粉184747536
P粉184747536 2023-07-20 10:47:09
0
1
392

Saya mempunyai Wikipedia yang besar dengan banyak halaman, kebanyakannya sudah lapuk. Saya ingin menggunakan gaya CSS tersuai pada setiap pautan berdasarkan umur halaman yang dipautkan.

Saya telah melihat ke dalam kod sumber MediaWiki dan untuk setiap pautan saya boleh mendapatkan DBKey bermula dari LinkTarget. Kod sumber boleh dilihat di sini.

Saya sedang mencari proses yang pada asasnya kelihatan seperti ini:

$dbKey = $target->getDBkey(); $page = find_page_by_title($dbKey); $last_revision = get_last_revision($page); // Additional processing based on the date of $last_revision

Sebagai alternatif, jika ada cara untuk mendapatkan maklumat ini daripada API, saya boleh menambah coretan JS untuk mewarna semula pautan.

Bolehkah seseorang menunjukkan saya kepada sumber untuk mencapai ini?

P粉184747536
P粉184747536

membalas semua (1)
P粉448130258

Anda boleh menggunakan cangkuk HtmlPageLinkRendererEnd.

https://www.mediawiki.org/wiki/Manual:Hooks/HtmlPageLinkRendererEnd

Hanya tambahkan yang berikut pada fail LocalSettings.php anda:

$wgHooks['HtmlPageLinkRendererEnd'][] = function($linkRenderer, $target, $isKnown, &$text, &$attribs, &$ret) { $title = Title::newFromLinkTarget($target); $id = $title->getLatestRevID(); $revStore = MediaWikiServices::getInstance()->getRevisionStore(); $date = $revStore->getTimestampFromId( $id ); if ($date > '20230704142055') { $attribs['class'] = "old-page"; } if ($date > '20230704142070') { $attribs['class'] = "newer-page"; } };

Tukar sahaja '20230704142055' kepada tarikh yang anda inginkan atau semasa.

Anda juga mungkin perlu menambah kod ini pada bahagian atas fail php anda.

use MediaWiki\MediaWikiServices; use Title;
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!