TYPO3 Helpers by 99° TYPO3 Helpers by 99°

nnhelpers / stable

Drastically speed up your extension development with this huge collection of very smart 'oneliners'. Make updating to new TYPO3 versions simple. Packed with things you've spent hours searching on the internet for. Everything accessible with one click via a convenient backend module. No mess and no conflicts. Use whatever method makes you happy – or simple grab the source-code and paste it in your own extension.

This version supports TYPO3

Older versions also support TYPO3

Composer support

composer req nng/nnhelpers


#extension #development #backend #helper #Cheatsheet

Last upload comment

[BUGFIXES] for Version 12

Downloads by month

Download 2.0.3 External Manual Found an Issue? Code Insights Packagist.org
www.99grad.de, David Bascom, Marc Maaß
Last update
12. Jan 2023
First upload
24. Jul 2021
  • TYPO3 (12.1.0 - 12.9.99)


  1. Download ZIP file
  2. Log into your TYPO3 backend
  3. Go to Extension Manager module
  4. Press the upload button on the top bar
  5. Select the ZIP file and upload it. If you want to overwrite an existing extension installation, activate the checkbox.
  1. Go to your folder where the root composer.json file is located
  2. Type: composer req nng/nnhelpers to get the latest version that runs on your TYPO3 version.
  1. Download T3X file
  2. Log into your TYPO3 backend
  3. Go to Extension Manager module
  4. Press the upload button on the top bar
  5. Select the T3X file and upload it. If you want to overwrite an existing extension installation, activate the checkbox.

Other extensions by this user (2)

Build a REST Api for your TYPO3 project. Equipped with everything you need: Routing with annotations. User authentication. Fileupload and FAL conversion. Testbed and automatic documentation of your API. The backend module comes with a "Kickstarter" to get your RESTful API up and running in minutes.

Supported TYPO3 versions:
zvoove zvoove

Connect TYPO3 to the job and recruiting management zvoove. Display a list of your vacancies directly on your site – without iframes. Send applications to your zvoove inbox from a TYPO3 form. Customize the template with fluid and css.

Supported TYPO3 versions:

Version history

Version Upload comment Works with TYPO3 Download
2.0.3 / stable
January 12, 2023
[BUGFIXES] for Version 12
12.1.0 - 12.9.99 Download
2.0.2 / stable
December 28, 2022
More bugfixes for Typo3 v12.1
12.1.0 - 12.9.99 Download
2.0.1 / stable
December 08, 2022
New release for TYPO3 Version 12.1
12.1.0 - 12.9.99 Download
2.0.0 / stable
December 05, 2022
Updated for TYPO3 Version 12
12.0.0 - 12.9.99 Download
1.7.7 / stable
January 12, 2023
[BUGFIXES] for Version 8 – 11
8.6.0 - 11.9.99 Download
1.7.6 / stable
December 28, 2022
Fix problem with double entry of docs / Index.rst and index.rst in composer installations.
8.6.0 - 11.9.99 Download
1.7.5 / stable
December 05, 2022
Split branches for TYPO3 v8-11 and TYPO3 > 12
8.6.0 - 11.9.99 Download
1.7.4 / stable
July 27, 2022
[FEATURE] new ViewHelper {nnt3:backendUser.get()}
[BUGFIX] clear cache from command line didn't clear nnhelpers cache
[BUGFIX] fix 'Undefined array key "TSFE" in PHP 8+ THANKS Thomas Helmrich!
[BUGFIX] Test-Table: title doesn't have a default value
[BUGFIX] Content()->getAll() now sorts the content-elements in the correct order
8.6.0 - 11.9.99 Download
1.7.3 / stable
June 24, 2022
\nn\t3::Content()->get( $uid ) now returns localized content by default (can be deactivated)
NEW: \nn\t3::Content()->getAll() to retrieve multiple localized contentelements by pid, CType and/or colPos
NEW: \nn\t3::Content()->localize() to overlay any record with localization data
NEW: \nn\t3::Environment()->getLanguageFallbackChain()
8.6.0 - 11.9.99 Download
1.7.2 / stable
March 30, 2022
[BUGFIX] Issue #12 - make cache clearing less radical
[FEATURE] \nn\t3::Cache()->clear() now allows clearing a single cache by identifier
8.6.0 - 11.9.99 Download
1.7.1 / stable
March 10, 2022
- Have a look at nng/wphelpers – the nnhelpers for WordPress!
- Small bugfixed concerning Notices in PHP 8+
- Updated documentation
8.6.0 - 11.9.99 Download
1.7.0 / stable
March 02, 2022
- [BUGFIX] Issue #9 Generate URI from CLI context
- added new helper for Page()->getActionLink.
- added new helper to get all defined languages
- improved docs
8.6.0 - 11.9.99 Download
1.6.0 / stable
February 18, 2022
A big "THANK YOU" to all the positive feedback and contributions! Keep it coming :)
8.6.0 - 11.9.99 Download
1.5.2 / stable
February 02, 2022
- more PHP warnings fixed by Thomas Helmrich (GIGABIT IO GmbH & Co KG). Great guy. Keep it coming!
- made the version info visible in the backend module
8.6.0 - 11.9.99 Download
1.5.1 / stable
January 27, 2022
BIG THANKS to Thomas Helmrich from GIGABIT IO (www.gigabit.de) who cleaned up some really ugly errors and warnings in the code! And: Grüße nach Bamberg ;)
8.6.0 - 11.9.99 Download
1.5.0 / stable
January 07, 2022
- added new <nnt3:file.include /> ViewHelper
- Bugfixes and implementations for the new EXT:nnrestapi published in the TER
- Updated documentation
8.6.0 - 11.9.99 Download
1.4.0 / stable
December 04, 2021
- Fixed FlexFormHook crashing if $sheet['ROOT']['el'] is not an array (thx for reporting whoever "former user" is)
- New ViewHelpers for backend modules to clone and insert new records. See nnt3:link.CloneRecordViewHelper and nnt3:link.newRecordViewHelper for details
- \nn\t3::Db()->get() can now retrieve multiple Models by passing an array of uids. Additional \nn\t3::Db()->findByUids() method added for retrieving raw data
- added \nn\t3::Db()->sortBy() method
- added \nn\t3::Environment()->getVarPath() method to retrieve path to Typo3 /var-folder that works with all Typo3 versions
- new \nn\t3::Fal()->deleteProcessedImages() method to delete cached image(s) files on server in _processed_ folders and database
- added combined file identifier option for \nn\t3::File()->unlink()
- added \nn\t3::Error() helper to throw an Error (instead of an Exception)
- Bugfix in \nn\t3::Arrays()->intExplode()
- \nn\t3::Content()->addRelations() and \nn\t3::Content()->get() can now be used without EXT:mask
- \nn\t3::File()->getPublicUrl() now has option to get absolute URL of FAL
- new \nn\t3::File()->absUrl() method. Wonder why this was never here before :)
- new \nn\t3::TCA()-> getFalFields() to return all fields of a model that have relations defined in the TCA
- updated \nn\t3::Mail()->send() to newest Emogrifier version (campatible with PHP 8+)
- fixed various backend error messages in Typo3 8 and Typo3 11
8.6.0 - 11.9.99 Download
1.3.0 / stable
October 20, 2021
- Improved \nn\t3::debug() for debugging MySQL-statements (thanks to Oliver Krammer for reporting!)
- \nn\t3::File()->write() now supports CombinedIdentifier syntax (1:/some/folder)
- \nn\t3::Db()->update() and insert() now also support Domain-Models - no Repository needed
- new \nn\t3::TCA()->createConfig() for creating the typical TCA-fields (sys_languags_uid, l10n_parent, hidden etc.) with one line and no redundancy anymore!
- Massive refactoring of \nn\t3::Convert()->toModel() and FAL-Conversion
- New concept for \nn\t3::Obj()->merge() to overlay/merge a Model with array-data (e.g. when implementing a REST Api that needs to update a model with the data from a JSON-array)
- new \nn\t3::Environment()->getSite() and \nn\t3::Settings()-> getSiteConfig() helper to get YAML Site Configuration for current site from any Context (Middleware, Frontend)
- Various new helpers in \nn\t3::Encrypt() for encoding/decoding Strings and Arrays and generating JWT (JSON Web Tokens)
- new Helper for creating User-Sessions in table `fe_sessions`
- new Helpers in Obj() for getMethodArguments() and parseType()
- Many improvements for using nnhelpers in MiddleWare, e.g. initializing a frontend-user, setting cookie etc.
- Various small fixes for TYPO3 11.5
- Updated documentation
8.6.0 - 11.9.99 Download
1.2.0 / stable
September 23, 2021
- Added {uri.page}-ViewHelper that can create links to pages in frontend from a backend context, e.g. from a backend module. End of the hassle.
- New \nn\t3::Cache->write() and \nn\t3::Cache()->read() helpers to read/write extremely performant PHP-based cache-files that need no decoding or unserializing
- New AnnotationHelper to parse PHP annotations and optionally filter the annotations by namespace(s)
- New MarkdownHelper to convert Markdown to HTML.
- New {nnt3:parse.markdown()} ViewHelper to convert markdown to html in Fluid templates
- New {nnt3:format.replace()} ViewHelper. Heck, why is this one still missing in the Typo3 core??
- Added new Singleton pattern that – other than the Typo3 Singleton – can be used in any context, e.g. the ext_localconf.php or other boot-processes.
- Improved documentation
- Various smaller bugfixes

