course_node.module in Course 3.x
Same filename and directory in other branches
File
modules/course_node/course_node.moduleView source
<?php
use Drupal\course\Entity\Course;
use Drupal\node\Entity\Node;
use Drupal\node\Entity\NodeType;
/**
* Check if a Node references a Course.
*
* @param Node $node
* A node.
*
* @return bool
*/
function course_node_is_course(Node $node) {
$type = $node
->getType();
$node_type = NodeType::load($type);
return $node_type
->getThirdPartySetting('course_node', 'enabled');
}
/**
* Implements hook_node_presave().
*
* Add an empty course entity if necessary.
*/
function course_node_presave(Node $node) {
if (course_node_is_course($node) && $node
->get('course')
->isEmpty()) {
$course = Course::create([
'type' => 'course',
]);
$course
->save();
$node
->set('course', $course);
}
}
Functions
Name![]() |
Description |
---|---|
course_node_is_course | Check if a Node references a Course. |
course_node_presave | Implements hook_node_presave(). |