【问题标题】:Moodle - Show image only in frontpageMoodle - 只在首页显示图片
【发布时间】:2014-07-29 13:44:31
【问题描述】:

我正在尝试仅在 Moodle 的首页上显示图像。

有没有办法检测用户在哪里,例如课程页面、个人资料页面等,并使用 if 语句仅在用户位于首页时显示图片?

我正在使用自定义版本的 Clean 主题,并尝试了以下代码。

当您在课程中时,它不会显示图像,因为 ID 为 1 的课程是首页,但当您转到其他页面时,它会失败,例如个人资料页面。

<?php if ($PAGE->course->id == 1):?>
    <img src="<?php echo $OUTPUT->pix_url('header', 'theme'); ?>" class="img-responsive"/>

【问题讨论】:

    标签: php moodle


    【解决方案1】:

    您可以使用全局 $PAGE 中的 pagetype 属性来检查您所在的页面

    if (isset($PAGE) && (strpos($PAGE->pagetype, 'site-') === 0) {
        // I'm on the front page.
    }
    

    但您最好创建一个首页布局。编辑 theme/yourthemename/config.php 并添加(如果还没有)

    $THEME->layouts = 
    ....
    array(
        // The site home page.
        'frontpage' => array(
            'file' => 'frontpage.php',
            'regions' => array('side-pre', 'side-post'),
            'defaultregion' => 'side-pre',
            'options' => array('nonavbar' => true),
        ),
    );
    

    然后编辑 frontpage.php - 如果没有,则将 columns3.php 复制到 frontpage.php

    然后你可以有一个自定义的首页:)

    【讨论】:

    • 感谢您的快速回复!由于 Clean 主题没有定义任何布局,我不想添加任何布局。如果我添加首页布局,我必须为这里提到的所有其他布局类型添加布局吗? docs.moodle.org/dev/…,或者我可以只定义首页,其他一切都会正常工作?
    猜你喜欢
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多