在Moodle中的自定义页面上显示课程图像

在Moodle中的自定义页面上显示课程图像,moodle,Moodle,我已经创建了一个自定义页面,上面显示了所有可用的课程。我还上传了课程的图片,现在想在图片中显示课程名称。我可以从数据库中获取课程名称,但如何获取图像。试试这样的方法 // Create a course_in_list object to use the get_course_overviewfiles() method. require_once($CFG->libdir . '/coursecatlib.php'); $course = new course_in_list($cour

我已经创建了一个自定义页面,上面显示了所有可用的课程。我还上传了课程的图片,现在想在图片中显示课程名称。我可以从数据库中获取课程名称,但如何获取图像。

试试这样的方法

// Create a course_in_list object to use the get_course_overviewfiles() method.
require_once($CFG->libdir . '/coursecatlib.php');
$course = new course_in_list($courseid);

$outputimage = '';
foreach ($course->get_course_overviewfiles() as $file) {
    if ($file->is_valid_image()) {
        $imagepath = '/' . $file->get_contextid() .
                '/' . $file->get_component() .
                '/' . $file->get_filearea() .
                $file->get_filepath() .
                $file->get_filename();
        $imageurl = file_encode_url($CFG->wwwroot . '/pluginfile.php', $imagepath,
                false);
        $outputimage = html_writer::tag('div',
                html_writer::empty_tag('img', array('src' => $imageurl)),
                array('class' => 'courseimage'));
        // Use the first image found.
        break;
    }
}
echo $outputimage;

试试这样的

// Create a course_in_list object to use the get_course_overviewfiles() method.
require_once($CFG->libdir . '/coursecatlib.php');
$course = new course_in_list($courseid);

$outputimage = '';
foreach ($course->get_course_overviewfiles() as $file) {
    if ($file->is_valid_image()) {
        $imagepath = '/' . $file->get_contextid() .
                '/' . $file->get_component() .
                '/' . $file->get_filearea() .
                $file->get_filepath() .
                $file->get_filename();
        $imageurl = file_encode_url($CFG->wwwroot . '/pluginfile.php', $imagepath,
                false);
        $outputimage = html_writer::tag('div',
                html_writer::empty_tag('img', array('src' => $imageurl)),
                array('class' => 'courseimage'));
        // Use the first image found.
        break;
    }
}
echo $outputimage;

您可以直接从“概览文件”文件区域获取课程图像

函数get\u course\u image() { 全球$课程; $url=''; 只需要一次($CFG->libdir./filelib.php'); $context=context\u课程::实例($course->id); $fs=get_file_storage(); $files=$fs->get_area_文件($context->id,'course','overviewfiles',0); foreach($f文件) { 如果($f->is\u valid\u image()) { $url=moodle\u url::make\u pluginfile\u url($f->get\u contextid(),$f->get\u component(),$f->get\u filearea(),null,$f->get\u filepath(),$f->get\u filename(),false); } } 返回$url; }
您可以直接从“概览文件”文件区获取课程图像

函数get\u course\u image() { 全球$课程; $url=''; 只需要一次($CFG->libdir./filelib.php'); $context=context\u课程::实例($course->id); $fs=get_file_storage(); $files=$fs->get_area_文件($context->id,'course','overviewfiles',0); foreach($f文件) { 如果($f->is\u valid\u image()) { $url=moodle\u url::make\u pluginfile\u url($f->get\u contextid(),$f->get\u component(),$f->get\u filearea(),null,$f->get\u filepath(),$f->get\u filename(),false); } } 返回$url; }
您使用的是Totara还是Moodle?Moodle(3.0版)您是如何上传课程图像的?这是摘要中的图像吗?是的,上传到课程摘要文件中。你是使用Totara还是Moodle?Moodle(3.0版)你是如何上传课程的图片的?这是摘要中的图像吗?是的,上传到课程总结文件中。