2016-04-06 3 views
0

У меня есть две страницы в моем Moodle. Первая - страница регистрации , а вторая - страница курса . На каждом из них у меня есть кнопка , которая печатает PDF. На странице регистрации есть сухари, которые выглядят так:Получить ID от ссылки на странице

Startpage-> курс-> Различные изделия-> Изучение курса 1-> Enrolment-> зачислении Опции

Под Learning Course 1 там ссылка, которая:

http://localhost/mymoodle/course/view.php?id=6

Как получить IDссылка? Мне нужен id, чтобы получить информацию о курсе в PDF.

Я застроить функциональность, чтобы получить идентификатор на уровне курса и код работает:

$('#page-enrol-index .printpdf').click(function() { 
     //jquery extend function 
     $.extend(
     { 
      redirectPost: function(location, args) 
      { 
       var form = ''; 
       $.each(args, function(key, value) { 
        form += '<input type="hidden" name="'+key+'" value="'+value+'">'; 
       }); 
       $('<form action="'+location+'" method="POST">'+form+'</form>').appendTo('body').submit(); 
      } 
     }); 

     var vars = [], hash; 
     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
     for(var i = 0; i < hashes.length; i++) 
     { 
      hash = hashes[i].split('='); 
      vars.push(hash[0]); 
      vars[hash[0]] = hash[1]; 
     } 

     //create the pdf 
     $.redirectPost("http://localhost/mymoodle/local/getinfo/getinfocourse.php", { 
      id: vars['id'] 

     }); 

При попытке получить идентификатор его из регистрации URL

http://localhost/mymoodle/enrol/index.php?id=6

Это не сработает.

идентификатор необходим для того, чтобы получить информацию из курса в формате PDF, где есть:

$courseid = required_param('id', PARAM_INT);

Зачисление страница просто загружает и PDF не печатается, поэтому я думаю, что PDF не получает идентификатор из курса? Я новичок в Moodle и Javascript, поэтому любая помощь будет оценена.

+0

Возможный дубликат [Как получить параметры GET из JavaScript?] (Http://stackoverflow.com/questions/5448545/how-to-retrieve-get-parameters-from-javascript) – Eihwaz

ответ

1

Вы можете использовать функцию одиночной кнопки Moodle вместо Javascript.

$printpdfurl = new moodle_url('/local/getinfo/getinfocourse.php', array('id' => $id)); 
echo $OUTPUT->single_button($printpdfurl, get_string('printpdf', 'local_getinfo')); 
0
function getParameterByName(name, url) { 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "i"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

// query string: 'http://localhost/mymoodle/course/view.php?id=6' 
var id = getParameterByName('id'); // 6 
+0

Использование 'ConsoleLog 'Я получаю идентификатор даже с моим кодом, но все равно не буду работать ... При печати pdf ** обязательный параметр ** -' $ courseid = required_param ('id', PARAM_INT); ' – StartVader

+0

Также Moodle показывает мне в Консоле следующее сообщение: 'moodle-block_navigation: Инициализация дерева блоков навигации' – StartVader

Смежные вопросы