2017-02-02 4 views
0

Я пытаюсь создать тему, которая на главной странице будет отображаться категории и курсы, я был в состоянии получить курсы get_courses() функции так:Moodle получить категории

<?php $courses = get_courses(); ?> 

<?php foreach ($courses as $key => $value) { ?>  
    <a href="course/view.php?id=<?php echo $key; ?>"> 
     <h2 class="title"><?php echo $courses[$key]->fullname; ?></h2>    
    </a> 
    <p class="summary"><?php echo $courses[$key]->summary; ?></p> 
    <p class="category"><?php echo $courses[$key]->category; ?></p>  
<?php } ?> 

Теперь я пытаюсь получить категории,
Единственное, что я смог получить, это идентификатор категории с [$ key] -> категория

Как я могу получить название категории и отобразить ее?

+0

FYI, идея сделать 'Еогеасп ($ courses as $ key => $ value) 'поэтому вы можете ссылаться на' $ value' в своем цикле вместо '$ courses [$ key]'. – miken32

+0

ха-ха, хорошо знать, любая идея о том, как получить категории, может быть? –

ответ

1

Согласно this post, вы должны быть в состоянии получить эту информацию непосредственно из базы данных:

<?php 
$courses = get_courses(); 
foreach ($courses as $id=>$course) { 
    $category = $DB->get_record('course_categories',array('id'=>$course->category)); 
    $course->categoryName = $category->name; 
    $allcourses[$id] = $course; 
} 
?> 

И затем, в вашем коде дисплея:

<?php foreach($allcourses as $id=>$course):?> 
    <a href="course/view.php?id=<?=$id?>"> 
     <h2 class="title"><?=$course->fullname?></h2>    
    </a> 
    <p class="summary"><?=$course->summary?></p> 
    <p class="category"><?=$course->categoryName?></p>  
<?php endforeach;?> 
+0

вы уверены? Я ничего не получаю, что такое categoryName? Я сделал var_dump из $ курсов, и я не вижу никакой категории. –

+0

Зачем вам? Все дело в том, что вы добавляете его. – miken32

+0

Зачем мне? Это не работает. Если бы это было, я бы не спросил вас. –

Смежные вопросы