مدیاویکی:Common.js: تفاوت میان نسخهها
پرش به ناوبری
پرش به جستجو
3rdavistak (بحث | مشارکتها) بدون خلاصۀ ویرایش |
3rdavistak (بحث | مشارکتها) بدون خلاصۀ ویرایش |
||
| (۲ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
| خط ۲: | خط ۲: | ||
var pageTitle = mw.config.get("wgPageName"); | var pageTitle = mw.config.get("wgPageName"); | ||
var baseTitle = pageTitle.split('/')[0]; | var baseTitle = pageTitle.split('/')[0]; | ||
// فراخوانی API برای دریافت زیرصفحهها | |||
function getSubpages(title) { | |||
return $.get(mw.util.wikiScript('api'), { | return $.get(mw.util.wikiScript('api'), { | ||
action: 'query', | action: 'query', | ||
format: 'json', | format: 'json', | ||
list: 'allpages', | |||
apprefix: title + '/', | |||
aplimit: 20 | |||
}).then(function (data) { | }).then(function (data) { | ||
return data.query.allpages; | |||
}); | }); | ||
} | } | ||
// | getSubpages(baseTitle).then(function(subpages) { | ||
if (subpages.length > 0) { | |||
// ساخت منوی سایدبار به صورت داینامیک | |||
if ( | var box = $('<div>', {id: 'p-avistak-links', class: 'portlet', role: 'navigation'}).append( | ||
$('<h3>').text('بخشهای مرتبط'), | |||
list.append( | $('<div>', {class: 'pBody'}).append($('<ul>')) | ||
); | |||
var list = box.find('ul'); | |||
// لینک به صفحه اصلی (فقط اگه خودمون داخلش نیستیم) | |||
if (pageTitle !== baseTitle) { | |||
list.append($('<li>').append( | |||
$('<a>').attr('href', mw.util.getUrl(baseTitle)).text('← ' + baseTitle) | |||
)); | |||
} | } | ||
// افزودن زیرصفحهها (بهجز صفحهای که داخلش هستیم) | |||
subpages.forEach(function(page) { | |||
if (page.title !== pageTitle) { | |||
var label = page.title.split('/')[1]; // اسم زیرصفحه | |||
list.append($('<li>').append( | |||
$('<a>').attr('href', mw.util.getUrl(page.title)).text('← ' + label) | |||
)); | |||
} | |||
}); | |||
// اضافه کردن منوی ساختهشده به سایدبار | |||
$('#mw-panel').append(box); | |||
} | |||
}); | }); | ||
}); | |||
نسخهٔ کنونی تا ۱۶ آوریل ۲۰۲۵، ساعت ۰۵:۳۱
$(function () {
var pageTitle = mw.config.get("wgPageName");
var baseTitle = pageTitle.split('/')[0];
// فراخوانی API برای دریافت زیرصفحهها
function getSubpages(title) {
return $.get(mw.util.wikiScript('api'), {
action: 'query',
format: 'json',
list: 'allpages',
apprefix: title + '/',
aplimit: 20
}).then(function (data) {
return data.query.allpages;
});
}
getSubpages(baseTitle).then(function(subpages) {
if (subpages.length > 0) {
// ساخت منوی سایدبار به صورت داینامیک
var box = $('<div>', {id: 'p-avistak-links', class: 'portlet', role: 'navigation'}).append(
$('<h3>').text('بخشهای مرتبط'),
$('<div>', {class: 'pBody'}).append($('<ul>'))
);
var list = box.find('ul');
// لینک به صفحه اصلی (فقط اگه خودمون داخلش نیستیم)
if (pageTitle !== baseTitle) {
list.append($('<li>').append(
$('<a>').attr('href', mw.util.getUrl(baseTitle)).text('← ' + baseTitle)
));
}
// افزودن زیرصفحهها (بهجز صفحهای که داخلش هستیم)
subpages.forEach(function(page) {
if (page.title !== pageTitle) {
var label = page.title.split('/')[1]; // اسم زیرصفحه
list.append($('<li>').append(
$('<a>').attr('href', mw.util.getUrl(page.title)).text('← ' + label)
));
}
});
// اضافه کردن منوی ساختهشده به سایدبار
$('#mw-panel').append(box);
}
});
});