Creating a TYPO3 Neos back-end module

TYPO3 Neos is world of Nodes with full inline editing. However in some cases you might need a back-end module to manage data which is not visible to public or for easier management. TYPO3 Neos back-end module gives you free hand how you want to design it. This article shows how to create a simple back-end module.

How to add a simple back-end module

  1. The controller that you need to be used for the back-end module, should extend the AbstractModuleController.  
    class MyProjectBEManagementController extends 
    \Neos\Neos\Controller\Module\AbstractModuleController {

    We will now add the submodules extending the MyProjectBEManagementController.

  2. The submodules of our project, will extend  MyProjectBEManagementController 
    class CustomerController extends 
    \MyCompany\App\MyProject\Controller\ MyProjectBEManagementController {
  3. The main back-end controller and the sub-modules should be listed in the Settings.yaml file as follows: 
    TYPO3:
      Neos:
        modules:
          myProjectBEManagement:
            label: 'My Project Back End Management'
            controller: '\Neos\Neos\Controller\Module\ManagementController'
            description: 'Contains multiple modules related to management of My Project'
            icon: 'icon-briefcase'
            resource: 'TYPO3_Neos_Backend_Module_Management'
            submodules:
              Customer:
                label: 'Customer Management'
                controller: '\MyCompany\App\MyProject\Controller\CustomerController'
                description: 'This module is for managing customers'
                resource: 'MyCompany_App_MyProject_Module_Customer'
                actions:
                  index:
                    label: 'Customer List'
                    title: 'Shows a list of customers'
  4. The methods of the modules and the acls should be specified in the Policy.yaml file. 
    resources:
      methods:
        MyCompany_App_MyProject_Module_Customer: 'method(MyCompany\App\MyProject\Controller\CustomerController->.*Action())'

    acls:
      TYPO3.Neos:Administrator:
        methods:
          MyCompany_App_MyProject_Module_Customer: GRANT
  5. Below is a screen-shot showing how the newly added BE module will be listed: 


Neos Backend Module View:

Categories: Neos CMS
Tags: TYPO3Neos

Copyright © 2019 Lelesys Informatik GmbH, Deutschland. All Rights Reserved.