Download the PHP package xima/xima-typo3-recordlist without Composer

On this page you can find all versions of the php package xima/xima-typo3-recordlist. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package xima-typo3-recordlist

![Extension icon](Resources/Public/Icons/Extension.svg) # TYPO3 Recordlist **Quickly create feature-rich TYPO3 backend modules for managing records**

TYPO3 PHP


This extension provides a powerful abstract controller for creating advanced record listing backend modules in TYPO3. Save development time by extending AbstractBackendController instead of building record lists from scratch.

Table of Contents

Why Use This Extension?

Building custom backend modules for listing and managing records typically requires significant boilerplate code. This extension eliminates that overhead by providing:

Features

Requirements

Install

Quick Start

Get a working backend module in 3 simple steps:

1. Extend new controller from AbstractBackendController

The controller must implement getTableNames() (which tables to manage) and getRecordSources() (which pages/folders to collect records from):

See Record Sources for advanced page collection options, including multiple folders and cross-site support.

Note: For multiple tables in one module, return multiple table names:

2. Register Backend Module

Register your module using the Backend module API. The key setting is controllerActions, which must reference your controller:

3. Configure Template Path

Add the template path to your sitepackage using TSconfig:

That's it! Your backend module is now ready to use. Open the TYPO3 backend and navigate to your new module to see it in action.

💡 Tip: Check out the Example directory for working implementations including single-table and multi-table modules.

Customization

The extension is highly customizable through method overrides in your controller. Here are the most common customization options:

Templates

Override templates, partials, or sections by configuring an additional template path in your TSconfig:

Inside your TemplateOverrides folder, create a Templates directory, copy the Default.html file, and customize it.

Custom Template Configurations

By default, there is only one template (Default) available. If you define multiple templates, the template selection appears automatically in the View dropdown and the selection is persisted. To define which templates are available, override getTemplateConfigurations():

Create corresponding template files (e.g., Default.html, Cards.html) in your Templates directory.

Configuration Options:

Key Description
title Template label (supports LLL: references)
icon TYPO3 icon identifier for the dropdown
actions Array of enabled actions for this template

Available Actions:

Setting actions limits which actions are shown in the module header for the selected template.

Action Description
templateSelection Template switcher in View dropdown
showColumns Column selector in View dropdown
download Download button
toggleFilters Filter toggle button
tableSelection Table selection menu
pidSelection Page selection menu
languageSelection Language selection menu
newRecord New record button

Table-Specific Templates:

For controllers managing multiple tables, return different templates per table:

Record Sources (Multiple Directories & Sites)

By default the module collects records from the configured getRecordPid() page and its direct child pages. To aggregate records from several, completely unrelated folders — optionally including their subpages, and even across multiple sites (mandants) — override getRecordSources() and return a list of RecordSource objects:

Argument Default Description
pid (required) The page/folder UID to collect records from
includeSubpages false Whether to also collect records from descendant pages
depth 100 Maximum recursion depth when includeSubpages is true (1 = direct children)

Behaviour:

Modifying Records

Add computed fields or transform data by overriding the modifyRecord() method:

Custom Filters

Default Filters

Configure filters that are applied automatically when the module first opens — before any user interaction. Override getDefaultFilters() in your controller:

User-submitted filter values always override defaults. Each entry maps a field name to value (required) and expr (optional, defaults to equals). All standard filter expressions are supported: eq, neq, like, notLike, lt, gt, in, notIn.

Filter Visibility Independent of Columns

Show a filter for a field without displaying its column in the table. Set filterVisible on any column in modifyTableConfiguration():

With filterVisible = true, the filter remains in the filter panel regardless of whether the user has toggled the column off via column management. This is useful when you want filtering capability for a field without cluttering the table view.

Modify Query Builder Filters

Add custom filter options by modifying the query builder:

Column Configuration

Configure Default Columns

Set which columns appear by default and in what order:

Fixed Columns

The extension provides two fixed columns that appear before configurable columns:

Both columns can be disabled per table:

Special Columns

The extension automatically adds special columns that users can enable via the column selector:

These columns are disabled by default but can be activated:

Enable Inline Editing

Make specific columns editable inline by assigning a partial:

Custom Actions

Adding View/Preview Actions

The view button is automatically displayed if TCEMAIN.preview is configured for your table.

To manually add view URLs:

Grouping Actions into Dropdowns

Translation and workspace row actions are collapsed into dropdowns to keep the action column narrow. The grouping is markup-driven — recordlist-action-groups.js discovers the groups from the DOM and needs no change to support a new one.

To add a group (e.g. publishing):

  1. Add a dropdown shell in your ActionGroupDropdowns.html partial, marked with data-action-group-menu="publishing" and containing an empty <ul class="dropdown-menu recordlist-action-group-menu"></ul>.
  2. Tag the actions that belong in it with data-action-group="publishing".
  3. Add a presence-hide rule to your CSS so the empty shell stays hidden — and the column width stays stable on first paint — when a row has no such action:

On load the module moves every [data-action-group="X"] action from the bar into the shell whose data-action-group-menu is X, adds a text label (from the action's title), and strips the now-redundant tooltip.

Documentation

Contributing

Contributions are welcome! See CONTRIBUTING.md for development setup and guidelines.

License

This extension is licensed under GPL-2.0-or-later.

Credits

Developed and maintained by XIMA Media GmbH.


Found this extension helpful? Please star ⭐ the repository!


All versions of xima-typo3-recordlist with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
phpoffice/phpspreadsheet Version *
typo3/cms-core Version ^13.4 || ^14.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package xima/xima-typo3-recordlist contains the following files

Loading the files please wait ...