2012-11-28 3 views
0

J'aimerais obtenir un identifiant de groupe/groupe de Moodle pour une personnalisation de l'interface utilisateur d'un cours. J'ai besoin de montrer des ressources à des groupes/groupes spécifiques. Je l'ai déjà mis en place Moodle. Je me suis connecté car différents utilisateurs ont pu accéder uniquement aux ressources affectées au groupe de cet utilisateur.Comment obtenir un ID de groupe/groupe depuis Moodle 1.9

Mon thème a un menu de barre latérale personnalisé avec des liens vers des pages, des devoirs et toutes les autres ressources pour les utilisateurs de ce cours. J'ai besoin d'afficher les ressources correctes à un utilisateur dans le menu en utilisant une instruction PHP if/else en fonction de la valeur de l'ID Group/Grouping. J'ai trouvé de la documentation sur Moodle.com. Je suis venu avec ce code qui casse mon thème.

<?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; 
     }?> 

Ce code ne fonctionne pas et je ne sais pas pourquoi. Dans la documentation, vous trouverez des exemples d'accès aux informations sur les groupes et les regroupements. Moodle Group API

Répondre

0

Dans mon cours Moodle, il y a trois groupes différents. J'avais besoin de la capacité de changer dynamiquement le href d'un lien sur une ressource de page Web basée sur la clé d'inscription de groupe d'un utilisateur. Voilà ce que je l'ai fait:


<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> 

Il y a une meilleure façon de faire sans doute, mais son amende pour un noob comme moi.

Questions connexes