Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Courses lists upgrade to 2.5: Difference between revisions

From MoodleDocs
Line 112: Line 112:
* Courses lists on frontpage (see $CFG->frontpage, $CFG->frontpageloggedin)
* Courses lists on frontpage (see $CFG->frontpage, $CFG->frontpageloggedin)
** Courses list
** Courses list
** Categories list
** Categories list ($CFG->maxcategorydepth will affect how many subcategories levels to display)
** Combo list
** Combo list ($CFG->maxcategorydepth will affect how many subcategories levels to display)
* View courses (/course/index.php, /course/category.php)
* View courses (/course/index.php, /course/category.php)
** Category is empty
** Category is empty

Revision as of 10:33, 11 March 2013

There are significant changes in course-related functions and UI in 2.5. This document is aimed to assist migration from 2.4 to 2.5. This is NOT a complete documentation on 2.5 features.

Theme developers

All course listings are now performed through the same renderer functions.

There are significant changes to CSS classes used

CSS classes hierarchy

div.course_category_tree[.courses-only] (also has different classes for different types of listings)
    div.subcategories
        div.paging (pagination)
        div.category[.with_children[.loaded[.collapsed]|.notloaded]] (does NOT have background image any more)
            div.category_label (in some themes has background image with gradient)
                [h3|h4].category_name (<h4> for nested categories) (has background image 'collapsed'/'expanded')
                    a.category_link
            div.subcategories
                ....
        div.category
        div.category
        ...
        div.paging (may be pagination or 'more' link)
    div.courses
        div.paging (pagination)
        div.course
            [div|h3].course_name (<h3> if course is shown expanded, with summary and contacts, <div> if only name and info present)
                a.course_link (has background image 'course')
            div.course_info
            div.course_summary
            ul.course_contacts
                li
        div.course
        div.course
        ...
        div.paging (may be pagination or 'more' link)

Pages, displaying information about one course only (/course/info.php, /enrol/index.php ):

div.course-info-box
    div.course
        h3.course_name
            a.course_link
        div.course_info
        div.course_summary
        ul.course_contacts
            li

Some common CSS rules that need to be changed

2.4 2.5 Comments
.coursebox .course_category_tree.courses-only .courses .course, .course-info-box .course May be also without .courses-only
.coursebox .teachers .course_category_tree .courses .course .course-contacts, .course-info-box .course .course-contacts
.coursebox h3
.coursebox .info .course_category_tree.courses-only .courses .course_link
.coursebox .summary .course_category_tree .courses .course .course-summary
.categorylist .course_category_tree .subcategories
.categorylist .category .indentation .course_category_tree .category .subcategories
#page-course-category .courseboxes, #page-course-index .courseboxes .course_category_tree.courses-only .courses

Pages that use new renderer

Make sure that your site has several course categories with courses. Also some courses have summaries. Some courses should have enrollment methods other than manual (i.e. self enrollment). Some courses should have enrolled users with roles listed in $CFG->coursecontact

Check the following pages:

  • Courses lists on frontpage (see $CFG->frontpage, $CFG->frontpageloggedin)
    • Courses list
    • Categories list ($CFG->maxcategorydepth will affect how many subcategories levels to display)
    • Combo list ($CFG->maxcategorydepth will affect how many subcategories levels to display)
  • View courses (/course/index.php, /course/category.php)
    • Category is empty
    • Category has only subcategories
    • Category has only subcategories and there are more than $CFG->coursesperpage of them
    • Category has only courses and there are less courses than $CFG->courseswithsummarieslimit
    • Category has only courses and there are more than $CFG->courseswithsummarieslimit but less than $CFG->coursesperpage
    • Category has only courses and there are more than $CFG->coursesperpage
    • Category has both courses and categories and at least one of the lists is bigger than $CFG->coursesperpage (make sure to click "more" link for both courses and categories list).
  • Search courses
    • No courses found
    • Less than $CFG->coursesperpage courses found
    • More than $CFG->coursesperpage courses found
  • Enable tag functionality, tag some courses with the same tag, add Tags block, click on tag name, the list of tagged courses is displayed (this is very similar to search results)
  • If course has self enrollment, when student clicks on course name he is redirected to /enrol/index.php, there is .course-info-box displayed there
  • In collapsed courses listing there is an "i" icon next to the course name, click on it, /course/info.php is opened, there is also .course-info-box there

Hint. To change $CFG->xxx type xxx in the search box in Administration block.