MediaWiki:Gadget-RelatedArticles.js — различия между версиями
WikiSysop (обсуждение | вклад) |
WikiSysop (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
prop: 'linkshere', | prop: 'linkshere', | ||
titles: articleTitles.join('|'), | titles: articleTitles.join('|'), | ||
+ | lhshow: '!redirect', | ||
formatversion: 2 | formatversion: 2 | ||
}).done(function(data) { | }).done(function(data) { |
Версия 00:18, 23 июля 2016
mw.loader.using('ext.cards').done(function() { var gateway = new mw.cards.CardsGateway({api: new mw.Api()}); var relatedArticles = [], articleTitles = []; $('.firstHeading').each(function() { articleTitles.push($(this).text()); }); var api = new mw.Api(); api.get({ action: 'query', prop: 'linkshere', titles: articleTitles.join('|'), lhshow: '!redirect', formatversion: 2 }).done(function(data) { if (data.query && data.query.pages) { $.map(data.query.pages, function(page) { if (page.linkshere) { $.map(page.linkshere, function(linkhere) { relatedArticles.push(linkhere.title); }); } }); } if (relatedArticles.length) { relatedArticles.sort(function() { return 0.5 - Math.random() }); if (relatedArticles.length > 3) { relatedArticles = relatedArticles.slice(0, 3); } gateway.getCards(relatedArticles, 200).done(function(cards) { $('#bodyContent').append(cards.$el); }); } }); });