如何在moodle 2.8中将论坛页面显示为默认主页
how to show forum page as default home page in moodle 2.8
我正在研究 moodle 2.8 和基本主题,现在我想设置我的主页以显示论坛主题。从呈现文件夹中的 frontpage.php 我可以看到他们使用 get_setting 函数来呈现项目但是我无法通过复制代码的方式找到在哪里以及如何使用此函数在主页中显示论坛页面它呈现主页,但我猜我的 argomans 不是真的,所以这个 get 设置不起作用,现在显示任何东西
提前联系
`
if ($showfrontcontent) { ?>
<div class="frontpagecontent">
<?php
echo $OUTPUT->get_setting('frontcontentarea', 'format_html');
echo $OUTPUT->get_setting('mod_forum', 'format_html');
echo $OUTPUT->essential_edit_button('theme_essential_frontpage');
?>
</div>`
一个简单的方法,并且在我看来应该在 Moodle 中创建为默认方法,就是在首页布局中创建一个中心区域。
然后,当您将一个块(带有您的论坛主题代码)添加到首页时,只需将其移动到中心区域即可。
创建区域的方法如下:
在 /theme/themename/config.php
中将 'center-post' 添加到首页区域。
'frontpage' => array(
'file' => 'default.php',
'regions' => array('side-pre', 'side-post', 'center-post'),
'defaultregion' => 'side-pre',
'options' => array('langmenu'=>true),
),
在/theme/themename/lang/en/theme_themename.php
中为区域名称添加一个字符串
$string['region-center-post'] = 'Center Bottom';
在 /theme/themename/layout/default.php
中添加 $hasscenterpost 行:
$hassidepost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-post', $OUTPUT));
// Add this line.
$hascenterpost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('center-post', $OUTPUT));
$haslogininfo = (empty($PAGE->layout_options['nologininfo']));
然后在region-content
div之后添加if ($hascenterpost)
代码:
<div id="region-main">
<div class="region-content">
<?php echo $coursecontentheader; ?>
<?php echo $OUTPUT->main_content() ?>
<?php echo $coursecontentfooter; ?>
</div>
<?php if ($hascenterpost) { ?>
<div id="region-center-post" class="block-region">
<div class="region-content">
<?php echo $OUTPUT->blocks_for_region('center-post'); ?>
</div>
</div>
<?php } ?>
</div>
您可能还需要在 /theme/themename/version.php
中增加版本号。
我正在研究 moodle 2.8 和基本主题,现在我想设置我的主页以显示论坛主题。从呈现文件夹中的 frontpage.php 我可以看到他们使用 get_setting 函数来呈现项目但是我无法通过复制代码的方式找到在哪里以及如何使用此函数在主页中显示论坛页面它呈现主页,但我猜我的 argomans 不是真的,所以这个 get 设置不起作用,现在显示任何东西 提前联系 `
if ($showfrontcontent) { ?>
<div class="frontpagecontent">
<?php
echo $OUTPUT->get_setting('frontcontentarea', 'format_html');
echo $OUTPUT->get_setting('mod_forum', 'format_html');
echo $OUTPUT->essential_edit_button('theme_essential_frontpage');
?>
</div>`
一个简单的方法,并且在我看来应该在 Moodle 中创建为默认方法,就是在首页布局中创建一个中心区域。
然后,当您将一个块(带有您的论坛主题代码)添加到首页时,只需将其移动到中心区域即可。
创建区域的方法如下:
在 /theme/themename/config.php
中将 'center-post' 添加到首页区域。
'frontpage' => array(
'file' => 'default.php',
'regions' => array('side-pre', 'side-post', 'center-post'),
'defaultregion' => 'side-pre',
'options' => array('langmenu'=>true),
),
在/theme/themename/lang/en/theme_themename.php
中为区域名称添加一个字符串
$string['region-center-post'] = 'Center Bottom';
在 /theme/themename/layout/default.php
中添加 $hasscenterpost 行:
$hassidepost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('side-post', $OUTPUT));
// Add this line.
$hascenterpost = (empty($PAGE->layout_options['noblocks']) && $PAGE->blocks->region_has_content('center-post', $OUTPUT));
$haslogininfo = (empty($PAGE->layout_options['nologininfo']));
然后在region-content
div之后添加if ($hascenterpost)
代码:
<div id="region-main">
<div class="region-content">
<?php echo $coursecontentheader; ?>
<?php echo $OUTPUT->main_content() ?>
<?php echo $coursecontentfooter; ?>
</div>
<?php if ($hascenterpost) { ?>
<div id="region-center-post" class="block-region">
<div class="region-content">
<?php echo $OUTPUT->blocks_for_region('center-post'); ?>
</div>
</div>
<?php } ?>
</div>
您可能还需要在 /theme/themename/version.php
中增加版本号。