8.6.0 - 11.9.99 Download
1.1.0 / stable
September 03, 2021
- Now supports Typo3 v11 and PHP 8+
- New great helpers for simplified getting/setting of backend-user-preferences. Check out \nn\t3::BackendUser()->updateSettings() and \nn\t3::BackendUser()->getSettings() for details.
- Improved the internal Testunits for development
- Various improvements and bugfixes
8.6.0 - 11.9.99 Download
1.0.7 / stable
August 27, 2021
- Great new Helpers for getting/setting values in TCA, e.g. in you Overrides/TCA.
Have a look at the new functions in \nn\t3::TCA()->setConfig() and \nn\t3::TCA()->getConfig() for examples.
- Bugfix in FAL-Helper: pid was not retrieved when using \nn\t3::Convert( $fal )->toArray()
- Improved \nn\t3::Db()->statement() so it can be used for DELETE or UPDATE
- Improved Dokumentation
8.6.0 - 10.9.99 Download
1.0.6 / stable
August 03, 2021
- Added option to return FileReference instead of filepath in \nn\t3::File()->process(). This method is great for creating cached and processed thumbnails on-the-fly, e.g. when sending a REST-response which needs processed images.
- Added helper for checking if a hashed password in the database needs update because it uses outdated hashing-algorithmn in \nn\t3::Encrypt()->hashNeedsUpdate()
- Added example how to convert old hashes in fe_user-table to new hashes.
- Added helper for logging of frontend-user, even if frontend is not available, e.g. in a MiddleWare process.
- Many improvements and updates on the documentation, in DE and EN
8.6.0 - 10.9.99 Download
1.0.5 / stable
July 29, 2021
New "slide"-option for Content()->getColumn(); Added method for converting human readable byte-string (e.g. "10MB") to integer bytes. Added Environment()->getPostMaxSize() Helper. Updated Docs with more examples in DE/EN and a side-by-side comparison between Vanilla Typo3 and nnhelpers. Updated Extension Icon for the TER, better title and description.
8.6.0 - 10.9.99 Download
1.0.4 / stable
July 28, 2021
Deutsche Dokumentation hinzugefügt. Fixed a warning in Backend with deprecated static call of DomDocument.
8.6.0 - 10.9.99 Download
1.0.3 / stable
July 26, 2021
Added ViewHelper documentation with many examples, added new DocumentationHelper-classes for parsing annotations and generating documentations. Various code improvements.
8.6.0 - 10.9.99 Download
1.0.2 / stable
July 25, 2021
New helpers for creating files and folders. New translation helper and ViewHelper with support for Deep-L translations and smart caching, Updated Documentation in EN, added full description of all helper-methods for the TER. Improved caching of backend-module.
8.6.0 - 10.9.99 Download
1.0.1 / stable
July 24, 2021
Added documentation
8.6.0 - 10.9.99 Download
1.0.0 / stable
July 24, 2021
First public release. Have fun. Save time.
8.6.0 - 10.9.99 Download