Есть ли способ постоянно отображать блок в Moodle? Я работаю над настройкой темы и хотел узнать, есть ли способ обеспечить видимость блока независимо от того, на какой странице вы находитесь.
Постоянно показывать блок в Moodle?
Ответы (1)
Одним из решений должно быть добавление новой области блока.
В каталоге темы в файле config.php измените параметр макета и добавьте свой новый регион ко всем используемым макетам:
$THEME->layouts = array(
'base' => array(
'file' => 'admin.php',
'regions' => array('your-region'),
'defaultregion' => 'your-region',
),
'standard' => array(
'file' => 'admin.php',
'regions' => array('your-region', 'side-post'),
'defaultregion' => 'your-region',
),
// The site home page.
'frontpage' => array(
'file' => 'general.php',
'regions' => array('tools-menu', 'side-post'),
'defaultregion' => 'tools-menu',
'defaultregion' => 'tools-menu',
),
'course' => array(
'file' => 'general.php',
'regions' => array('your-region'),
'defaultregion' => 'your-region',
'options' => array('nofooter'=>true, 'nonavbar'=>true, 'nocustommenu'=>true),
),
etc...
Затем вы редактируете все свои файлы макета theme/your_theme/layout/*.php
и добавляете эту строку где вы хотите, чтобы ваш блок отображался:
echo $OUTPUT->blocks_for_region('your-region');
Теперь вам нужно будет добавить свой блок в эту область для всех типов страниц, просто выполните этот sql в своей базе данных:
INSERT INTO `mdl_block_instances` (
`id` ,
`blockname` ,
`parentcontextid` ,
`showinsubcontexts` ,
`pagetypepattern` ,
`subpagepattern` ,
`defaultregion` ,
`defaultweight` ,
`configdata`
)
VALUES ( NULL , 'your_block_name', '1', '1', '*', NULL, 'your-region', '0', NULL );
person
benomite
schedule
01.10.2012