Two Factor Authentication via Google Authenticator is now required to login. Please submit a support ticket if you have questions or issues. close

Menu
Home Documentation 1.2.2 Web Developers Modules Controllers

Documentation

Controllers

Overview

Unlike components, which potentially can have multiple controllers, modules do not have a controller class. As such, the module directory structure doesn't include a /controllers subdirectory or controller.php. Instead, the setting of parameters, inclusion of any necessary files, and the instantiation of the module's view are done within the mod_{ModuleName}.php file.

Directory Structure & Files

The controller is stored in the same directory as the module file itself and must be named the same (the file extension being the obvious difference).

/hubzero
  /modules
    /{ModuleName}
      /tmpl
        default.php
      helper.php
      mod_{ModuleName}.php
      mod_{ModuleName}.xml

Implementation

Most modules will perform three tasks in the following order:

  • Include the helper.php file which contains the class to be used to collect any necessary data
  • Invoke the appropriate helper class method to retrieve any data that needs to be available to the view
  • Include the template to display the output

Here are the contents of mod_listnames.php:

<?php
// No direct access
defined('_JEXEC') or die('Restricted access');

// Include the helper file
require_once(__DIR__ . DS . 'helper.php');

// Get the items to display from the helper
$mod = new modListNames($params, $module);
$mod->display();

Last modified: