API – Modules – Introduction

Available on: Newspaper V11+

The td_api_module api call allows you to add or modify a module. The modules are used on loops or on blocks, they come in various designs, for example in frontend flex module 1 looks like this:

The theme modules are registered in td-composer/legacy/Newspaper/includes/td_config.php, the code looks like this:

td_api_module::add( 'td_module_flex_1',
    array(
        'file'                         => TDC_PATH_LEGACY . '/includes/modules/td_module_flex_1.php',
        'text'                         => 'Module Flex 1',
        'img'                          => '',
        'used_on_blocks'               => array( 'td_flex_block_1' ),
        'excerpt_title'                => 25,
        'excerpt_content'              => 25,
        'enabled_excerpt_in_panel'     => false,
        'enabled_on_more_articles_box' => false,
        'enabled_on_loops'             => false,
        'uses_columns'                 => false,
        // if the module uses columns on the page template + loop
        'category_label'               => false,
        'class'                        => 'td_module_wrap td-animation-stack',
        'group'                        => ''
        // '' - main theme, 'mob' - mobile theme, 'woo' - woo theme
    )
);

Parameters:

$id (string) (required)

  • the module id – if you add a new module the id has to be different from the ones used on the other modules which are registered in theme, if you plan to modify one of the existing module the id has to match with the one you’re planing to modify.

$params_array (array) (required)

  • an array which contains the parameters of the module:
Key name
Type
Description
file string the path of the module template file
text string the module title, appears in Theme Panel and on Article List settings area
img string the path for the icon used to represent the module
used_on_blocks array the blocks on which this module is used
excerpt_title integer title excerpt length
excerpt_content integer content excerpt length
enabled_on_more_articles_box boolean show the module in the more articles box in panel -> post settings -> more articles box
enabled_on_loops boolean show the module in panel on loops
uses_columns boolean enable/disable column use on this block, if it’s disabled it will display only one module on each row
category_label boolean show the module in panel -> block_settings -> category label
class string classes added on the module wrapper