Moodle 2.7 - 更新core_renderer.php不应用更改 - 自定义菜单

时间:2014-08-18 13:52:12

标签: menu moodle

我正在为moodle 2.7开发基于bootstrap的自定义主题。我在第80行的自定义菜单函数(render_custom_menu)中添加了一个简单的类。我只是添加了navbar-right类,它应用于下面两个代码块中显示的标准菜单。

自定义菜单:

protected function render_custom_menu(custom_menu $menu) {
    global $CFG, $USER;

    // TODO: eliminate this duplicated logic, it belongs in core, not
    // here. See MDL-39565.

    $content = '<ul class="nav navbar-nav navbar-right">';
    foreach ($menu->get_children() as $item) {
        $content .= $this->render_custom_menu_item($item, 1);
    }

    return $content.'</ul>';
}

标准菜单:

protected function render_user_menu(custom_menu $menu) {
    global $CFG, $USER, $DB;

    $addusermenu = true;
    $addlangmenu = true;

    $langs = get_string_manager()->get_list_of_translations();
    if (count($langs) < 2
    or empty($CFG->langmenu)
    or ($this->page->course != SITEID and !empty($this->page->course->lang))) {
        $addlangmenu = false;
    }

    if ($addlangmenu) {
        $language = $menu->add(get_string('language'), new moodle_url('#'), get_string('language'), 10000);
        foreach ($langs as $langtype => $langname) {
            $language->add($langname, new moodle_url($this->page->url, array('lang' => $langtype)), $langname);
        }
    }

    if ($addusermenu) {
        if (isloggedin()) {
            $usermenu = $menu->add(fullname($USER), new moodle_url('#'), fullname($USER), 10001);
            $usermenu->add(
                '<span class="glyphicon glyphicon-off"></span>' . get_string('logout'),
                new moodle_url('/login/logout.php', array('sesskey' => sesskey(), 'alt' => 'logout')),
                get_string('logout')
            );

            $usermenu->add(
                '<span class="glyphicon glyphicon-user"></span>' . get_string('viewprofile'),
                new moodle_url('/user/profile.php', array('id' => $USER->id)),
                get_string('viewprofile')
            );

            $usermenu->add(
                '<span class="glyphicon glyphicon-cog"></span>' . get_string('editmyprofile'),
                new moodle_url('/user/edit.php', array('id' => $USER->id)),
                get_string('editmyprofile')
            );
        } else {
            $usermenu = $menu->add(get_string('login'), new moodle_url('/login/index.php'), get_string('login'), 10001);
        }
    }

    $content = '<ul class="nav navbar-nav navbar-right">';
    foreach ($menu->get_children() as $item) {
        $content .= $this->render_custom_menu_item($item, 1);
    }

    return $content.'</ul>';
}

我不确定为什么这种改变没有生效。任何人都有这方面的经验以及如何解决它。我确定我忽略了一些非常简单的事情。

仅供参考:我已多次清除moodle缓存,重置服务器并清除浏览器中的历史记录。

谢谢!

0 个答案:

没有答案