Skip to content

Instantly share code, notes, and snippets.

@luukverhoeven
Created September 21, 2021 09:44
Show Gist options
  • Save luukverhoeven/59575061b6c0814c2b47c9e971653e46 to your computer and use it in GitHub Desktop.
Save luukverhoeven/59575061b6c0814c2b47c9e971653e46 to your computer and use it in GitHub Desktop.
Get Moodle blocks in a course
<?php
$page = new moodle_page();
$course = $DB->get_record('course', ['id' => 2]);
$page->set_course($course);
$page->set_context(context_course::instance($course->id));
$page->set_pagetype('course-view-' . $course->format);
$page->set_url(new moodle_url('/course/view.php', ['id' => $course->id]));
$region = 'side-pre';
$blockmanager = new block_manager($page);
$blockmanager->add_regions([$region], false);
$blockmanager->set_default_region($region);
$blockmanager->load_blocks();
$blocks = $blockmanager->get_blocks_for_region($region);
foreach ($blocks as $block) {
/** @var block_activity_modules $block */
echo '<pre>';
print_r($block->name());
echo '</pre>';
echo '<pre>';
print_r($block->instance);
echo '</pre>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment