diff --git a/block_featured_courses.php b/block_featured_courses.php index dc7fb39..76d58f6 100644 --- a/block_featured_courses.php +++ b/block_featured_courses.php @@ -58,6 +58,7 @@ public function specialization() { * @throws dml_exception */ public function get_content() { + global $OUTPUT; if ($this->content !== null) { return $this->content; @@ -72,11 +73,21 @@ public function get_content() { if ($this->config && !empty($this->config->selectedcourses)) { $this->content = new stdClass(); $this->content->footer = ''; - $renderer = $this->page->get_renderer('core'); - $this->content->text = $renderer->render( - new featured_courses( - $this->config->selectedcourses - )); + + $courseRenderer = new featured_courses($this->config->selectedcourses); + switch ($this->config->courselayout){ + case 0; + $this->content->text = $OUTPUT->render($courseRenderer); + break; + case 1: + $this->content->text = + $OUTPUT->render_from_template('core_course/view-cards', $courseRenderer->export_for_template($OUTPUT)); + break; + case 2: + $this->content->text = + $OUTPUT->render_from_template('tool_moodlenet/view-cards', $courseRenderer->export_for_template($OUTPUT)); + break; + } } return $this->content; } diff --git a/edit_form.php b/edit_form.php index 22d80a2..a58a2ae 100644 --- a/edit_form.php +++ b/edit_form.php @@ -47,6 +47,15 @@ protected function specific_definition($mform) { $mform->setDefault('config_title', get_string('pluginname', 'block_featured_courses')); $mform->setType('config_title', PARAM_TEXT); + // Course layout type + $choices = [ + 0 => get_string('settings:select0', 'block_featured_courses'), + 1 => get_string('settings:select1', 'block_featured_courses'), + 2 => get_string('settings:select2', 'block_featured_courses'), + ]; + $mform->addElement('select', 'config_courselayout', get_string('settings:label', 'block_featured_courses'), $choices); + $mform->setDefault('config_courselayout', 0); + $courses = (core_course_category::get(0))->get_courses(['recursive' => true]); $courseitems = []; foreach ($courses as $c) { diff --git a/lang/en/block_featured_courses.php b/lang/en/block_featured_courses.php index 7e6ad64..315af28 100644 --- a/lang/en/block_featured_courses.php +++ b/lang/en/block_featured_courses.php @@ -29,3 +29,9 @@ $string['pluginname'] = 'Featured courses'; $string['removelastcourses'] = 'Remove last course'; $string['viewcourse'] = 'View course'; + +// Settings. +$string['settings:select0'] = 'Block internal course template'; +$string['settings:select1'] = 'Moodle core course card carousel'; +$string['settings:select2'] = 'Moodle core course card grid'; +$string['settings:label'] = 'Course render layout';