Skip to main content

Introduction

For common website use cases Eduframe also provides a Drupal module. With the Drupal module you can connect your Eduframe administration with your Drupal website.

info

This documentation is up to date for the latest version of the module. This means that some parts might not be accurate when you're using an older version.

Functionality

Out of the box, this module provides a comprehensive catalog system. It doesn't just store data; it automatically generates a web-ready structure for educational offerings.

Dynamic Routing & Automatic Pages

The module automatically registers paths for every synchronized entity.

  • Product Detail Pages: Each eduframe_catalog_product entity is assigned a path based on its slug (e.g., /courses/product-slug). These pages act as the primary landing page for a course.
  • Variant Display: While variants usually live within the Product Detail Page via the {{ variants_table }}, they are accessible via JSON:API for headless implementations or custom filtering blocks.

Native Drupal Integration

Because Eduframe data is stored as Custom Content Entities, it works seamlessly with Drupal's core site-building tools:

  • Views Support: You can create custom "Course Finders," "Upcoming Dates" blocks, or "Related Courses" sliders using the standard Drupal Views UI.
  • Pathauto & Redirect: You can define automated URL patterns (e.g., /[category-name]/[product-name]).
  • Search Integration: Products are indexable by Search API, allowing users to easily find courses.

Automated Synchronization

Data stays fresh without manual intervention:

  • Initial Import: A manual import tool allows you to pull the entire Eduframe catalog into Drupal during setup.
  • Webhooks: The module provides a webhook endpoint that listens for updates from Eduframe. When a price changes or a product is published in Eduframe, the Drupal entity updates in near real-time.

Headless Ready

Every entity created by this module is fully exposed via JSON:API and RESTful Web Services. This allows you to use Drupal as a "Content Hub," syncing data from Eduframe and then serving it to a decoupled frontend (React, Vue, or Next.js) or a mobile application. This requires you to enable the RESTful Web Services* module.