mirror of
https://github.com/moodle/moodle.git
synced 2025-04-20 07:56:06 +02:00
MDL-63445 core_renderer: display course image in context header
This commit is contained in:
parent
cc486e6125
commit
a7712a9851
@ -121,6 +121,9 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
|
||||
$temp->add(new admin_setting_configselect('moodlecourse/showreports', new lang_string('showreports'), '', 0,
|
||||
array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
|
||||
|
||||
$temp->add(new admin_setting_configcheckbox('moodlecourse/showcourseimages', get_string('showcourseimages'),
|
||||
get_string('showcourseimages_desc'), 1));
|
||||
|
||||
// Files and uploads.
|
||||
$temp->add(new admin_setting_heading('filesanduploadshdr', new lang_string('filesanduploads'), ''));
|
||||
|
||||
@ -155,7 +158,6 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
|
||||
|
||||
$ADMIN->add('courses', $temp);
|
||||
|
||||
|
||||
// "courserequests" settingpage.
|
||||
$temp = new admin_settingpage('courserequest', new lang_string('courserequest'));
|
||||
$temp->add(new admin_setting_configcheckbox('enablecourserequests', new lang_string('enablecourserequests', 'admin'), new lang_string('configenablecourserequests', 'admin'), 0));
|
||||
|
@ -326,6 +326,7 @@ $string['courseformatdata'] = 'Course format data';
|
||||
$string['courseformats'] = 'Course formats';
|
||||
$string['courseformatoptions'] = 'Formatting options for {$a}';
|
||||
$string['courseformatudpate'] = 'Update format';
|
||||
$string['courseheaderimage'] = 'Course header image';
|
||||
$string['courseprofiles'] = 'Course profiles';
|
||||
$string['coursepreferences'] = 'Course preferences';
|
||||
$string['coursegrades'] = 'Course grades';
|
||||
@ -1821,6 +1822,8 @@ $string['showallusers'] = 'Show all users';
|
||||
$string['showblockcourse'] = 'Show list of courses containing block';
|
||||
$string['showcategory'] = 'Show {$a}';
|
||||
$string['showchartdata'] = 'Show chart data';
|
||||
$string['showcourseimages'] = 'Show course images';
|
||||
$string['showcourseimages_desc'] = 'Show the course image or image placeholder in the course header.';
|
||||
$string['showcomments'] = 'Show/hide comments';
|
||||
$string['showcommentsnonjs'] = 'Show comments';
|
||||
$string['showdescription'] = 'Display description on course page';
|
||||
|
@ -2565,5 +2565,11 @@ function xmldb_main_upgrade($oldversion) {
|
||||
upgrade_main_savepoint(true, 2018101800.00);
|
||||
}
|
||||
|
||||
if ($oldversion < 2018101900.01) {
|
||||
// Show course images by default.
|
||||
set_config('showcourseimages', 1, 'moodlecourse');
|
||||
upgrade_main_savepoint(true, 2018101900.01);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -4141,7 +4141,7 @@ EOD;
|
||||
}
|
||||
|
||||
public function context_header($headerinfo = null, $headinglevel = 1) {
|
||||
global $DB, $USER, $CFG;
|
||||
global $DB, $USER, $CFG, $COURSE;
|
||||
require_once($CFG->dirroot . '/user/lib.php');
|
||||
$context = $this->page->context;
|
||||
$heading = null;
|
||||
@ -4152,6 +4152,14 @@ EOD;
|
||||
if (isset($headerinfo['heading'])) {
|
||||
$heading = $headerinfo['heading'];
|
||||
}
|
||||
|
||||
// Show a course image if enabled.
|
||||
if ($context->contextlevel == CONTEXT_COURSE && get_config('moodlecourse', 'showcourseimages')) {
|
||||
$exporter = new core_course\external\course_summary_exporter($COURSE, ['context' => $context]);
|
||||
$courseinfo = $exporter->export($this);
|
||||
$imagedata = $this->render_from_template('core/course_header_image', $courseinfo);
|
||||
}
|
||||
|
||||
// The user context currently has images and buttons. Other contexts may follow.
|
||||
if (isset($headerinfo['user']) || $context->contextlevel == CONTEXT_USER) {
|
||||
if (isset($headerinfo['user'])) {
|
||||
|
29
lib/templates/course_header_image.mustache
Normal file
29
lib/templates/course_header_image.mustache
Normal file
@ -0,0 +1,29 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/course_header_image
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"courseimage": "http://domain.name/pluginfile.php/123/course/overviewfiles/kitten.jpg"
|
||||
}
|
||||
}}
|
||||
<div class="course-header-image-wrapper">
|
||||
<div class="course-header-image rounded w-100 h-100" style='background-image: url("{{{courseimage}}}");'>
|
||||
<div class="sr-only">{{#str}}courseheaderimage, core{{/str}}</div>
|
||||
</div>
|
||||
</div>
|
@ -1139,6 +1139,15 @@ span.editinstructions {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.course-header-image-wrapper {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
.course-header-image {
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display sizes:
|
||||
* Large displays 1200 +
|
||||
|
@ -12326,6 +12326,13 @@ span.editinstructions {
|
||||
.course-being-dragged {
|
||||
opacity: 0.5; }
|
||||
|
||||
.course-header-image-wrapper {
|
||||
width: 100px;
|
||||
height: 100px; }
|
||||
.course-header-image-wrapper .course-header-image {
|
||||
background-size: cover;
|
||||
background-position: center; }
|
||||
|
||||
/**
|
||||
* Display sizes:
|
||||
* Large displays 1200 +
|
||||
|
@ -1124,6 +1124,17 @@ span.editinstructions {
|
||||
.opacity(50);
|
||||
}
|
||||
|
||||
.course-header-image-wrapper {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
.course-header-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display sizes:
|
||||
* Large displays 1200 +
|
||||
|
@ -7004,6 +7004,16 @@ span.editinstructions {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
}
|
||||
.course-header-image-wrapper {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
.course-header-image-wrapper .course-header-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
/**
|
||||
* Display sizes:
|
||||
* Large displays 1200 +
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$version = 2018101900.00; // YYYYMMDD = weekly release date of this DEV branch.
|
||||
$version = 2018101900.01; // YYYYMMDD = weekly release date of this DEV branch.
|
||||
// RR = release increments - 00 in DEV branches.
|
||||
// .XX = incremental changes.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user