Шаблон:RandomSong: различия между версиями
Admin (обсуждение | вклад) мНет описания правки |
Admin (обсуждение | вклад) мНет описания правки |
||
(не показано 30 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
<div id="randomSong"></div> | {{#ifeq: {{#vardefine:category|{{urlencode:Песни}}}}{{#vardefineecho:api_url|https://bard-wiki.net/w/api.php}}{{#vardefineecho:get_all_pages|{{#get_web_data: {{#var:api_url}}|action=query&list=categorymembers&cmtitle=Category:{{#var:category}}&cmlimit=max&format=json}}}}{{#vardefine:total_num_pages|{{#var: get_all_pages|totalhits}}}}|{{#expr: {{#var:total_num_pages}} > 0 }} | ||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> | |{{#vardefine:get_random_page|{{#get_web_data: {{#var:api_url}}|action=query&list=categorymembers&cmtitle=Category:{{#var:category}}&cmlimit=max&cmtype=page&format=json}}}}{{#vardefine:chosen_num_page|{{#expr: {{#var:get_random_page|totalhits}} - 1 }} }} {{#var:get_random_page|jsondata|["query"]["categorymembers",{{#var:chosen_num_page}},"title"]|urlencode}} | ||
<script> | |Категория "Песни" не содержит ни одной страницы. | ||
$(document).ready(function() { | }} | ||
Ссылка на АPI{{#var:api_url}} | |||
Категория {{#var:category}} | |||
get_web_data | |||
{{#get_web_data: {{#var:api_url}}|action=query&list=categorymembers&cmtitle=Category:{{#var:category}}&cmlimit=max&cmtype=page&format=json}} | |||
get_web_data2 | |||
{{#get_web_data: url=https://bard-wiki.net/api.php?action=query&list=categorymembers&cmtitle=Category:%D0%9F%D0%B5%D1%81%D0%BD%D0%B8&format=json|format=json}} | |||
https://bard-wiki.net/api.php?action=query&list=categorymembers&cmtitle=Category:%D0%9F%D0%B5%D1%81%D0%BD%D0%B8 | |||
}); | {{#vardefine:get_random_page|{{#get_web_data: {{#var:api_url}}|action=query&list=categorymembers&cmtitle=Category:{{#var:category}}&cmlimit=max&cmtype=page&format=json}}}} | ||
</script> | |||
get_random_page {{#var:get_random_page}} | |||
{{#vardefine:chosen_num_page|{{#expr: {{#var:get_random_page|totalhits}} - 1 }} }} | |||
{{#var:chosen_num_page}} | |||
{{#var:get_random_page|jsondata|["query"]["categorymembers",{{#var:chosen_num_page}},"title"]|urlencode}} | |||
chosen_num_page {{#var:chosen_num_page}} | |||
<!--{{#ifeq: {{#vardefine:category|{{urlencode:Песни}}}}{{#vardefineecho:api_url|https://bard-wiki.net/w/api.php}}{{#vardefineecho:get_all_pages|{{#get_web_data: {{#var:api_url}}|action=query&list=categorymembers&cmtitle=Category:{{#var:category}}&cmlimit=max&format=json}}}}{{#vardefine:total_num_pages|{{#var: get_all_pages|totalhits}}}}|{{#expr: {{#var:total_num_pages}} > 0 }} | |||
| {{#vardefine:get_random_page|{{#get_web_data: {{#var:api_url}}|action=query&list=categorymembers&cmtitle=Category:{{#var:category}}&cmlimit=max&cmtype=page&format=json}}}}{{#vardefine:chosen_num_page|{{#expr: {{#var:get_random_page|totalhits}} - 1 }} }} {{#var:get_random_page|jsondata|["query"]["categorymembers",{{#var:chosen_num_page}},"title"]|urlencode}} | |||
| Категория "Песни" не содержит ни одной страницы. | |||
}}--> | |||
<!--<div id="randomSong"></div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { // задаем параметры API запроса var apiUrl = "https://bard-wiki.net/api.php?action=query&list=categorymembers&cmtitle=Категория:Песни&format=json&cmlimit=500"; // делаем запрос к API MediaWiki $.getJSON(apiUrl, function(data) { // получаем список страниц из указанной категории var songs = data.query.categorymembers; // выбираем случайную страницу var randomSong = songs[Math.floor(Math.random()*songs.length)]; // получаем заголовок случайной страницы var songTitle = randomSong.title; // формируем ссылку на случайную страницу var songLink = "https://bard-wiki.net/" + songTitle; // выводим результат на страницу $('#randomSong').html("Случайная песня: <a href=\"" + songLink + "\">" + songTitle + "</a>"); }); }); </script>--> |
Текущая версия от 09:57, 23 июня 2023
Категория "Песни" не содержит ни одной страницы.
Ссылка на АPIhttps://bard-wiki.net/w/api.php
Категория %D0%9F%D0%B5%D1%81%D0%BD%D0%B8
get_web_data Не удалось получить URL https://bard-wiki.net/w/api.php после 3 попыток.
get_web_data2
get_random_page Не удалось получить URL https://bard-wiki.net/w/api.php после 3 попыток.
Ошибка выражения: неожидаемый оператор <
Не удалось получить URL https://bard-wiki.net/w/api.php после 3 попыток.
chosen_num_page Ошибка выражения: неожидаемый оператор <