Постоянно показывать блок в Moodle?

Есть ли способ постоянно отображать блок в Moodle? Я работаю над настройкой темы и хотел узнать, есть ли способ обеспечить видимость блока независимо от того, на какой странице вы находитесь.


person Avindra Goolcharan    schedule 28.09.2012    source источник


Ответы (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