Attention

TYPO3 v7 has reached its end-of-life November 30th, 2018 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

There is no further ELTS support. It is recommended that you upgrade your project and use a supported version of TYPO3.

Declaration file

The ext_emconf.php is the single most important file in an extension. Without it, the Extension Manager (EM) will not detect the extension, much less be able to install it. This file contains a declaration of what the extension is or does for the EM. The only thing included is an associative array, $EM_CONF[extension key]. The keys are described in the table below.

When extensions are imported from the online repository this file is written anew! So don't put any custom stuff in there - only change values in the $EM_CONF array if needed.

Key

Data type

Description

title

string, required

The name of the extension in English.

description

string, required

Short and precise description in English of what the extension does and for whom it might be useful.

category

string

Which category the extension belongs to:

  • be

    Backend (Generally backend-oriented, but not a module)

  • module

    Backend modules (When something is a module or connects with one)

  • fe

    Frontend (Generally frontend oriented, but not a "true" plugin)

  • plugin

    Frontend plugins (Plugins inserted as a "Insert Plugin" content element)

  • misc

    Miscellaneous stuff (Where not easily placed elsewhere)

  • services

    Contains TYPO3 services

  • templates

    Contains website templates

  • example

    Example extension (Which serves as examples etc.)

  • doc

    Documentation (e.g. tutorials, FAQ's etc.)

  • distribution

    Distribution, an extension kickstarting a full site

constraints

array

List of requirements, suggestions or conflicts with other extensions or TYPO3 or PHP version. Here's how a typical setup might look:

'constraints' => array(
    'depends' => array(
        'typo3' => '4.5.0-6.1.99',
        'php' => '5.3.0-5.5.99'
    ),
    'conflicts' => array(
        'dam' => ''
    ),
    'suggests' => array(
        'tt_news' => '2.5.0-0.0.0'
    )
)
depends

List of extensions that this extension depends on. Extensions defined here will be loaded before the current extension.

conflicts

List of extensions which will not work with this extension.

suggests

List of suggestions of extensions that work together or enhance this extension. Extensions defined here will be loaded before the current extension. Dependencies take precedence over suggestions.

Note: If a "suggested" extension depends on the current extension (directly or indirectly), the suggestion is not taken into account for loading order calculation. Read more at forge#57825.

The above example indicated that the extension depends on a version of TYPO3 between 4.5 and 6.1 (as only bug and security fixes are integrated into TYPO3 when the last digit of the version changes, it is safe to assume it will be compatible with any upcoming version of the corresponding branch, thus .99). Also the extension has been tested and is known to work properly with PHP 5.3, 5.4 and 5.5. It will conflict with the DAM (any version) and it is suggested that it might be worth installing "tt_news" (version at least 2.5.0).

state

string

Which state is the extension in

  • alpha

    Alpha state is used for very initial work, basically the state is has during the very process of creating its foundation.

  • beta

    Under current development. Beta extensions are functional but not complete in functionality. Most likely beta-extensions will not be reviewed.

  • stable

    Stable extensions are complete, mature and ready for production environment. You will be approached for a review. Authors of stable extensions carry a responsibility to be maintain and improve them.

  • experimental

    Experimental state is useful for anything experimental - of course. Nobody knows if this is going anywhere yet... Maybe still just an idea.

  • test

    Test extension, demonstrates concepts etc.

  • obsolete

    The extension is obsolete or deprecated. This can be due to other extensions solving the same problem but in a better way or if the extension is not being maintained anymore.

  • excludeFromUpdates

    This state makes it impossible to update the extension through the extension manager (neither by the Update mechanism, nor by uploading a newer version to the installation). This is very useful if you made local changes to an extension for a specific installation and don't want any admin to overwrite them.

    New since TYPO3 4.3.

uploadfolder

boolean

If set, then the folder named "uploads/tx_[extKey-with-no- underscore]" should be present!

createDirs

list of strings

Comma list of directories to create upon extension installation.

clearCacheOnLoad

boolean

If set, the EM will request the cache to be cleared when this extension is loaded.

author

string

Author name (Use a-z)

author_email

email address

Author email address

author_company

string

Author company (if any company sponsors the extension).

docPath

string

Path to documentation. This has never been fully supported neither by the TER nor by the Extension Manager. The documentation is expected to be in folder doc when using OpenOffice/LibreOffice format and in folder Documentation when using reStructuredText (recommended). See Adding documentation for more information.

Deprecated

CGLcompliance

keyword

Compliance level that the extension claims to adhere to. A compliance defines certain coding guidelines, level of documentation, technical requirements (like XHTML, DBAL usage etc).

Deprecated

CGLcompliance_note

string

Any remarks to the compliance status. Might describe some minor incompatibilities or other reservations.

Deprecated

private

boolean

If set, this version of the extension is not included in the public list!

Not supported anymore

download_password

string

If set, this password must additionally be specified if people want to access (import or see details for) this the extension.

Not supported anymore

version

main.sub.dev

Version of the extension. Automatically managed by EM / TER. Format is [int].[int].[int]