当前位置: 首页 > 知识库问答 >
问题:

如何从Moodle 1.9中获取组/分组ID

桑坚
2023-03-14

我想从Moodle获得一个组/分组ID,用于课程UI的自定义。我需要向特定的组/分组显示资源。我已经安排好了,穆德尔。我登录是因为不同的用户只能访问分配给该用户组的资源。

我的主题有一个自定义的侧边栏菜单,其中链接到该课程的页面、作业和所有其他资源给用户。我需要使用PHP if/else语句在菜单中向用户显示正确的资源,这取决于group/grouping id的值。我在moodle.com上找到了一些文档。我想出的这个代码打破了我的主题。

<?php 
        // Get the course module id from a post or get request.
        $id = required_param('id', PARAM_INT); 

        // Get the course module. 
        $cm = get_coursemodule_from_id('forum', $id, 0, false, MUST_EXIST)

        // Get the current group id.
        $currentgroupingid = groups_get_activity_grouping($cm);


        switch($currentgroupingid) {
            case "1":
                echo "Group 1";
            break;
            case "2":
                echo "Group 2";
            break;
            case "3":
                echo "Group 3";
            break;
            default:
            break;
        }?>

这段代码不工作,我不知道为什么。在文档中有关于如何访问有关组和分组的信息的示例。Moodle组API

共有1个答案

胡利
2023-03-14

在我的Moodle课程中有三个不同的小组。我需要根据用户的组注册键动态更改网页资源上的链接的href。我就是这么做的:

<div class="enrolment-key" style="display:none;">
<?php
    // Grab current User's group from Database By ID
    $sqlGROUPMEMBERS = "SELECT * FROM mdl_groups_members WHERE userid='$USER->id'";

    // Put Query in new Varible
    $resultGROUPMEMBERS = mysql_query($sqlGROUPMEMBERS);

    // While $row = group id of user
    while($row = mysql_fetch_array($resultGROUPMEMBERS)){
        $groupID = $row["groupid"];
    }

    // Grab Enrolment Key by the Group ID
    $sqlGROUP = "SELECT * FROM mdl_groups WHERE id=$groupID";

    // Put Query in new Varible
    $resultENROLMENTKEY = mysql_query($sqlGROUP);

    // While $row = group enrolment key for that user
    while($row = mysql_fetch_array($resultENROLMENTKEY)){
        echo $row["enrolmentkey"];
    }
?>
</div>
<script>
$(document).ready(function(){
var baseURL = "https://www.surveymonkey.com/s/";
var endURL = $('.enrolment-key').html();

$(".survey-link").attr("href", baseURL + endURL);
 });
 </script>
<a class="survey-link">Link</a>

也许有更好的方法,但对像我这样的傻瓜来说,这很好。

 类似资料:
  • 问题内容: 我有并想要一些函数,调用的结果是新数组。 问题答案: 看一眼

  • 我有一个要导入页面的组件: 在页面上,我呈现组件

  • 问题内容: 我有一个像这样打印的数组 如果我得到这样的东西 为什么名称未编码(例如0、1、2、3等)?以及如何使它出现在json代码中?完整的代码如下 问题答案: 您可以通过设置 JSON_FORCE_OBJECT 选项来强制使用对象,尽管您要通过数字键传递数组: 然后,返回的值将是带有数字键的JSON对象: 但是,只有在确实需要对象时才应该这样做。

  • 问题内容: 我有一个数组叫做 我需要从该数组中获取一个随机值并将其存储在变量中,我该怎么做? 问题答案: 您还可以执行以下操作: 当您有关联数组时,这就是这样做的方法。

  • 我对编程很陌生,我想做一个程序,用不同的变量发出12张卡片,然后将每张完整的卡片存储在某个地方供以后使用: N=Number(卡片上的数字,可以从1到3) C=Color(卡片是什么颜色,绿色、蓝色或红色) F=Form(有3种形式:蛇、时钟和圆) R=Fill(可以是满的、半的或空的) 这是我到目前为止得到的: