2014-02-19 42 views
0

我在理解moodle在呈现模板的位置时遇到问题。 我有页面的URL结尾:/enrol/index.php?id=4所以我假设模板是从报名目录。 从这个URL的页面我想添加一些自定义的PHP和HTML,你能告诉我在哪里可以找到这个页面和后端的前端?其中Moodle正在呈现模板

此致

回答

1

在Moodle的2.5,在enrol\index.php下面的代码,行#57,负责检索所有要显示的内容:

foreach($enrolinstances as $instance) { 
    if (!isset($enrols[$instance->enrol])) { 
     continue; 
    } 
    $form = $enrols[$instance->enrol]->enrol_page_hook($instance); 
    if ($form) { 
     $forms[$instance->id] = $form; 
    } 
} 

的实际内容被打印到用户在#行90与

foreach ($forms as $form) { 
    echo $form; 
} 

任何地方在这里你可以注入定制内容......,理想情况下,你的代码应该在头后去,要在页脚之前,例如

echo $OUTPUT->header(); 
echo $OUTPUT->heading(get_string('enrolmentoptions','enrol')); 

... your code goes here 

echo $OUTPUT->footer(); 
+0

非常感谢!你非常帮助我!你能告诉我也如何获得登录的用户数据,如他的登录名,姓名等? 这是可能的或我必须为此编写特殊的查询? –

+0

您可以使用'$ USER'对象获得有关登录用户的信息。您可以执行'print_r($ USER)'来查看所有可用的字段。 – Ryan