1. Getting Started
      1. Basic Installation
      2. What is MODx
    2. Content Editing
      1. Editing Documents
      2. MODx Tags
        1. Document Variables
      3. Terminology
      4. The Manager
      5. Who Should Read This
    3. Designing
      1. Adding Chunks
      2. Adding MODx Tags
        1. Resource Fields
      3. Adding Snippets
      4. Document Caching
      5. Template Basics
    4. Administration
      1. Friendly URL Solutions
      2. Manager Users
        1. Manager Roles And Groups
        2. Reset your Password - Unblock your User
        3. Why Manager Users, Roles and Groups
      3. Moving Site
      4. Taking sites down for maintenance
      5. Upgrading
      6. Web Users
        1. Creating a Web User
        2. Web User Groups and Document Groups
        3. Why Web Users and Groups
    5. Developer's Guide
      1. API Reference
        1. DBAPI
          1. delete
          2. escape
          3. getInsertId
          4. query
          5. select
          6. update
        2. Document Object
        3. DocumentParser Object
          1. addEventListener
          2. changeWebUserPassword
          3. documentContent
          4. documentGenerated
          5. documentIdentifier
          6. documentListing
          7. documentMethod
          8. documentObject
          9. getAllChildren
          10. getCachePath
          11. getChildIds
          12. getDocumentChildren
          13. getDocumentChildrenTVarOutput
          14. getDocumentChildrenTVars
          15. getLoginUserID
          16. getLoginUserName
          17. getLoginUserType
          18. getManagerPath
          19. getParent
          20. getParentIds
          21. getUserData
          22. hasPermission
          23. isBackend
          24. isFrontend
          25. logEvent
          26. maxParserPasses
          27. minParserPasses
          28. regClientCSS
          29. runSnippet
          30. table_prefix
          31. tstart
          32. webAlert
      2. Chunks
      3. Modules
        1. How to create and run a module from within the Content Manager
        2. Managing module dependencies
        3. Setting up configuration parameters
        4. Writing the module code
      4. Plugins
      5. Snippets
      6. Template Variables
        1. (at) Binding
          1. (at)CHUNK
          2. (at)DIRECTORY
          3. (at)DOCUMENT
          4. (at)EVAL
          5. (at)FILE
          6. (at)INHERIT
          7. (at)SELECT
          8. What are (at) Bindings
        2. Creating a Template Variable
        3. What are Template Variables
        4. Widgets
          1. Misc. Widget
          2. DataGrid Widget
          3. Floater Widget
          4. Hyperlink Widget
          5. Marquee Widget
          6. RichTextBox Widget
          7. Ticker Widget
          8. Viewport Widget
          9. What are Widgets

How to create and run a module from within the Content Manager

In this tutorial we will show you how to create and execute a simple module. We'll also look at how we can:

  • Link resources to a module
  • Group module dependencies together

To view currently installed modules you need to go Manage modules screen. To load this screen click on either the Modules icon from the home page or on the Manage modules Menu link:

Unable to render embedded object: File (modules_1.gif) not found.

Clicking on one of the above will load the Manage modules screen:

Unable to render embedded object: File (modules_2.gif) not found.

The search bar on the right is used to search currently installed modules while the "New Modules" button on the left is user to create a new module.

We are now going to show you some basic steps in how you can create a simple phone book module.

To create a new module click on the "New module" button located on the search bar. In the module name field enter the name Phone book. You can also enter a description, an icon for the module.

Note: the Category and Resource fields are not activated in TP 3.

Unable to render embedded object: File (modules_3.gif) not found.

Note: The "Module disabled" checkbox is used to temporarily disable the module.

The field labeled "PHP" is where we will be adding our PHP code for the module but first let us have a look at the configuration tab.

The configuration tab is very similar to that used in snippets and plugins with the exception of the "GUID" and "Enable parameter sharing" properties.

The GUID (Globally Unique IDentifier) is use to uniquely identify the module and it's shared parameters within the system. This id is used to form a link between the module and the plugins or snippets accessing its shared parameters.

The Enable parameter sharing option is used to enable parameter sharing with other resources. When this option is enabled dependent snippets and plugins will be able to access to module's shared parameters.

In others the module can act as a data store for storing and sharing configuration parameters with snippets and plugins that are listed as module dependencies (more on this later).

Unable to render embedded object: File (modules_4.gif) not found.

In the above diagram Module A is sharing its configuration parameters with its dependent plugins and snippets. These plugins and snippets will automatically have Module A's configuration downloaded to them when they are executed.

So technically speaking any parameter that you set in Module A will be available to it's plugins and snippets as it was locally configured.

From the plugin or snippet configuration tab you would select the name of the module as follows:

Unable to render embedded object: File (modules_5.gif) not found.

Now that we understand shared parameters let's now take a look at how we can add configuration parameters.

Suggest an edit to this page on GitHub (Requires GitHub account. Opens a new window/tab).