Address List 

Extension key

tt_address

Package name

friendsoftypo3/tt-address

Version

main

Language

en

Author

Georg Ringer & Contributors

License

This document is published under the Open Content License.

Rendered

Tue, 25 Nov 2025 13:40:33 +0000


The basic aim of this extension is to store address and contact data and to output those in various ways:

  • Selection based on categories and sysfolder
  • Manual selection with custom sorting
  • List & detail view
  • Various map views including Leaflet, Google Maps and static Google Maps

Table of Contents:

Introduction 

What does it do? 

This 2 goals of this extension are:

  • Provide records which represent addresses and a plugin to output those in various variants
  • Provide a solid base for other extensions which use and extend the records.

Benefits of this extension are:

  • actively maintained
  • is 100% covered by unit & functional tests
  • supports in its current version TYPO3 12.4 and 13.4
  • implements all important micro data information to improve onpage search engine optimization (rich snippets)
  • Default templates are based on Twitter Bootstrap

Screenshots 

Administration 

Installation 

  10.x 9.x 8.x 7.x 6.x 5.x 4.x 3.x
TYPO3 14 yes no no no no no no no
TYPO3 13 yes yes no no no no no no
TYPO3 12 no yes yes no no no no no
TYPO3 11 no no yes yes yes no no no
TYPO3 10 no no no no yes yes no no
TYPO3 9 no no no no no yes yes no
TYPO3 8 no no no no no no yes yes
TYPO3 7 no no no no no no no yes

The extension needs to be installed as any other extension of TYPO3 CMS:

  1. Get it from the Extension Manager: Press the “Retrieve/Update” button and search for the extension key tt_address and import the extension from the repository.
  2. Get it from typo3.org: You can always get current version from the TER by downloading the zip file. Upload it directly in the Extension Manager or its unpacked version by FTP.
  3. Use composer: Run

    composer require friendsoftypo3/tt-address
    Copied!

Settings -> Extension Configuration offers some basic configuration which is explained here.

Latest version from git 

You can get a copy of the Git repository with the latest version by using the git command:

git clone git@github.com:FriendsOfTYPO3/tt_address.git
Copied!

Preparation: Include static TypoScript 

The extension ships some TypoScript code which needs to be included.

  1. Switch to the root page of your site.
  2. Switch to the TypoScript module, select your master template file and select Edit TypoScript Record.
  3. Press the link Edit the whole TypoScript record and switch to the tab Advanced Options.
  4. Select Addresses (Extbase/Fluid) at the field Include TypoScript sets:

Updating 

In general after every update you should update the database scheme in Admin tools > Maintenance > Analyze Database and flush all caches.

Updating from 5.x to 9.0.0 

The field name is not filled automatically anymore by the first and last name and the field will be remove with one of the next versions. If your templates or third party extension depend on this field to be filled you can activate the legacy behaviour in Admin tools > Settings > Extension Configuration by checking Store backwards compatibility name in name field.

Translation files for languages other then English are not included directly in the extension anymore. You can get them from the translation server at Admin tools > Maintenance > Manage Language Packs.

Updating from 4.x to 5.0.0 

With the version 5.0.0 the TYPO3 versions 9 and 10 are supported which also means that the support for version 8 has been dropped.

Updating from 3.x to 4.0.0 

With the version 4.0.0 the code base changed a lot to support TYPO3 8.7 LTS and 9.5 LTS.

The most important changes are:

  • Changing the vendor name from TYPO3 to FriendsOfTYPO3
  • Usage of Extbase & Fluid. The previous plugin is deprecated and will be removed with version 5.0.0
  • Changing the location of TypoScript files of old plugin

An upgrade wizard in the Install Tool makes it possible to upgrade the TypoScript usages. It migrates EXT:tt_address/static/pi1 to EXT:tt_address/Configuration/TypoScript/LegacyPlugin.

Another upgrade wizard migrates old pi_base plugins to extbase plugins. The Template option is converted to Display mode. So for example your Template is my_template.html, then

  • Add TSconfig TCEFORM.tt_content.pi_flexform.ttaddress_listview.sDISPLAY.settings\\.displayMode.addItems.my_template = My Template
  • Add a section named displayMode_my_template in your custom List.html fluid template

After execution (via cli) you get a list of custom templates you used in your installation.

Updating from 2.x to 4.0.0 

It is not possible to upgrade from version 2.x to 4.0 directly! Update first to the latest 3.x version and use the upgrade wizards to migrate from custom category records to sys_category records and to FAL elements.

Changelog 

10.0.0 - xxth November 2025 

This release

Breaking Changes 

Changed plugin registration 

The usage of the field list_type of tt_content has been removed.

Please use the Upgrade Wizard in the Install to migrate existing elements!

Records of hidden storage pages are not rendered 

If a storage page (e.g., a sysfolder) containing address records is set to hidden, the related address records will also not be rendered.

This behavior allows editors to quickly show or hide groups of news records by simply toggling the visibility of their storage page.

This also enables editors to quickly hide & unhide address records by changing the visibility of the storage pages.

Drop field skype 

As skype has been announced as end of life, the field has also been removed from the address record.

Features 

New social fields 

The following social fields have been added:

  • linkedincompany
  • bluesky
  • whatsapp
  • youtubechannel

All Changes 

This is a list of all changes in this release:

2025-11-20 [TASK] Remove xml:space=reserve (Commit b9cd568 by Georg Ringer)
2025-11-20 [BUGFIX] Fix missing labels (Commit 415d975 by Georg Ringer)
2025-11-20 [TASK] Enable functional tests (Commit 79a7448 by Georg Ringer)
2025-11-20 [TASK] Cast pid list (Commit 2cfacad by Georg Ringer)
2025-11-20 [TASK] Make functionals work (Commit 4238d63 by Georg Ringer)
2025-11-20 [TASK] Make functionals work (Commit fcd3326 by Georg Ringer)
2025-11-20 [TASK] Make functionals work (Commit c2fa6ab by Georg Ringer)
2025-11-19 [TASK] Update runtests.sh (Commit ccd9f75 by Georg Ringer)
2025-11-19 [TASK] Raise dev dependencies (Commit b7649a7 by Georg Ringer)
2025-11-19 [TASK] Enable functional tests (Commit 58b4c19 by Georg Ringer)
2025-11-19 [TASK] Make tests green (Commit f30a601 by Georg Ringer)
2025-11-19 [TASK] Handle deprecations (Commit d856d6a by Georg Ringer)
2025-11-18 Merge pull request #606 from BastianBalthasarBux/master (Commit c4be1e7 by Georg Ringer)
2025-11-18 [TASK] Change fluid variable _computed to computed (Commit 430af2e by Georg Ringer)
2025-11-18 Merge branch 'v14' into master (Commit 2039cac by Georg Ringer)
2025-11-18 [TASK] Fix ViewHelpers (Commit 37fdc98 by Georg Ringer)
2025-11-18 [TASK] Fix ViewHelpers (Commit 6e457fb by Georg Ringer)
2025-11-15 [TASK] Enable tests for v14 (#608) (Commit be9ac5a by Georg Ringer)
2025-11-14 [TASK] Fix cs (Commit 1d80405 by Georg Ringer)
2025-11-14 [TASK] Provide update wizard for ctypes (Commit 7220111 by Georg Ringer)
2025-11-14 [TASK] Fix preview in backend (Commit 6922db9 by Georg Ringer)
2025-11-14 [TASK] Update flexforms (Commit 6ae4600 by Georg Ringer)
2025-11-14 [TASK] Remove outdated tsconfig call (Commit 3fbc93c by Georg Ringer)
2025-11-14 [TASK] Fix cs issues (Commit 6865177 by Georg Ringer)
2025-11-14 [TASK] Fix cs issues (Commit 385cc0b by Georg Ringer)
2025-11-14 [TASK] Drop testing of v12 (Commit 5eda4df by Georg Ringer)
2025-11-14 [!!!][TASK] Replace QueryGenerator with PageRepository (Commit 6e18511 by Georg Ringer)
2025-11-14 [BUGFIX] Fix test for CacheUtility (Commit 6d44745 by Georg Ringer)
2025-11-13 [TASK] Update plugin registration (Commit 8a77a0b by Georg Ringer)
2025-11-13 [TASK] Update types II (Commit 906464b by Georg Ringer)
2025-11-13 [TASK] Update CacheUtility (Commit 560fa86 by Georg Ringer)
2025-11-13 [TASK] Cleanup Classes I (Commit 456f4b4 by Georg Ringer)
2025-11-13 [TASK] Update main TCA (Commit 2eb964a by Georg Ringer)
2025-11-13 [TASK] Define allowed versions (Commit b6bc5ae by Georg Ringer)
2025-11-13 [TASK] Add new fields to palette (Commit 3d94b81 by Clemens Riccabona)
2025-11-13 [FIX] dumb error of mine. (Commit 43244e3 by Clemens Riccabona)
2025-11-13 [FIX TESTS] remove obsolete test, add new ones (Commit b7c386e by Clemens Riccabona)
2025-11-13 [FIX CGL] remove an unnecessary space in front of function name (Commit df55862 by Clemens Riccabona)
2025-11-12 [TASK] Add/remove code in partial for social media accounts (Commit 093531c by Clemens Riccabona)
2025-11-12 [TASK] Add/remove getters and setters in domain model (Commit dbed7d5 by Clemens Riccabona)
2025-11-12 [TASK] Add/remove/adjust language labels (Commit df532cd by Clemens Riccabona)
2025-11-12 [TASK] Remove Skype, add WhatsApp, YoutubeChannel, LinkedIn Company, Bluesky (Commit 25979f0 by Clemens Riccabona)
2025-07-15 Merge branch 'FriendsOfTYPO3:master' into master (Commit c24b32a by C. Riccabona)
2025-05-05 remove constant TYPO3_MODE (#596) (Commit 11eb211 by Franz Holzinger)
2025-04-23 update supported version TYPO3 12 and 13 (#595) (Commit 0c3a8d4 by Franz Holzinger)
2025-04-07 [BUGFIX] Fixes unspecific Category Class (#592) (Commit 822a690 by Jan Storm)
2024-11-08 Merge branch 'FriendsOfTYPO3:master' into master (Commit bd1555f by C. Riccabona)
2024-02-06 Merge branch 'FriendsOfTYPO3:master' into master (Commit bbb7cc2 by C. Riccabona)
2024-01-05 Merge branch 'FriendsOfTYPO3:master' into master (Commit 554be14 by C. Riccabona)
2023-07-26 Merge branch 'FriendsOfTYPO3:master' into master (Commit 70af97e by C. Riccabona)
2023-03-22 Merge branch 'FriendsOfTYPO3:master' into master (Commit b684a05 by C. Riccabona)
2022-10-13 Merge branch 'FriendsOfTYPO3:master' into master (Commit 5d97497 by C. Riccabona)
2022-10-13 [BUGFIX] Title values to new labels (Commit 8eb4229 by C. Riccabona)
Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

9.1.0 - 3rd April 2025 

Important changes 

No important changes

All Changes 

This is a list of all changes in this release:

2025-04-03 [TASK] Make tests run on php 8.4 (#591) (Commit 8bf8fd0 by Georg Ringer)
2025-04-03 [BUGFIX] Fix str_getcsv for php 8.4 (Commit 8da3f0f by Georg Ringer)
2025-04-03 [TASK] Make it run (Commit 7832649 by Georg Ringer)
2025-04-03 [TASK] Enable tests for PHP 8.4 (Commit 1b26611 by Georg Ringer)
2025-04-03 [TASK] Enable tests for PHP 8.4 (Commit ce880a4 by Georg Ringer)
2025-03-17 [BUGFIX] Set order of event for page module (Commit dd563f6 by Georg Ringer)
2025-03-14 [TASK] Make csfixers happy (Commit 3f9ac90 by Georg Ringer)
2025-03-02 [TASK] Use GU::makeInstance for demand #586 (Commit 838510a by Georg Ringer)
2024-11-26 [FEATURE] Add Extended tab in TCA (#583) (Commit 38d2ae0 by thomasrawiel)
2024-11-13 [BUGFIX] Fix TypoScript inclusion (#581) (Commit b829ccb by Lina Wolf)
2024-10-31 [TASK] Fix cgl (Commit 3435c78 by Georg Ringer)
2024-10-31 [BUGFIX] Add better restriction to show view for preselected records (Commit bc7e158 by Georg Ringer)
2024-10-31 [FEATURE] Limit singlePid suggest to reachable pages (Commit 1606b42 by Georg Ringer)
2024-10-31 [FEATURE] Introduce Site Sets (#574) (Commit 398f0a5 by Lina Wolf)
2024-10-31 [TASK] Update .editorconfig (#575) (Commit dd0706a by Lina Wolf)
2024-09-09 Migrate deprecated google marker to google advanced marker (#576) (Commit c6bad72 by Caroline Löbhard)
2024-09-09 fix async geocode function (#577) (Commit 3d6dc84 by Roman Teitge)
2024-08-27 [BUGFIX]  FE Error: Uncaught TypeError: item.getAttribute #522 (#573) (Commit 1f8f25a by Caroline Löbhard)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

9.0.1 - 4th August 2024 

Important changes 

Thanks to Alexander Grein for providing a pull reguest to fix the geocoding wizard!

All Changes 

This is a list of all changes in this release:

2024-07-31 Create es6 js module for location map wizard (#568) (Commit 202dc72 by Alexander Grein)
2024-07-26 [DOC] Update badgets (Commit a842b49 by Georg Ringer)
2024-07-26 [DOC] Update version matrix (#567) (Commit 17743cd by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

9.0.0 - 26th July 2024 

Important changes 

This version is compatible with TYPO3 12 & 13. The minimum PHP version is 8.1.

Be aware: The OpenStreetMap integration in the backend to search for coordinates is currently disabled.

All Changes 

This is a list of all changes in this release:

2024-07-26 [TASK] Make csfixer happy (Commit c706373 by Georg Ringer)
2024-07-26 [BUGFIX] Fix wrong merge (Commit 7660fbe by Georg Ringer)
2024-07-26 Merge remote-tracking branch 'origin/12-13' (Commit 5cf60a5 by Georg Ringer)
2024-07-26 [BUGFIX] Register event the old way (Commit 93096ce by Georg Ringer)
2024-07-26 [TASK] Remove dbal dependency (Commit f236702 by Georg Ringer)
2024-07-26 [TASK] Move plugin registration (Commit 2a7ad10 by Georg Ringer)
2024-07-07 [BUGFIX] Fix wrong test (Commit 1f4a299 by Georg Ringer)
2024-07-07 [BUGFIX] Fix plugin preview (Commit a021519 by Georg Ringer)
2024-07-07 [TASK] Fix phpcs (Commit 525b594 by Georg Ringer)
2024-07-07 [TASK] Disable backend map for v13 (Commit 6819151 by Georg Ringer)
2024-07-07 [BUGFIX] Fix contentobjectdata (Commit ec9f1e6 by Georg Ringer)
2024-07-07 [TASK] Update flexform settings (Commit 2a8e426 by Georg Ringer)
2024-07-07 [TASK] Followup (Commit 8a1532c by Georg Ringer)
2024-07-07 [TASK] Update version matrix (Commit 66c43c5 by Georg Ringer)
2024-07-07 [TASK] Update gitignore (Commit 1390a1d by Georg Ringer)
2024-07-07 [TASK] Skip false positives in extension scanner (Commit 8e6ad1a by Georg Ringer)
2024-07-07 [TASK] Fix more tests (Commit 4ebec1a by Georg Ringer)
2024-07-07 allow more doctrine dbal for v13 (Commit 85f3803 by Georg Ringer)
2024-07-07 [TASK] Switch default DB back (Commit 38f72fc by Georg Ringer)
2024-07-07 [TASK] Improve tests (Commit e1a8c26 by Georg Ringer)
2024-07-07 [TASK] Work on tests (Commit 529ead6 by Georg Ringer)
2024-07-07 [TASK] Add test suite for v13 (Commit 91b60d2 by Georg Ringer)
2024-07-07 [TASK] Move unit test to functional (Commit 35b0308 by Georg Ringer)
2024-07-07 followup (Commit 21ac438 by Georg Ringer)
2024-07-07 [TASK] Skip outdated tests for time being (Commit 73769d3 by Georg Ringer)
2024-07-07 [TASK] Make tests work (Commit e8e1b17 by Georg Ringer)
2024-07-07 [TASK] Update testing framework (Commit 9893f02 by Georg Ringer)
2024-07-07 [TASK] Make php-cs-fixer happy (Commit c957dfe by Georg Ringer)
2024-07-07 [TASK] Repair broken class (Commit d367aec by Georg Ringer)
2024-07-07 [TASK] Remove version checks (Commit 65ead95 by Georg Ringer)
2024-07-07 [TASK] Migrate other TCA stuff (Commit 4a2b197 by Georg Ringer)
2024-07-07 [TASK] Integrate TCA changes (Commit 3b5e57d by Georg Ringer)
2024-07-07 [TASK] Change cache key (Commit b515c9d by Georg Ringer)
2024-07-07 [TASK] Set requirements for 12-13 (Commit e265c9e by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

8.1.1 - 10th July 2024 

All Changes 

This is a list of all changes in this release:

2024-07-09 fix: make preview renderer compatible with typo3 12.4.17 (#554) (Commit e909317 by Maik Schneider)
2024-05-06 [BUGFIX] Fix notice (Commit 06edeb5 by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

8.1.0 - 1st May 2024 

All Changes 

This is a list of all changes in this release:

2024-05-01 [FEATURE] Make insert record available #508 (Commit c596fa3 by Georg Ringer)
2024-05-01 [BUGFIX] Add workspace overlay in label hook #525 (Commit f8b7a93 by Georg Ringer)
2024-05-01 [TASK] Drop unused setting backwardsCompatFormat #510 (Commit 5bf71b5 by Georg Ringer)
2024-05-01 [BUGFIX] Check record in Label hook #513 (Commit 95d127a by Georg Ringer)
2024-03-20 [TASK] Use Connection instead of PDO (#520) (Commit 0ae85fb by Eric Harrer)
2024-03-04 [DOCS] Switch to PHP-based documentation rendering (#519) (Commit 197c2fc by Lina Wolf)
Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

8.0.3 - 12th February 2024 

All Changes 

This is a list of all changes in this release:

2024-02-12 [TASK] Explicitly require symfony/console (#517) (Commit b206771 by Mathias Brodala)
2024-01-25 Prevent Fatal Error in TYPO3 12.4 (#516) (Commit 95e1d6d by Lina Wolf)
2024-01-25 Update ext_conf_template.txt (#514) (Commit 9d326a7 by Uwe)
2024-01-08 [BUGFIX] Cannot add new address record in TYPO3 v12 PHP 8.2 (#512) (Commit 6dc5661 by Luca Braun)
Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

8.0.2 - 22th December 2023 

All Changes 

This is a list of all changes in this release:

2023-10-10 Update LocationMapWizard.php (#501) (Commit f9ac64a by Markus Söth)
2023-08-29 [FIX] adapt nominatim API URL (#498) (Commit b96f2c4 by Ingo Fabbri)
2023-08-28 Fix check for sortBy field (#451) (Commit ac3a41d by Uwe)
2023-08-01 [DOC] Fix example using in other extension #495 (Commit 8f77d2e by Georg Ringer)
2023-07-27 [TASK] Improve leavlet JS (Commit acf43a2 by Georg Ringer)
2023-06-15 [BUGFIX] Load full row for label #485 (Commit b27e170 by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

8.0.1 - 8th June 2023 

All Changes 

This is a list of all changes in this release:

2023-06-07 [BUGFIX] Make TelephoneEvaluation work in v11 #484 (Commit b06bfad by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

8.0.0 - 7th June 2023 

♥ Thanks to StudioMitte (https://www.studiomitte.com/) for sponsoring this release!

Important changes 

Better CSP support 

CSP (Content Security Policy) can be used to prevent loading inline styles. Therefore some styles have been extracted into a separate CSS file.

Additionally the CSP configuration for TYPO3 v12 has been extended to allow calls to OpenStreetMap!

Database changes 

  • 2 new fields have been added: Instagram + TikTok
  • Increased size of the fields building + room

All Changes 

This is a list of all changes in this release:

2023-05-26 Adding Instagram + TikTok to social details (#477) (Commit df17cea by bucheggerOnline)
2023-05-23 [TASK] Configure CSP for FE (Commit 6fa22cf by Georg Ringer)
2023-05-23 [!!!][TASK] Move inline styles to external file (Commit 1399cd5 by Georg Ringer)
2023-05-22 [TASK] Increase field size (Commit e7086af by Georg Ringer)
2023-05-22 [TASK] Increase field size (Commit 76ede1e by Georg Ringer)
2023-05-15 [TASK] Add CSP policy (Commit 008fcc5 by Georg Ringer)
2023-05-15 [TASK] Migrate custom form field evaluation (returnFieldJS) (#468) (Commit 71045b7 by Oliver Hader)
2023-05-14 [BUGFIX] Fix notice with PHP 8 (Commit 1789c52 by Georg Ringer)
2023-05-04 Mark as TYPO3 12.4 compatible (#465) (Commit 80cb029 by Alexander Grein)
2023-04-19 [DOC] Fix typo in routing example (Commit 5600f0c by Georg Ringer)
2023-03-28 [TASK] Followup: Change format for pages module field (Commit b0f8c2e by Georg Ringer)
2023-03-28 [TASK] Support new TCA format for selects (Commit 32a3478 by Georg Ringer)
2023-03-13 [BUGFIX] Declare (#453) (Commit 9a24aab by Tim Dreier)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

7.1.0 - 16th February 2023 

Important changes 

No important changes happend, just a bugfix release

All Changes 

This is a list of all changes in this release:

2023-01-19 [BUGFIX] Allow set sorting via TS (Commit 9cfc51a by Georg Ringer)
2023-01-19 Revert "[TASK] Enhance List.xml Flexform (#371)" (Commit 94a8e1f by Georg Ringer)
2023-01-12 [FEATURE] Support EXT:reactions (Commit cbabd36 by Georg Ringer)
2023-01-04 [BUGFIX] Set localization mode for gender to exclude (#449) (Commit c305640 by Peter Neumann)
2022-12-21 PHP Warning: Undefined array key "singleRecords" in AddressController.php line 165 (#447) (Commit 60360a8 by in-session)
2022-11-10 [BUGFIX] Prevent undefined array key "groups" (#446) (Commit ffb2501 by Peter Neumann)
2022-10-13 [TASK] Delete Commands.php in favor of Services.yaml (#441) (Commit 08d085c by Christoph Lehmann)
2022-10-13 [BUGFIX] Title values to new labels (#442) (Commit e9c362a by C. Riccabona)
2022-10-08 [DOC] Enrich routing example (Commit e8cacb4 by Georg Ringer)
2022-10-08 [TASK] Remove unused pagination switch (#440) (Commit 0ed9b29 by Georg Ringer)
2022-10-08 [DOC] Fix routing example (Commit a12422c by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

7.0.0 - 7th October 2022 

Important changes 

The following changes could be breaking for you.

Support of TYPO3 12 

12.0 has been released on 4th of October 2022. Read more about it at https://typo3.org/article/typo3-v120-release-your-power! No breaking changes are planned anymore which makes it possible for extensions to start to be compatible with the next awesome TYPO3 version.

Drop support of TYPO3 10 

With the release of version 7, the support of TYPO3 10 has been stopped. tt_address is kind of feature complete and without known bugs, therefore no further 6.x releases are planned.

Removal of automatic redirect in detail view 

Previously a redirect has been triggered in the detail view if no record has been found. This redirect has been removed.

All Changes 

This is a list of all changes in this release:

2022-10-07 [TASK] Use correct psr4 in ext_emconf (Commit 98d4565 by Georg Ringer)
2022-10-07 Apply fixes from StyleCI (#438) (Commit a0e4028 by Georg Ringer)
2022-10-07 [BUGFIX] Fix undefined notice for new records (Commit 905f291 by Georg Ringer)
2022-10-07 [TASK] Replace PageLayoutViewHook with PreviewRenderer (Commit c2d0ae1 by Georg Ringer)
2022-10-07 [BUGFIX] Use correct DB call (Commit 009608c by Georg Ringer)
2022-10-07 Apply fixes from StyleCI (#436) (Commit 9a7e5b8 by Georg Ringer)
2022-10-07 [BUGFIX] Check t3 version for js module (Commit d1a81ef by Georg Ringer)
2022-10-07 add composer tf bridge (Commit d95e5de by Georg Ringer)
2022-10-07 add composer tf bridge (Commit d928d84 by Georg Ringer)
2022-10-07 Revert "[TASK] Add php 8.2" (Commit f730950 by Georg Ringer)
2022-10-07 [TASK] Add php 8.2 (Commit e1057b3 by Georg Ringer)
2022-10-07 [BUGFIX] Use array_values for unpacking (Commit ced151d by Georg Ringer)
2022-10-07 followup (Commit 7e77fb8 by Georg Ringer)
2022-10-07 [TASK] Use latest TF (Commit 3e646fd by Georg Ringer)
2022-10-07 [TASK] Migrate tests (Commit 64fb44a by Georg Ringer)
2022-10-07 [BUGFIX] Fix failing tests (Commit 6dc4ecb by Georg Ringer)
2022-10-06 [TASK] Allow composer plugins (Commit b6670f3 by Georg Ringer)
2022-10-06 [TASK] Migrate 1st run (Commit bfa1f72 by Georg Ringer)
2022-10-06 [BUGFIX] Register command in services.yaml (Commit 154009a by Georg Ringer)
2022-08-22 [BUGFIX] Fix warning in pagelayoutview (Commit be3e18b by Georg Ringer)
2022-07-21 [TASK] int cast for pid value (#419) (Commit a52ef48 by ayacoo)
2022-06-28 Apply fixes from StyleCI (#418) (Commit a7c94cc by Georg Ringer)
2022-06-28 [!!!][TASK] Remove redirect in detail view (Commit 08aca68 by Georg Ringer)
2022-06-02 [FEATURE] Provide getter in model for the language id (Commit 351a9dc by Georg Ringer)
2022-05-10 [FEATURE] Added storage page check for showAction (#415) (Commit 1543d9f by Torben Hansen)
2022-04-11 [TASK] Add TER + documentation + repository to composer.json (#413) (Commit 040c0b4 by Alexander Nitsche)
2022-04-05 [TASK] Align with new TYPO3 documentation standards (#411) (Commit 8c53536 by Alexander Nitsche)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

6.0.1 - 18th Match 2022 

All Changes 

This is a list of all changes in this release:

2022-03-18 [FEATURE] Allow sortBy by override (#410) (Commit 1a149ca by Georg Ringer)
2022-03-16 [BUGFIX] Fix notice in AddressController (Commit 7785757 by Georg Ringer)
2022-03-15 [DOCS] Update docs (#407) (Commit e451d43 by Alexander Nitsche)
2022-03-14 [DOCS] Fix rendering errors (#408) (Commit 3fc8b44 by Lina Wolf)
2022-03-10 [DOCS] Provide LinkHandler configuration (#405) (Commit bad89ad by Lina Wolf)
2022-02-22 [FEATURE] Information on updating from v5.x to 6.0 (#402) (Commit e25a685 by Lina Wolf)
Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

6.0.0 - 3th February 2022 

Important changes 

The following changes could be breaking for you.

Handling of field name 

The field name is not filled automatically anymore by the first and last name and the field will be remove with one of the next versions.

Code cleanup 

The following code cleanups have been added:

  • Removal of translated XLF files: Download the translations from the translation server via Install Tool.
  • Strict types and type hints have been added

Features 

Improved record title in backend 

It is possible to change the used fields for the title of the record by TsConfig. This is nice if using the extension for various purposes, e.g. locations and newsletter subscriptions.

# Page TsConfig
tt_address.label = name;last_name,first_name;email
Copied!

Each label group is divided by ; and each group can hold a list of field names.

  1. In the given example, the value of the field name is shown if filled.
  2. If the field is empty, the values of the fields last_name and first_name are shown.
  3. If this combination is still empty, the email address is shown

New properties & getters 

  • The field titleSuffix has been added
  • The getter getFirstCategory has been added to make it easier in fluid to retrive the first category with {address.firstCategory}.

New ViewHelpers 

The following ViewHelpers have been added:

  • <address:clean.domain />
  • <address:clean.phoneNumber />

Those trigger the same cleaning as {address.cleanedPhoneNumber} and {address.wwwSimplified}.

If address records are retrieved directly, e.g. by using a DataProcessor, it is possible to clean the values as in the templates.

All Changes 

This is a list of all changes in this release:

2022-02-03 [DOC] Provide some more badges in the main readme (Commit f957599 by Georg Ringer)
2022-02-03 Apply fixes from StyleCI (#397) (Commit f539473 by Georg Ringer)
2022-02-03 [BUGFIX] Remove unused argument from QueryGenerator (Commit c9e1431 by Georg Ringer)
2022-01-31 Apply fixes from StyleCI (#395) (Commit 17e1a1b by Georg Ringer)
2022-01-31 [TASK] Improve fallback for titles (Commit 2912099 by Georg Ringer)
2022-01-15 [FEATURE] Dynamic label configuration (Commit ff78ce9 by Georg Ringer)
2022-01-15 [FEATURE] Extract property modification to utility (#391) (Commit cedcd55 by Georg Ringer)
2022-01-12 [FEATURE] Provide proper metatag description (Commit 544df31 by Georg Ringer)
2022-01-12 [FEATURE] Provide suffix title field (Commit cdc0988 by Georg Ringer)
2022-01-12 [BUGFIX] Provide more fields at ctrl|label_alt (Commit d0ca8ab by Georg Ringer)
2022-01-12 [FEATURE] implement firstCategory property (#383) (Commit 4341d2e by Henrik Ziegenhain)
2022-01-12 [TASK] Check for TYPO3_MODE for icon registry (Commit 2df50d0 by Georg Ringer)
2021-11-23 [DOCS] Add explanation and example for Routing (#380) (Commit 47496ad by Lina Wolf)
2021-11-02 [BUGFIX] Ignore newPagination setting for TYPO3 11 (#378) (Commit 288ae5f by Georg Ringer)
2021-11-02 [TASK] Avoid usage of ObjectManager in AddressRepository (Commit a058e83 by Georg Ringer)
2021-11-02 [TASK] Avoid usage of ObjectManager in AddressRepository (Commit e980c05 by Georg Ringer)
2021-11-02 [TASK] Avoid usage of ObjectManager in test (Commit 3b1e09a by Georg Ringer)
2021-11-02 [TASK] Use correct cache name in ext_localconf (Commit 88e3728 by Georg Ringer)
2021-11-02 [TASK] Use proper cache name (Commit e1efc7d by Georg Ringer)
2021-11-02 [TASK] Use TCA type language in TYPO3 11 (Commit 8ced7e5 by Georg Ringer)
2021-10-21 [DOC] Followup (Commit 6768741 by Georg Ringer)
2021-10-21 [DOC] Fix example of extending model (Commit cb39e4c by Georg Ringer)
2021-10-12 [DOC] Start changelog of 6.0.0 (Commit 87acc2c by Georg Ringer)
2021-10-12 [TASK] Use own partial for f:widget (Commit d75fc88 by Georg Ringer)
2021-10-12 [BUGFIX] Address:getImage might return null (Commit c9c8fe4 by Georg Ringer)
2021-10-12 [TASK] Allow TYPO3 11.5 (Commit 3d89fac by Georg Ringer)
2021-09-29 [TASK] Add PHP8 for tests (#374) (Commit bf1545d by Georg Ringer)
2021-09-15 [TASK] Add strict types (#372) (Commit d1b5a06 by Georg Ringer)
2021-09-15 [TASK] Enhance List.xml Flexform (#371) (Commit c3a4e45 by Max Amann)
2021-09-15 [BUGFIX] Check array keys before accessing those (Commit 2370e64 by Georg Ringer)
2021-09-14 [BUGFIX] Check proper cache configuration (Commit f667b1b by Georg Ringer)
2021-09-12 [TASK] Drop outdated plugin registration (Commit f6d895c by Georg Ringer)
2021-09-12 [TASK] Use prophecy traits (#369) (Commit 6cf691e by Georg Ringer)
2021-09-12 [TASK] Use own QueryGenerator (#367) (Commit 7c98cf1 by Georg Ringer)
2021-09-12 [TASK] Change ubuntu version for tests (Commit 3ac6dd0 by Georg Ringer)
2021-09-01 [TASK] Change sql index name to avoid a name conflict (#361) (Commit a34c2e2 by ayacoo)
2021-08-09 [BUGFIX] Typecast to string for page id list (Commit 403750f by Georg Ringer)
2021-08-09 [BUGFIX] Typecast for itemsPerPage (Commit 2e56d65 by Georg Ringer)
2021-07-28 [BUGFIX] Make table key uf8mb4 compatible (#352) (Commit 3782d92 by Marc Bastian Heinrichs)
2021-07-28 [TASK] Support of 10-11 (Commit 3d105a5 by Georg Ringer)
2021-01-19 [TASK] Run tests on github (Commit bbfd685 by Georg Ringer)
2021-01-19 [BUGFIX] Fix failing tests (Commit 553ff4b by Georg Ringer)
2021-01-19 Apply fixes from StyleCI (#327) (Commit 98f99a3 by Georg Ringer)
2021-01-19 [DOC] Update version matrix (Commit f75eb27 by Georg Ringer)
2021-01-19 [!!!][TASK] Make all classes strict (Commit 6165c17 by Georg Ringer)
2021-01-19 [TASK] Simplfy ext_tables.sql (Commit 0c65d8a by Georg Ringer)
2021-01-19 [BUGFIX] Update test to use https (Commit 53ab13f by Georg Ringer)
2021-01-19 [TASK] Remove .travis.yml (Commit b4134a9 by Georg Ringer)
2021-01-19 [TASK] Cleanup tca (Commit c93cf54 by Georg Ringer)
2021-01-19 [TASK] Fix nitpickings of phpstan (Commit 7cd7f94 by Georg Ringer)
2021-01-19 [TASK] Remove label check from TCA (Commit 7c995d5 by Georg Ringer)
2021-01-19 [TASK] Raise minimum typo3 version (Commit 9c419ca by Georg Ringer)
2021-01-19 [TASK] Drop mapping in typoscript (Commit e02d01f by Georg Ringer)
2021-01-19 [!!!][TASK] Remove backwards compat name field (Commit b3c8ffc by Georg Ringer)
2021-01-19 [!!!][TASK] Remove localized xlf files (Commit 01eb699 by Georg Ringer)

Copied!

This list has been created by using:

git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short
Copied!

5.3.0 - 24th February 2021 

Important changes 

Supported & Required TYPO3 versions 

  • TYPO3 9: This release is the last planned one which will support TYPO3 9.
  • TYPO3 10: If the new pagination API is used, TYPO3 10.4.13 is required
  • TYPO3 11: This is the 1st version which supports 11.0

Support of Pagination API 

Since TYPO3 10 a new pagination API has been introduced as the pagination via widgets has been marked as deprecated. Read more about it at https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Pagination/Index.html.

To simplify updates and getting you used to this API, this release includes the new paginiation API as well.

Please be aware that the routing configuration needs to be adopted as the name of the variable changed from [widget_0][currentPage]=2 to [currentPage]=2!

All Changes 

This is a list of all changes in this release:

2021-07-28 [TASK] Exclude Domain/Model from autowiring (Commit 0e4b9ef by Georg Ringer)
2021-07-26 Compatibility with Apache 2.4.x (#355) (Commit 1c43d12 by Stefan Neufeind)
2021-07-20 [BUGFIX] Set proper size of flexform settings.groups (#349) (Commit 7c8667d by Patrick Lenk)
2021-05-18 [TASK] Remove @entity from model (Commit 63928da by Georg Ringer)
2021-04-10 [BUGFIX] Use the correct ImageReference in partials (#347) (Commit f4b5786 by ayacoo)
2021-03-25 [TASK] Remove show_thumbs in Flexform (#344) (Commit a174ef0 by Sybille Peters)
2021-03-23 Merge pull request #342 from tantebootsy/master (Commit 5a4f592 by Benni Mack)
2021-03-23 change boolean to bool (Commit 62e9105 by Michael Bakonyi)
2021-03-23 add hidden to model (Commit 2433b32 by Michael Bakonyi)
2021-02-24 [TASK] Raise version to 5.3.0 (Commit d017991 by Georg Ringer)
2021-02-24 [FEATURE] Support Pagination API of 10+ (Commit 24de820 by Georg Ringer)


Copied!

This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

5.2.1 - 24th February 2021 

Important changes 

All Changes 

This is a list of all changes in this release:

2021-02-09 [TASK] Remove unnecessary limit (#338) (Commit 21b69d3 by nebrot)
2021-01-27 [BUGFIX] Remove trailing comma to keep compatibility with PHP 7.2 (#336) (Commit 1f45e44 by Xavier Perseguers)
2021-01-22 [TASK] Use new plugin configuration (Commit 0ca38f6 by Georg Ringer)
2021-01-22 [FEATURE]  Clean phone number for tel links (Commit 8c1ea14 by Stefan Frömken)
2020-12-22 [DOC] Fix typo in readme (Commit 458e7b9 by Dirk Jüttner)
2020-10-08 [BUGFIX] Change check if TS setting should be overriden via flexforms (#310) (Commit 8a4c088 by Georg Ringer)
2020-10-07 [TASK] Add return value for command #309 (Commit 2c90a91 by Georg Ringer)
2020-10-07 [TASK] Add eval trim to email address (Commit ddc963c by bucheggerOnline)
2020-10-06 [TASK] Improve CGL (Commit bec7497 by Georg Ringer)

Copied!

This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

5.2.0 - 22th September 2020 

Important changes 

Custom page title provider 

All Changes 

This is a list of all changes in this release:

2020-09-22 [FEATURE] Plugin preview in page module (#302) (Commit ab91dd8 by Georg Ringer)
2020-09-22 Merge pull request #305 from jokumer/patch-1 (Commit 15d3239 by Benni Mack)
2020-09-22 Fix TCA locallang for field sys_language_uid (Commit ad4ac9e by jokumer)
2020-09-21 [FEATURE] Provide filter TsConfig for allowedNewTables (Commit fcdb474 by Georg Ringer)
2020-09-19 Merge pull request #271 from Patta/cleanup-plugin-title (Commit 2fdb254 by C. Riccabona)
2020-09-19 Merge branch 'master' into cleanup-plugin-title (Commit bc2eb91 by C. Riccabona)
2020-09-19 [TASK] Merge pull request #298 from mmunz/map-wizard-inline (Commit e868a9c by C. Riccabona)
2020-09-16 Merge branch 'master' into cleanup-plugin-title (Commit 7bebe67 by C. Riccabona)
2020-09-16 Merge branch 'master' into map-wizard-inline (Commit c704250 by C. Riccabona)
2020-09-09 [BUGFIX] replace displayCondition for slug field (#294) (Commit 4501d1f by devmes)
2020-08-26 Merge branch 'map-wizard-inline' of github.com:mmunz/tt_address into map-wizard-inline (Commit ee7e0cf by Manuel Munz)
2020-08-26 [TASK] Make LocationMapWizard work with multiple latlon fields and when used in inline relations (Commit a0b63b5 by Manuel Munz)
2020-08-26 rework the LocationMapWizard to work with multiple latlon fields and fields in inline relations (Commit d99ad20 by Manuel Munz)
2020-08-19 [TASK] Apply fixes from StyleCI (#297) (Commit fd2d4e2 by Georg Ringer)
2020-08-19 [TASK] Don't remove layout field for plugin (Commit e65d97b by Georg Ringer)
2020-08-18 Merge branch 'master' into cleanup-plugin-title (Commit ee5ec0e by C. Riccabona)
2020-08-16 [TASK] Update composer.json to recommended values (Commit 1fb0f8d by C. Riccabona)
2020-08-16 Merge pull request #289 from BastianBalthasarBux/master (Commit ae17b13 by C. Riccabona)
2020-08-16 Merge branch 'master' into master (Commit ff52db8 by C. Riccabona)
2020-08-16 [FIX] Remove editlock (Commit 943039e by Clemens Riccabona)
2020-08-16 [TASK] Add fe_group to palette access, resolves #279 (Commit dae2a4a by Clemens Riccabona)
2020-08-14 [FIX] Enable risky mode (Commit b36b265 by C. Riccabona)
2020-08-14 Merge pull request #286 from BastianBalthasarBux/master (Commit d0591f1 by C. Riccabona)
2020-08-14 Merge branch 'master' into master (Commit 105b323 by C. Riccabona)
2020-07-31 [BUGFIX] Load map also if scripts are loaded async (Commit 96a8c3e by C. Riccabona)
2020-07-27 Merge pull request #283 from BastianBalthasarBux/master (Commit a390fa4 by C. Riccabona)
2020-07-27 [TASK] Add test for setter/getter of slug (Commit e7a2057 by C. Riccabona)
2020-07-27 [FIX] CGL - remove some whitespaces (Commit 86f76a7 by C. Riccabona)
2020-07-27 [TASK] Add getter and setter for slug (Commit 4611cde by C. Riccabona)
2020-06-13 Merge branch 'master' into cleanup-plugin-title (Commit 7b6cafe by C. Riccabona)
2020-06-11 Merge pull request #278 from BastianBalthasarBux/master (Commit f88affc by ©lemens)
2020-05-18 Update EvalcoordinatesUtility.php (Commit b29bd6e by Georg Ringer)
2020-05-16 [FIX] eval coordinates test (Commit 4ae8786 by Clemens Riccabona)
2020-05-16 [FIX] eval coordinates test (Commit 46c8b1b by Clemens Riccabona)
2020-05-16 [FIX] sort order of tested array in unit tests ... (Commit 1afacd9 by Clemens Riccabona)
2020-05-16 [FIX] Fix another test (Commit 24e5041 by Clemens Riccabona)
2020-05-16 [FIX] Fix two other occurrences of coordinates length tests (Commit defb1c6 by Clemens Riccabona)
2020-05-16 [TASK] Adjust tests for evalution of lat and lon due to optimized db sizes of coordinates (Commit ecd6ab3 by Clemens Riccabona)
2020-05-16 [TASK] Update composer.json to avoid security message concerning unsecure TYPO3 versions (Commit ebb1644 by Clemens Riccabona)
2020-05-16 Merge branch 'master' of https://github.com/FriendsOfTYPO3/tt_address (Commit f1e72b5 by Clemens Riccabona)
2020-05-06 [!!!] Set slug eval to unique (Commit e3bcabc by Georg Ringer)
2020-05-06 [TASK] Allow sortOrder by combined name field, feature request #261 (Commit 3ace437 by Clemens Riccabona)
2020-05-06 [TASK] Re-add css-class btn for map-view singlePid link, remove duplicated title, remove hellip (not useful within buttons) (Commit c322877 by Clemens Riccabona)
2020-05-06 [TASK] Include most parts from PR #274, a big thank you for that contribution goes to @colorcube (Commit 39eac8c by Clemens Riccabona)
2020-05-06 [TASK][FOLLOWUP] Revert settings.map.singlePid, this will prevent from respecting pre-existing flexform field for mapView (Commit 1b1a7eb by Clemens Riccabona)
2020-05-05 Merge branch 'master' of https://github.com/FriendsOfTYPO3/tt_address (Commit b57ec8f by Clemens Riccabona)
2020-05-05 [TASK] Add some TS defaults (Commit f156922 by heikohaensge)
2020-05-05 Merge branch 'master' into cleanup-plugin-title (Commit d1b6838 by ©lemens)
2020-05-05 TCA migrations - add renderType to dateTime fields (#277) (Commit 044f768 by Henri Nathanson)
2020-05-05 [FIX][FOLLOWUP] Remove css-class from single view link in bubble (Commit 13edac8 by Clemens Riccabona)
2020-05-05 [TASK] Include link to single view in maps bubble if singlePid is set; Thanks to @heikohaensge with PR #235 (Commit 4eda8e0 by Clemens Riccabona)
2020-05-04 [TASK] Keep extbase prefix in plugin title and description label identifier to avoid a breaking change (Commit 3036718 by Patrick Lenk)
2020-05-04 [TASK] Merge with upstream (Commit ad62aaf by Clemens Riccabona)
2020-04-21 [BUGFIX] Fix composer v2.0 compatibility (Commit fbc2157 by Benni Mack)
Copied!

This list has been created by using git log $(git describe --tags --abbrev=0)..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

5.1.2 - 2020-04-21 

All Changes 

This is a list of all changes in this release:

2020-04-21 [TASK] Force 10.4 (#275) (Commit 86d6dba by Georg Ringer)
2020-04-21 [BUGFIX] Take care about failing tests  (#276) (Commit 0844912 by Georg Ringer)
2020-04-15 [BUGFIX] Frontend Leaflet map: .getAttribute does not work on childNodes[i] (Commit 4fe8025 by ©lemens)
Copied!

This list has been created by using git log 5.1.1..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

5.1.1 - 2020-03-30 

All Changes 

This is a list of all changes in this release:

2020-03-30 [TASK] Remove exclude config from l10n_parent (Commit 2a01dc3 by Georg Ringer)
Copied!

This list has been created by using git log 5.1.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

5.1.0 - 2020-02-19 

Important changes 

Custom page title provider 

A custom page title provider makes it possible to generate a page title on the detail view.

plugin.tx_ttaddress.settings.seo {
   pageTitle {
       properties = title,firstName,middleName,lastName
       glue = " "
   }
}
Copied!

Starttime + Endtime fields 

A tt_address record can now have a start and end time. Please do a DB compare in Install Tool after updating!.

All Changes 

This is a list of all changes in this release:

2020-02-18 [TASK] Allow 10x (Commit 48bd075 by Georg Ringer)
2020-02-18 FEATURE] Add starttime & endtime fields (Commit 340f956 by Georg Ringer)
2020-02-18 [TASK] Adopt flexform for 10 (Commit 2b9fd5e by Georg Ringer)
2020-02-18 [BUGFIX]: Sync name field in localized records (#268) (Commit 730367c by hfuonlineservices)
2020-02-05 [DOC] Escape \ (Commit a1df9f5 by Christian-Hackl)
2019-12-18 [TASK] Add PHP 7.4 checks on travis (Commit 6720839 by Georg Ringer)
2019-10-15 Fix syntax in count-condition (#258) (Commit 461c988 by Stefan Neufeind)
2019-10-13 [TASK] Add persistence mapping for 10x (Commit 22f0fd3 by Georg Ringer)
2019-10-01 [TASK] Use translate=no for strings with no translation (Commit 64f6544 by Georg Ringer)
2019-09-13 [DOC] Start release notes of 5.1.0 (Commit 4e21e0b by Georg Ringer)
2019-09-13 [FEATURE] Add page title provider for detail view (Commit 1bf95d9 by Georg Ringer)
2019-09-09 [TASK] Fix more typos (Commit b956fba by Georg Ringer)
2019-09-09 [TASK] Fix typo (Commit bc5b272 by Georg Ringer)
2019-09-09 [TASK] Update translations (Commit 90e34a5 by Georg Ringer)
2019-09-09 [TASK] Remove legacy TypoScript (Commit c06c4e5 by Georg Ringer)
2019-09-03 [TASK] Add translations (Commit f3380ce by Georg Ringer)
2019-09-03 New translations locallang_db.xlf (French) (Commit a9a33c3 by Georg Ringer)
2019-09-03 New translations locallang.xlf (French) (Commit fa8f8be by Georg Ringer)
2019-09-03 New translations locallang_ff.xlf (French) (Commit 91c8d89 by Georg Ringer)
2019-09-03 New translations locallang.xlf (French) (Commit d25353b by Georg Ringer)
2019-09-03 New translations locallang_db.xlf (French) (Commit 90d3275 by Georg Ringer)
2019-09-03 New translations locallang_ff.xlf (TYPO3 In-Context Localization) (Commit e6cab8e by Georg Ringer)
2019-09-03 New translations locallang_ff.xlf (Danish) (Commit 678b3bb by Georg Ringer)
2019-09-03 New translations locallang_ff.xlf (German) (Commit 6ba5c12 by Georg Ringer)
2019-09-03 New translations locallang_ff.xlf (Italian) (Commit 84692a6 by Georg Ringer)
2019-09-03 [TASK] Fix translation for `pi1_flexform.singlePid` (Commit 9511431 by Georg Ringer)


Copied!

This list has been created by using git log 5.0.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

5.0.0 - 2019-03-08 

Important changes 

This release is the 1st release which supports TYPO3 10 and TYPO3 9 LTS only. This also means that the support for version 8 has been removed.

However version 8 will be still supported for priority bugfixes in the 4.x branch.

Cleanup codebase 

The following code parts have been changed:

  • Removal of the piBase/AbstractPlugin plugin
  • Removal of the file:locallang_pi1.xlf file.
  • Removal of the update wizards
  • Removal of hook to support EXT:realurl
  • Support of php:$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['tt_address'] instead of the serialized configuration in $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['tt_address']

Use crowdin for localization 

The project uses https://crowdin.com/project/typo3-extension-ttaddress for localization of the xlf files.

All Changes 

This is a list of all changes in this release:

2019-09-03 [TASK] Remove empty localizations (Commit fc1b46a by Georg Ringer)
2019-09-03 [TASK] Reduce duplicates in translations (Commit eeb20d9 by Georg Ringer)
2019-09-03 [TASK] Release 5.0.0 (Commit 48feed3 by Georg Ringer)
2019-09-02 [TASK] Add .crowdin.yml to .gitattributes (Commit c5aac11 by Georg Ringer)
2019-09-02 [DOC] Improve release notes (Commit f87fed1 by Georg Ringer)
2019-09-02 [!!!][TASK] Make it ready for 9+10 (Commit bff33d0 by Georg Ringer)
2019-09-02 [TASK] Add more translations (Commit e2e4791 by Georg Ringer)
2019-08-27 [TASK] Update translations (Commit fec3510 by Georg Ringer)
2019-08-27 [TASK] Add all translations (Commit 05e65d7 by Georg Ringer)
2019-08-27 Update Crowdin configuration file (Commit cc76ece by Georg Ringer)
2019-08-27 Update Crowdin configuration file (Commit 1b1781a by Georg Ringer)
2019-05-23 [TASK] Raise testing coverage (#229) (Commit 6781b0f by Georg Ringer)
2019-05-23 fixed: SQL error: 'Incorrect integer value: '' for column 'l10n_parent' at row 1' (tt_address:NEW5cd1552965f6b253387324) on copy&paste tt_address record (#217) (Commit b0b7afe by Christian-Hackl)
2019-05-23 [BUGFIX] Add mysql to the travis services (#227) (Commit de6268f by Georg Ringer)
2019-05-20 [BUGFIX] Remove itemprop="email" from templates (Commit 9e06656 by Georg Ringer)
2019-05-20 [BUGFIX] Use f:format.html for description (Commit 5f552dd by Georg Ringer)

Copied!

This list has been created by using git log 4.3.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

4.3.0 - 2019-04-25 

Features 

The following features have been added to tt_address.

RTE for description 

The description field is now rendered using an RTE.

Method to get raw query 

A new method \FriendsOfTYPO3\TtAddress\Domain\Repository\AddressRepository::getSqlQuery has been added which can be used to retrieve the raw database query which could be used for further calls. Example

$demand = new Demand();
$demand->setPages(['1', '2']);
$sql = $this->addressRepository->getSqlQuery($demand);
Copied!

Important changes 

The default rendering option for maps has been changed to leaflet.

Thanks to 

Thanks to all all contributors, especially to - Ralf Tönjes - Christoph Lehmann - Georg Ringer

and also thanks to Studio Mitte Digital Media Gmbh (https://studiomitte.com/) for sponsoring work time and supporting this project!

All Changes 

This is a list of all changes in this release:

2019-04-24  fixed wrong language variables for gender various (#216) (Commit c73de2e by Ralf Tönjes)
2019-04-24 set default rendering to leaflet as described in the documents (#213) (Commit 67298af by Ralf Tönjes)
2019-04-12 [BUGFIX] Move typecast (Commit 4c2213d by Georg Ringer)
2019-04-11 [TASK] Add type and eval to tstamp & crdate fields (Commit 2f883e3 by Georg Ringer)
2019-04-11 [TASK] Change birthday field to bigint (Commit b284722 by Georg Ringer)
2019-04-04 [FEATURE] Provide raw query option (#205) (Commit 79be032 by Georg Ringer)
2019-04-04 [FEATURE] Cache invalidation for address records (#207) (Commit 296d2df by Christoph Lehmann)
2019-04-01 [TASK] Enable RTE for description field (Commit 9db05d7 by Georg Ringer)
2019-03-28 [BUGFIX] Add type cast to array to avoid errors (Commit 6c0c7e2 by Georg Ringer)
2019-03-22 [DOC] Describe usage of extender for tt_address (Commit 450317e by Georg Ringer)
2019-03-22 [BUGFIX] Provide missing labels for flexform sorting (Commit 54ddf48 by Georg Ringer)

Copied!

This list has been created by using git log 4.2.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

4.2.0 - 2019-03-15 

Features 

The following features have been added to tt_address.

Map support 

Since version 4.2.0 the extension is capable of rendering records on a map. The following variants are included by default:

  • Leaflet
  • Google Maps
  • Static Google Maps

It is described in detail in the docs.

Allow overriding demand object 

It is now possible to override the configuration used to retrieve the proper records. It is described in detail in the docs.

A simple example can look like this.

<f:link.page
   additionalParams="{tx_ttaddress_listview:{override:{categories: 1}}}">
   Category 1
</f:link.page>
Copied!

Slug field 

The address record has been extended by a slug field.

Helper getters 

The following getters have been added to the Address model:

  • {address.fullName}: Gives you the full name including title, first, middle and last name
  • {address.wwwSimplified}: Gives you the the web link without any possible parameters like _blank

Configurable telephone validation regex 

The regex used for validation the telephone number of a record is now configurable within the Extension Manager's settings.

All Changes 

This is a list of all changes in this release:

2019-03-03 [TASK] Add pages to all functional checks (Commit 0213651 by Georg Ringer)
2019-02-28 [FEATURE] Allow overriding demand object (#186) (Commit 506c3e1 by Georg Ringer)
2019-02-28 [FEATURE] Add slug field (Commit 926520a by Georg Ringer)
2019-02-27 [TASK] Move to Icon-API via requireJS (Commit 508b546 by ©lemens)
2019-02-27 [TASK] Use phpunit/codecov ^5 (Commit 3acf8e6 by Georg Ringer)
2019-02-17 [BUGFIX] Fix failing update wizard (#180) (Commit 556db7a by Georg Ringer)
2019-02-17 [TASK] Added "various" as additional option for gender field (#178) (Commit 2609f07 by Torben Hansen)
2019-02-14 [FEATURE] Geocoding Wizard in TCA (Commit 3a4673f by Georg Ringer)
2019-02-12 [BUGFIX] Respect bool values in overrideFlexformSettingsIfEmpty (#170) (Commit 76d149e by Georg Ringer)
2019-02-11 [BUGFIX] Check for invalid sorting field (#168) (Commit e161dc4 by Georg Ringer)
2019-02-11 [TASK] Respect link of sys_file_references in template (Commit 85f5de8 by Georg Ringer)
2019-02-11 [TASK] Skip inconsistent flexform in migration task (#161) (Commit b4483e5 by Torben Hansen)
2019-02-10 [BUGFIX] Show link without attributes (#164) (Commit 4f1d4c1 by Georg Ringer)
2019-02-08 [FEATURE] Added allowLanguageSynchronization to TCA (#162) (Commit 0ed1eca by Torben Hansen)
2019-02-08 [TASK] Minor bugfiles and improvements (#159) (Commit 2b6f83e by Torben Hansen)
2019-02-06 [FEATURE] Make telephone regex configurable (#157) (Commit 5b62953 by Georg Ringer)
2019-02-04 Merge pull request #153 from svewap/master (Commit df4c2b9 by ©lemens)
2019-02-01 Allow hyphen for phone number extension. See https://en.wikipedia.org/wiki/National_conventions_for_writing_telephone_numbers#Germany (Commit 24a96e1 by Sven Wappler)

Copied!

This list has been created by using git log 4.1.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

4.1.0 - 2018-02-04 

Features 

Add subcategory flag 

The category selection is extended by a new field in the FlexForms settings called Include subcategories. By default it is disabled and only if enabled, sub categories are taken into account as well.

All Changes 

This is a list of all changes in this release:

2019-01-31 [FEATURE Add subcategory flag (#151) (Commit e975c02 by Georg Ringer)
2019-01-31 [BUGFIX] Use pagination settings in template (Commit f9bc928 by Georg Ringer)
2019-01-31 [BUGFIX] Respect sorting field in customSelection (Commit 36477dd by Georg Ringer)
2019-01-31 [TASK] Add migration of legacy plugins to extbase plugins (#140) (Commit 82b176b by Christoph Lehmann)
2019-01-31 [TASK] Add checks for PHP 7.3 (Commit 7403729 by Georg Ringer)
2019-01-31 [TASK] Add sorting to field selector (Commit 25cc4bb by Georg Ringer)
2019-01-11 Bugfix: Overwriting of storage pid from flexform (#139) (Commit 1cc3a85 by Christoph Lehmann)
2019-01-09 [BUGFIX] Use f.link.typolink for links (Commit 4e36575 by Georg Ringer)
Copied!

This list has been created by using git log 4.0.1..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

4.0.1 - 2018-12-21 

Breaking changes 

Set exclude value in flexform fields 

All fields of the extbase variant flexform have been improved by defining <exclude>1</exclude>. This makes it possible to limit an editor to specific fields of the plugin.

If editors are allowed to create and edit plugins of tt_address (extbase variant) you must enable the needed fields in the backend usergroup configuration after updating from version 4.0.0.

If only admins are allowed to create and edit plugins, no action is required.

All Changes 

This is a list of all changes in this release:

2018-12-21 Apply fixes from StyleCI (#135) (Commit 14ba5da by Georg Ringer)
2018-12-21 [BUGFIX] Show language fields in TCA (Commit f602a24 by Georg Ringer)
2018-12-21 Use correct slack and stackoverflow info in support question issue template (#131) (Commit de03046 by Patrick Lenk)
2018-12-17 [BUGFIX] Use correct namespace for realurl auto conf (Commit 352f2d8 by Georg Ringer)
2018-12-14 [!!!][TASK] Add exclude 1 to flexform fields (Commit 31bd8fa by Georg Ringer)
2018-12-14 [BUGFIX] Use correct image reference in LegacyPlugin (Commit 2ff2f36 by Georg Ringer)
2018-12-14 [BUGFIX] Use MarkerBasedTemplateService (Commit 0a21bb3 by Georg Ringer)
2018-12-14 [BUGFIX] Fix get groups query for address in legacy plugin controller (#126) (Commit 80455cc by GertHammes)

Copied!

This list has been created by using git log 4.0.0..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

4.0.0 - 2018-12-12 

Important changes 

Deprecated pi1 plugin 

The plugin based on AbstractPlugin (formerly known as pibase) has been marked as deprecated and will be removed with version 5.0.0. If you still want to use this version you need to enable it in the settings of the extension manager.

Changed vendor name 

The vendor name has been changed from TYPO3 to FriendsOfTYPO3. This change is only relevant if you or any extension you are using extends tt_address.

Installing the extension via composer did not change and is still composer req friendsoftypo3/tt-address.

Features 

Extbase & Fluid 

A new plugin has been added which is based on extbase & fluid, 2 very well known concepts of TYPO3 and its eco system.

The default templates are based on Twitter Bootstrap to have a well known code base.

Rich snippets 

The templates integrate rich snippets for every field by default.

Code base 

The code base of tt_address has been changed and improved in every area. To keep the quality high, the whole code base is now covered with unit and functional tests which are executed with every commit and pull request.

All Changes 

This is a list of all changes in this release:

2018-12-12 [TASK] Rename sections (Commit 8ca949a by Georg Ringer)
2018-12-07 [!!!][TASK] Use template sections for displayMode (Commit 6a89e3f by Georg Ringer)
2018-12-06 [TASK] Change singlerecord DB (Commit 7dd7f45 by Georg Ringer)
2018-12-05 [DOC] Update changelog (Commit 758cc37 by Georg Ringer)
2018-12-05 [TASK] Improve flexforms (Commit fce71c7 by Georg Ringer)
2018-12-04 [TASK] Adopt icon (Commit 65361d0 by Georg Ringer)
2018-12-03 Apply fixes from StyleCI (#116) (Commit ca78158 by Georg Ringer)
2018-12-02 [BUGFIX] Improve TCA for sys_language_uid (Commit 852f865 by Georg Ringer)
2018-11-29 [FEATURE] Add page tree icon (Commit c060811 by Georg Ringer)
2018-11-28 [TASK] Update icons (Commit 745f93a by Georg Ringer)
2018-11-27 [TASK] Adopt readme (Commit ae60199 by Georg Ringer)
2018-11-27 [DOC] Add changelog (Commit 7008ed4 by Georg Ringer)
2018-11-26 [TASK] Improve docs (Commit 7e5ffdc by Georg Ringer)
2018-11-26 [TASK] Code cleanup (Commit 3ca26f8 by Georg Ringer)
2018-11-26 Apply fixes from StyleCI (#112) (Commit 7edb065 by Georg Ringer)
2018-11-26 [BUGFIX] Add missing use statement (Commit ca1508d by Georg Ringer)
2018-11-26 [DOC] Fix some typos in manual (Commit fae3ec4 by Georg Ringer)
2018-11-25 [BUGFIX] Make the update wizard work (Commit dedc6a1 by Georg Ringer)
2018-11-25 [BUGFIX] Fix update wizard (#110) (Commit b55b042 by Georg Ringer)
2018-11-25 [TASK] Add deprecation info to LegacyPluginController (Commit 7a93e5c by Georg Ringer)
2018-11-24 [TASK] Add github issue templates (Commit 7fdeacb by Georg Ringer)
2018-11-24 [TASK] Improve docs (Commit 18e1527 by Georg Ringer)
2018-11-24 [TASK] Fix getter & setter for linkedin propery (Commit 22070bb by Georg Ringer)
2018-11-24 [CLEANUP] Rename linkedin property (Commit 9204bf8 by ©lemens)
2018-11-24 [CLEANUP] Rename linkedin property (Commit 285188e by ©lemens)
2018-11-24 [FEATURE] Improve frontend (#103) (Commit f4d21b4 by Georg Ringer)
2018-11-23 [TASK] Add missing indexed_search comment (Commit bfe773d by Georg Ringer)
2018-11-22 [TASK] Remove old wizards (Commit 37bb913 by Georg Ringer)
2018-11-22 Apply fixes from StyleCI (#101) (Commit 6ba4f1d by Georg Ringer)
2018-11-22 [BUGFIX] Ignore default sorting (Commit 6938959 by Georg Ringer)
2018-11-22 Apply fixes from StyleCI (#100) (Commit 51d9ca0 by Georg Ringer)
2018-11-22 [TASK] Add .gitattributes file (Commit 9d002eb by Georg Ringer)
2018-11-22 [TASK] Move local build files (Commit 7530bfc by Georg Ringer)
2018-11-22 [TASK] Update license block (Commit aa52037 by Georg Ringer)
2018-11-22 [TASK] Remove wip map rendering (Commit be1e040 by Georg Ringer)
2018-11-22 Update README.md (Commit 7f02260 by Georg Ringer)
2018-11-22 [TASK] Check coverage (#96) (Commit 46a05fb by Georg Ringer)
2018-11-21 Apply fixes from StyleCI (#95) (Commit 5213bdb by Georg Ringer)
2018-11-21 [TASK] Add tests for actions (Commit 3227ce9 by Georg Ringer)
2018-11-21 [!!!][TASK] Remove HeaderDataViewHelper (Commit 7c813ca by Georg Ringer)
2018-11-21 Apply fixes from StyleCI (#94) (Commit fad073f by Georg Ringer)
2018-11-21 [TASK] Use demand object for creating proper queries (#93) (Commit 19653e6 by Georg Ringer)
2018-11-21 [TASK] Add functional testing (#92) (Commit 4125dad by Georg Ringer)
2018-11-20 Merge pull request #87 from FriendsOfTYPO3/analysis-qxoNQB (Commit cd4cb37 by Georg Ringer)
2018-11-20 Apply fixes from StyleCI (Commit 3d3d010 by Georg Ringer)
2018-11-20 [BUGFIX] Typecase int in migration #62 (Commit e532d4c by Georg Ringer)
2018-11-20 [!!!][TASK] Drop custom pagination (Commit 78cfa5c by Georg Ringer)
2018-11-20 [TASK] Add test to LegacyPluginSelector (Commit d5370b6 by Georg Ringer)
2018-11-20 [TASK] Add test for AddFieldsToSelector (Commit 9c0545d by Georg Ringer)
2018-11-20 [TASK] Add test for realurl hook (Commit f1e6254 by Georg Ringer)
2018-11-20 [TASK] Add styleci badge (Commit 537ce01 by Georg Ringer)
2018-11-20 [TASK] Improve code quality (Commit ca74c7d by Georg Ringer)
2018-11-20 [TASK] Add test for setting merge (Commit 0c920bc by Georg Ringer)
2018-11-20 [TASK] More tests to AddressController (Commit fec5bd0 by Georg Ringer)
2018-11-20 [TASK] Improve readme (Commit 5a58908 by Georg Ringer)
2018-11-19 Merge pull request #77 from FriendsOfTYPO3/analysis-qxo4NO (Commit 2f109cc by Georg Ringer)
2018-11-19 Apply fixes from StyleCI (Commit 8ab407c by Georg Ringer)
2018-11-19 [TASK] Add styleci configuration (Commit 62f0290 by Georg Ringer)
2018-11-19 Merge pull request #75 from georgringer/master (Commit b140a04 by Georg Ringer)
2018-11-19 [TASK] Add more tests and improve code (Commit 8f1e2f2 by Georg Ringer)
2018-11-19 [TASK] Allow php7.2 with 8 (Commit d238f58 by Georg Ringer)
2018-11-19 fix test (Commit e78f771 by Georg Ringer)
2018-11-19 [TASK] Add testing (Commit 95c5dc6 by Georg Ringer)
2018-11-19 [TASK] More (Commit dc1b5b8 by Georg Ringer)
2018-11-17 [TASK] Improve category (Commit aab52ef by Georg Ringer)
2018-11-17 [TASK] Rework everything (Commit dc2b814 by Georg Ringer)
2018-11-15 [TASK] Rename namespace (Commit 462b6d5 by Georg Ringer)
2018-11-15 [TASK] Move ext icon (Commit a44f473 by Georg Ringer)
2018-11-14 [TASK] Make legacy plugin compatible with v9 (Commit c8c0855 by Benni Mack)
2018-11-13 [CLEANUP] Added remarks, applied coding guidelines from Core (Commit 4b1bef5 by Benni Mack)
2018-11-13 Merge pull request #71 from BastianBalthasarBux/master (Commit cebe25e by Benni Mack)
2018-11-12 [TASK] Allow whitespaces for telephonenumbers (Commit 3bcdbd6 by clemens.riccabona)
2018-11-12 [FOLLOWUP][BUGFIX] Type mismatch in updater script (Commit 3fb0df7 by root)
2018-11-12 [BUGFIX] Type mismatch in updater script (Commit 08e755e by root)
2018-11-08 [TASK] Add some iterators as addressing a single FAL image in a set of images is not possible anymore by adding the index in FLUID since v9 (Commit 6976bef by Clemens Riccabona)
2018-11-08 [TASK] Fix link wizard for field webpage, because of constantly changing TCA (Commit 6ec5776 by Clemens Riccabona)
2018-11-08 [TASK] Make compatible with version 9 and remove some smaller bugs for 8 and 9 (Commit 9dea60c by Clemens Riccabona)
2018-11-08 Merge pull request #12 from halbkreativ/bugfix/make-rootpaths-overridable (Commit aba40bd by ©lemens)
2018-11-07 [TASK] remove Address folder from default Template path (Commit 291a98c by Christoph Schwob)
2018-11-07 [TASK] use *RootPaths array instead of strings to make it overridable (Commit dd6b49e by Christoph Schwob)
2018-11-03 [BUGFIX] Two small issues introduced with solving #11 (Commit e9db5a1 by ©lemens)
2018-11-01 [BUGFIX] Make sorting work with singleRecord selection (Commit 6510910 by Clemens Riccabona)
2018-10-26 [CLEANUP] remove empty language files (Commit 3228bed by Clemens Riccabona)
2018-10-26 [CLEANUPS] Moving things to their respective files according to the changes on v8 concerning ext_localconf.php and ext_tables.php (Commit d46887b by Clemens Riccabona)
2018-10-26 [BUGFIX] Re-add legacy plugin (Commit c63fb49 by Clemens Riccabona)
2018-10-26 [CLEANUP] Cleanup language files (Commit 180f519 by Clemens Riccabona)
2018-10-26 [CLEANUP] More cleanups of old, obsolete things concerning pi1 and wizicon (Commit b8a9b6f by Clemens Riccabona)
2018-10-26 [CLEANUP] Remove obsolete wizicon.php (Commit 6ff6a51 by Clemens Riccabona)
2018-10-26 [CLEANUP] Remove one more(git add --all) empty and obsolete default_hcard.htm (Commit b943fb4 by Clemens Riccabona)
2018-10-26 [CLEANUP] Remove empty and obsolete default_hcard.htm (Commit f236d54 by Clemens Riccabona)
2018-10-26 [BUGFIX][CLEANUP] Fix broken pagination viewhelper, remove some useless language files, fix bug with localization (Commit 1f6f82d by Clemens Riccabona)
2018-10-23 [TASK] Hide legacy plugin if not activated in EM configuration (Commit ad5a935 by Clemens Riccabona)
2018-10-19 [TASK][FOLLOWUP] Cleanup after rebasing (Commit 3d950f4 by Clemens Riccabona)
2018-06-28 [FOLLOWUP][TASK] Merging master with fork - wizicon part of the story (Commit d0daf44 by Clemens Riccabona)
2018-06-28 [FOLLOWUP][TASK] Clean up things after monster-merge during coding night (Commit 270f0e8 by Clemens Riccabona)
2018-06-25 [TASK] Rebase fork with current master (Commit 549ca0e by Clemens Riccabona)
2018-06-23 [FOLLOWUP] Solve conflicts with upstream (Commit fe405b7 by Clemens Riccabona)
2018-06-23 [FOLLOWUP] Solve conflicts with upstream (Commit 59498e0 by Clemens Riccabona)
2018-05-25 [BUGIFIX] Fix error "setOrderings" (Commit e9fb490 by Falk Gebauer)
2017-06-23 [BUGFIX] Remove @deprecated renderMode from f:flashMessages (Commit 533e759 by ©lemens)
2017-06-23 [BUGFIX] Remove @deprecated renderMode (Commit 944d738 by ©lemens)
2017-04-23 [CLEANUP] Remove unnecessary stdWrap functionality for TypoScript/FlexForm overridings (Commit 7cfec8c by Clemens Riccabona)
2017-04-23 [TASK] Smaller optical enhancements for FE (Commit 71295c4 by ©lemens)
2017-04-23 [TASK] Smaller optical enhancements for FE (Commit a752b9e by Clemens Riccabona)
2017-04-18 [BUGFIX] Correct headlines in README.md (Commit 8031e99 by ©lemens)
2017-04-18 [CLEANUP] Remove template from old path (Commit c3f57ed by ©lemens)
2017-04-18 [TASK] Add Fluid and Extbase Controller and output (Commit 4fdc8c2 by Clemens Riccabona)
2017-04-05 [BUGFIX] Correct mixedup l10n and l18n fields and add some language-exclusions (Commit 08150ad by Clemens Riccabona)
2017-04-04 [TASK] Add possibility to translate records; ATM only backend supports Multilanguage address records (Commit 0d01955 by Clemens Riccabona)
2017-04-04 [TASK] Move locallang_tca.xml to xliff in appropriate folder; Adding some missing german labels; Correction of some locallang references to EXT:cms not working anymore in TYPO3 8 (Commit 5240d2e by Clemens Riccabona)
2017-04-04 [TASK] Move locallang_csh.xml to XLIFF in Resources/Private/Language/ (Commit cd8de7e by Clemens Riccabona)
2017-04-04 [TASK] Move ce_wiz to new Resources folder and make pi1_wizicon ready for .xlf (Commit 3198088 by Clemens Riccabona)
2017-04-04 [TASK] Move hcard.gif to new Resources folder (Commit d0f05f6 by Clemens Riccabona)
2018-09-06 Merge pull request #69 from randomresult/master (Commit bf20f30 by ©lemens)
2018-09-05 Change birthday - eval (Commit b167aa4 by Harry Glatz)
2018-06-14 [BUGFIX] Fix wrong usage in legacy plugin (Commit 269080c by Benni Mack)
2018-01-19 [TASK] Update composer.json license definition (Commit 53362f2 by Stefan Neufeind)
2017-10-30 Require specific core package in composer.json (Commit cfbf3b0 by Benni)
2017-09-07 Merge pull request #49 from IchHabRecht/fetch-absolute-template (Commit 5c83fb3 by Benni)
2017-09-07 [BUGFIX] Fetch absolute template code (Commit c196cea by Nicole Cordes)
2017-08-22 [TASK] Move default template for LegacyPlugin to Resources/Public (Commit 99c52e1 by Benni Mack)
2017-08-22 [TASK] Minor improvements to TCA/FormEngine hooks (Commit 99550bc by Benni Mack)
2017-08-22 [TASK] Move old FormEngine methods to single class (Commit b08837c by Benni Mack)
2017-08-22 [TASK] Remove superfluous check for settings on hook registration (Commit 231b8e6 by Benni Mack)
2017-08-22 [BUGFIX] Use proper PHP class location for pi-based plugin (Commit 94e24b4 by Benni Mack)
2017-08-22 [TASK] Move TypoScript to Configuration/TypoScript/LegacyPlugin (Commit fa08c47 by Benni Mack)
2017-08-22 [!!!][TASK] Move pi1/*php to LegacyPluginController (Commit da66366 by Benni Mack)
2017-08-22 [BUGFIX] Use proper output / labels in FlexForm / TCA (Commit 7b2d8f1 by Benni Mack)
2017-08-22 [TASK] Add new content element wizard item via PageTSconfig (Commit 35f71f7 by Benni Mack)
2017-08-11 [TASK] Migrate locallang_tca.xml to xlf (Commit 3af9057 by Benni Mack)
2017-08-11 [TASK] Drop CSH support (Commit d19cc17 by Benni Mack)
2017-08-11 [TASK] Migrate locallang_pi1.xml to XLF format (Commit 685a71a by Benni Mack)
2017-08-11 [TASK] Remove TSconfig of tt_address_group (Commit d13c5b4 by Benni Mack)
2017-08-11 [TASK] Cleanup of Extbase TypoScript configuration (Commit 80e814a by Benni Mack)
2017-08-11 [CLEANUP] Use proper PHP variables and class names in ext_localconf.php (Commit e39a440 by Benni Mack)
2017-08-11 [TASK] Cleanup pi1 class and remove empty pi1/locallang.xml (Commit 122bb4b by Benni Mack)
2017-08-11 [TASK] Moved locallang.xml labels into locallang_pi1.xml file (Commit 3bcb5d9 by Benni Mack)
2017-08-11 [TASK] Moved new content element wizard hook to proper class (Commit 0aaa111 by Benni Mack)
2017-08-11 [TASK] Cleanup AddFilesToSelector Tca proc items call (Commit abc3cf7 by Benni Mack)
2017-08-11 [TASK] Renamed FlexForm Language File (Commit c5f308a by Benni Mack)
2017-08-11 [TASK] Move CSH locallang file to Resources/Private/Language (Commit a7b7aae by Benni Mack)
2017-08-09 [TASK] Move locallang_tca.xml to Resources/Private/Language (Commit 60eed63 by Benni Mack)
2017-08-09 [TASK] Move Wizard Icon to Resources/Public/Icons (Commit 935c552 by Benni Mack)
2017-08-09 [TASK] Moved FlexForm to Configuration/FlexForms (Commit 3e2d453 by Benni Mack)
2017-08-09 [!!!][TASK] Removed very old TypoScript definition / template (Commit 7403458 by Benni Mack)
2017-08-09 [TASK] Removed unused TCA option "canNotCollapse" (Commit d482ebd by Benni Mack)
2017-08-09 [TASK] Raised minimum TYPO3 version to 7 LTS (Commit 719051e by Benni Mack)
2017-08-09 [RELEASE] tt_address 3.3.0 (Commit 36bbf57 by Benni Mack)
2017-07-29 Merge pull request #42 from janmayer/psql-double-quotes (Commit 8227a55 by ©lemens)
2017-07-29 Merge pull request #40 from marcobiedermann/feature/categories (Commit d550a05 by ©lemens)
2017-07-28 Postgresql compatibility (Commit 6867998 by Jan Mayer)
2017-06-16 Merge pull request #39 from mindscreen/bugfix/image-rendering (Commit 5a85949 by Benni)
2017-06-16 Merge pull request #37 from chriwo/bugfix-phpversion (Commit c4b9477 by Benni)
2017-06-16 Add version constrain for php version (Commit 1b6abcf by Christian Wolfram)
2017-06-07 add getter and setter methods for categories (Commit 1d5edd5 by Marco Biedermann)
2017-05-19 Use string values in typoscript configuration (Commit 7487df6 by Thomas Heilmann)
2017-04-28 [BUGFIX] Wrong error syntax for array (Commit b045b04 by Christian Wolfram)


Copied!

This list has been created by using git log v3.2.4..HEAD --abbrev-commit --pretty='%ad %s (Commit %h by %an)' --date=short.

Creating address records 

  1. Switch to the list view

    1. Create a new page with type Sysfolder or
    2. Select an existing page
  2. Click the "+" icon and select Address.
  3. Fill out all information you need and save.

Creating a Plugin Content Element 

Go to the page view and navigate to the page where you want to insert one or more addresses. Create a new content element and in the “new content element wizard” scroll down to the plugins section and select "Address Selection"

Now on the first tab [1] you can add address records to the plugin, the second tab [2] is for selecting a template for how the address should look like, this needs to be configured by your administrator. If there're no templates on the second tab, just save the content element once and after saving it they should appear.

In the Single addresses field [3] you can select addresses by using the known element browser. Even if the addresses selected here would be selected via groups, too they do not appear twice in the front end.

In the groups field [4] you can select groups from the tree view. These groups get combined either by AND or by OR [5]. That means you can select addresses which are in all of the given groups (AND) or they are required to be in at least one of the given groups (OR).

You set the sorting the addresses by selecting the sort order dropdown [7].

The starting point [8] does not necessarily need to be set. The extension can be configured to work with a default setting which needs to be adjusted by your administrator. If you set a startingpoint here, it will override that default setting that might be set. The recursive field [9] sets how deep in the page tree beginning from the startingpoint the system should look for addresses with the given groups.

Rendering records with a map 

Since version 4.2.0 the extension is capable of rendering records on a map. The following variants are included by default:

  • Leaflet
  • Google Maps
  • Static Google Maps

Providing coordinates in records 

If a record should be rendered on a map the record must contain coordinates in format of latitude and longitude.

The coordinates can either be provided manually or by using the wizard in the backend.

Mass geocoding 

By using a provided command it is possible to set coordinates to all records. A requirement for this is a valid Google Maps key. Read all about it at https://developers.google.com/maps/documentation/geocoding/intro

The command is called by cli with the following line

./typo3cms ttaddress:geocode <your google maps key>
Copied!

Frontend integration 

To output the records, 2 important configurations need to be set in the plugin.

First, the setting Ignore records with no latitude/longitude must be set. Otherwise records with no coordinates would be rendered in the frontend

Second, the setting Select display mode in the 2nd tab Display must be changed to map.

Which map type is used is defined with TypoScript: plugin.tx_ttaddress.settings.map.rendering = googleMaps. Available options are: leaflet (default), googleMaps or staticGoogleMaps.

For each render type, a custom fluid section is available in the partial Partials/Maps.html.

Site sets provided by EXT:tt_address 

Changed in version tt_address 9.1.0 / TYPO3 v13.3

Site sets were added.

The extension friendsoftypo3/tt-address offers a site set called "Addresses (Extbase/Fluid)" and has the key friendsoftypo3/tt-address.

Using the site set "Addresses (Extbase/Fluid)" 

You can include this Site set in your site configuration:

  • Got to Site Management > Sites.
  • Edit your site configuration.
  • In General > Sets for this Site add the site set called "Addresses (Extbase/Fluid)".

This changes the YAML file representing your site configuration as follows:

config/sites/my_site/config.yaml (diff)
 base: 'https://example.org/'
 dependencies:
   - typo3/fluid-styled-content-css
+  - friendsoftypo3/tt-address
 languages:
   -
Copied!

If you are using a custom site package extension providing a custom Set you can include friendsoftypo3/tt-address into your site packages set:

EXT:my_sitepackage/Configuration/Sets/MySitepackage/config.yaml
name: myvendor/my-sitepackage
label: My Sitepackage
dependencies:
  - my-vendor/my-other-set
  - friendsoftypo3/tt-address
Copied!

Settings for site set "Addresses (Extbase/Fluid)" 

The following settings are available:

Name Type Label
string Path to template root (FE)
string Path to template partials (FE)
string Path to template layouts (FE)

_global

_global

tt_address.templateRootPath

tt_address.templateRootPath
Type
string
Default
"EXT:tt_address/Resources/Private/Templates/"
Label
Path to template root (FE)

tt_address.partialRootPath

tt_address.partialRootPath
Type
string
Default
"EXT:tt_address/Resources/Private/Partials/"
Label
Path to template partials (FE)

tt_address.layoutRootPath

tt_address.layoutRootPath
Type
string
Default
"EXT:tt_address/Resources/Private/Layouts/"
Label
Path to template layouts (FE)

Global extension configuration 

After the installation has been completed, some global configuration can be defined.

The configuration is in the Admin tools > Settings > Extension Configuration.

Settings 

The following settings are available:

Property: Data type: Description: Default:
storeBackwardsCompatName boolean If set, the field name is populated with the values of the fields first_name, middle_name and last_name. 1
readOnlyNameField boolean If set, the name field is set to read only which makes absolutely sense if the value of this field is populated automatically. 1

Reference 

View 

view.templateRootPaths

view.templateRootPaths
Path

plugin.tx_ttaddress

type

array

Defines the path where the templates are located.

Default value
templateRootPaths {
   0 = EXT:tt_address/Resources/Private/Templates/
   1 = {$plugin.tx_ttaddress.view.templateRootPath}
}
Copied!

Example:

Override the templates, partials and layouts of tt_adress in your own extension:

EXT:my_extension/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
    view {
        templateRootPaths {
            42 = EXT:my_extension/Resources/Private/Templates/Address
        }
        partialRootPaths {
            42 = EXT:my_extension/Resources/Private/Partials/Address
        }
        layoutRootPaths {
            42 = EXT:my_extension/Resources/Layouts/Templates/Address
        }
    }
}
Copied!

view.partialRootPaths

view.partialRootPaths
Path

plugin.tx_ttaddress

type

array

Defines the path where the partials are located.

Default value
partialRootPaths {
   0 = EXT:tt_address/Resources/Private/Partials/
   1 = {$plugin.tx_ttaddress.view.partialRootPath}
}
Copied!

Example: See view.templateRootPaths.

view.layoutRootPaths

view.layoutRootPaths
Path

plugin.tx_ttaddress

type

array

Defines the path where the layouts are located.

Default value
layoutRootPaths {
   0 = EXT:tt_address/Resources/Private/Layouts/
   1 = {$plugin.tx_ttaddress.view.layoutRootPath}
}
Copied!

Example: See view.templateRootPaths.

Settings 

settings.overrideFlexformSettingsIfEmpty

settings.overrideFlexformSettingsIfEmpty
Path

plugin.tx_ttaddress

type

string

Default

paginate.itemsPerPage, singlePid, recursive

A comma separated list of fields which are filled from TypoScript if the equivalent flexform field is empty. This makes it possible to define default values in TypoScript

settings.recursive

settings.recursive
Path

plugin.tx_ttaddress

type

int

Defines how many levels to search for tt_address records from the given pages in pidList.

Example:

Search in a depth of 4 by default:

EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
    settings {
        recursive = 4
    }
}
Copied!

settings.paginate

settings.paginate
Path

plugin.tx_ttaddress

type

array

A comma separated list of fields which are filled from TypoScript if the equivalent flexform field is empty. This makes it possible to define default values in TypoScript

Default value
paginate {
   # can be overridden by plugin
   itemsPerPage = 10
   insertAbove = 0
   insertBelow = 1
   maximumNumberOfLinks = 10
}
Copied!

Example:

Show 50 items per page by default and the pagination both above and below:

EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
settings.paginate {
    itemsPerPage = 50
    insertAbove = 1
    insertBelow = 1
}
}
Copied!

settings.map.rendering

settings.map.rendering
Path

plugin.tx_ttaddress

type

string

Default

leaflet

Map rendering which is used in the Fronted Available: leaflet, googleMaps, staticGoogleMaps

Example:

EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
   settings {
      map {
         googleMaps.key = ABCDEFG123
         googleMaps.mapId = DEMO_MAP_ID
         rendering = googleMaps
      }
   }
}
Copied!

settings.map.googleMaps.key

settings.map.googleMaps.key
Path

plugin.tx_ttaddress

type

string

Key for variant Google Maps

settings.map.googleMaps.mapId

settings.map.googleMaps.mapId
Path

plugin.tx_ttaddress

type

string

Map ID for Google Maps See: official docs

map.staticGoogleMaps.parameters

map.staticGoogleMaps.parameters
Path

plugin.tx_ttaddress

type

array

Parameters for Static Google Maps configuration See: official docs

Example:

EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
plugin.tx_ttaddress {
   settings {
      map {
         rendering = staticGoogleMaps
         staticGoogleMaps.parameters {
            center = Emanuel-Leutze-Straße 11, 40547 Düsseldorf
            zoom = 14
            size = 400x400
            key = ABCDEFG123
         }
      }
   }
}
Copied!

TsConfig Reference 

This section covers the configuration options set via Page TsConfig.

Modify record label in backend 

The label of the record is shown in the list module of the backend. Depending on the use case it can improve the usability to generate the label from different columns. If tt_address is used to collect email addresses, the email address might be the only filled field. If the records hold information about contacts of a company, the name should be shown.

By using the configuration tt_address.label all use cases can be covered as long as those are splitted into different pages. A typical example might be:

tt_address.label = name;last_name,first_name;email
Copied!

Each label group is divided by ; and each group can hold a list of field names.

  1. In the given example, the value of the field name is shown if filled.
  2. If the field is empty, the values of the fields last_name and first_name are shown.
  3. If this combination is still empty, the email address is shown

SEO 

This chapter covers all aspects regarding search engine optimization for tt_address.

Routing 

Routing can be used to rewrite the URLs for tt_address. The chapter Use Routing to rewrite URLs is a good starting point.

Custom Page Title 

If a detail view is rendered, a custom page title provider changes the page title to a specific one provided by the extension. The following configuration is set by default:

plugin.tx_ttaddress.settings.seo {
   pageTitle {
       properties = title,firstName,middleName,lastName
       glue = " "
   }
}
Copied!
  • The setting properties is a comma separated list of properties of the Address model which should be taken into account (if not empty).
  • The setting glue defines how the values are combined together.

Meta Tags 

Meta Tags are rendered by using the ViewHelper MetaTagViewHelper. .. code-block:: html

<!-- Example can be found in Partials/MetaTags.html <ttaddr:metaTag property="description">{address}</ttaddr:metaTag>

By default the meta tags for description and og:description are set.

Use Routing to rewrite URLs 

This section will show you how you can rewrite the URLs for tt_address using Routing Enhancers and Aspects. TYPO3 Explained has a chapter Introduction to routing that you can read if you are not familiar with the concept yet. You will no longer need third party extensions like RealURL or CoolUri to rewrite and beautify your URLs.

How to rewrite URLs with address parameters 

On setting up your page you should already have created a site configuration. You can do this in the backend module Site Managements > Sites.

Your site configuration will be stored in /config/sites/<your_identifier>/config.yaml. The following configurations have to be applied to this file.

Any URL parameters can be rewritten with the Routing Enhancers and Aspects. These are added manually in the config.yaml:

  1. Add a section routeEnhancers, if one does not already exist.
  2. Choose an unique identifier for your Routing Enhancer. It doesn't have to match any extension key.
  3. type: For tt_address, the Extbase Plugin Enhancer ( Extbase) is used.
  4. extension: the extension key, converted to UpperCamelCase.
  5. plugin: the plugin name of address is ListView, even for the detail page.
  6. After that you will configure individual routes and aspects depending on your use case.
/config/sites/<your_identifier>/config.yaml
Address:
 type: Extbase
 limitToPages:
   - 8
   - 10
   - 11
 extension: TtAddress
 plugin: ListView
 routes:
   - routePath: '/{address-title}'
     _controller: 'Address::show'
     _arguments:
       address-title: address
   - routePath: '/{page-label}-{page}'
     _controller: 'Address::list'
     _arguments:
       page: 'currentPage'
 defaultController: 'Address::list'
 aspects:
   address-title:
     type: PersistedAliasMapper
     tableName: tt_address
     routeFieldName: slug
   page:
     type: StaticRangeMapper
     start: '1'
     end: '100'
   page-label:
     type: LocaleModifier
     default: seite
     localeMap:
       - locale: 'en_.*'
         value: page
       - locale: 'it_.*'
         value: pagina
       - locale: 'fr_.*'
         value: page
       - locale: 'es_.*'
         value: pagina
Copied!

It is recommended to limit routeEnhancers to the pages where they are needed. This will speed up performance for building page routes of all other pages.

References 

Working with the templates 

Changed in version tt_address 9.1.0 / TYPO3 v13.3

You can use the site set to configure the template paths.

The following tutorials describe how to work best with the provided templates

Modify the templates 

If you want to adopt the templates, copy the ones of tt_address to your site package extension (or to fileadmin if you really need to ...) and provide the path in TypoScript.

# Use either constants or setup

# constants:
plugin.tx_ttaddress.view {
    templateRootPath = path/to/your/tt-address-templates/Templates/
    partialRootPath = path/to/your/tt-address-templates/Partials/
    layoutRootPath = path/to/your/tt-address-templates/Layouts/
}

# or setup
plugin.tx_ttaddress.view {
    templateRootPaths.10 = path/to/your/tt-address-templates/Templates/
    partialRootPaths.10 = path/to/your/tt-address-templates/Partials/
    layoutRootPaths.10 = path/to/your/tt-address-templates/Layouts
}
Copied!

Access to current content element data 

The full data of the current content element can be accessed in the view by checking the variable contentObjectData.

<f:debug inline="1">{contentObjectData}</f:debug>
Copied!

Section in partial Address 

To minimize code duplication the partial Partials/Address includes often used parts of the template. Currently there are:

  • address: The address itself
  • position: The position of the address
  • contact: All including contacts and the birthday
  • social: All social links

To use one of the partial you just need to call

<f:render section="social" partial="Address" arguments="{_all}"/>
Copied!

Templates 

Group address records 

The following example will group all given address records by the property "firstCategory".

<f:if condition="{addresses}">
	<f:then>
		<div style="border:1px solid red">
			<f:groupedFor each="{addresses}" as="groupedAddresses" groupBy="firstCategory" groupKey="category">
				<div style="border:1px solid blue;padding:10px;margin:10px;">
					<h1>{category.title}</h1>
					<f:for each="{groupedAddresses}" as="address">
						<div style="border:1px solid pink;padding:5px;margin:5px;">
							{address.firstName} {address.lastName}
						</div>
					</f:for>
				</div>
			</f:groupedFor>
		</div>
	</f:then>
	<f:else>
		<div class="no-addresses-found">
			No addresses found.
		</div>
	</f:else>
</f:if>
Copied!

Keep an eye on performance! 

To be able to group the records, fluid will load every record itself and groups those afterwards. If you plan to group many records just for getting something like a count, maybe it is better to fire the query directly and don't use fluid for that.

However if the result is on a cacheable page, the issue is only relevant on the first hit.

LinkHandler 

The LinkHandler can be configured to create links to the detail view of tt_address records. If configured editing users can use the LinkBrowser in the rich-text-editor and link fields to link to the detail page of any address record.

Configuration for the backend 

Page TSconfig is used to configure the link browser in the backend. See Setting page TSconfig.

For all available options see LinkHandler page TSconfig options.

EXT:my_sitepackage/Configuration/page.tsconfig
TCEMAIN.linkHandler {
    # my_address is an identifier, do not change it after links have been created
    my_address {
        handler = TYPO3\CMS\Recordlist\LinkHandler\RecordLinkHandler
        label = Contact
        configuration {
            table = tt_address
            # This storage pid is pre-selected by default
            storagePid = 42
            # Only these folders and their subfolders are displayed in the pagetree
            pageTreeMountPoints = 42, 43, 88
            hidePageTree = 0
        }
        scanAfter = page
        displayBefore = file
    }
}
Copied!

Configuration for the frontend 

The links are now stored in the database with the syntax <a href="t3://record?identifier=tt_address&amp;uid=456">A link</a>. By using TypoScript, these pseudo link is transformed into an actual link.

See The LinkHandler API.

EXT:my_sitepackage/Configuration/TypoScript/setup.typoscript
config.recordLinks {
    # Use the same identifier as was used in :typoscript:`TCEMAIN.linkHandler`
    my_address {
        typolink {
            # Detail page uid
            parameter = 192
            additionalParams.data = field:uid
            additionalParams.wrap = &tx_ttaddress_listview[action]=show&tx_ttaddress_listview[address]=|&tx_ttaddress_listview[controller]=Address
        }
    }
}
Copied!

Rich snippets 

When you use structured data to mark up content, you help Google better understand its context for display in Search, and you achieve better distribution of your content to users from Search. (quote by google)

The full article can be found at https://developers.google.com/search/docs/guides/mark-up-content

The extension tt_address follows the guidelines and adds the proper information to every output of a field.

Testing 

If the templates are modified it is important to test if the markup is still valid regarding the rich snippets.

Google provides an online tool at https://search.google.com/structured-data/testing-tool/u/0/ which can be used for that.

Create custom display mode 

The setting Display Mode can be found in the tab "Display". It can be used to change the template depending on the selection.

Add a new value 

Add the following code to your Page TsConfig, either in the field TsConfig in the page properties or better to your site package extension.

TCEFORM {
    tt_content {
        pi_flexform {
            ttaddress_listview {
                sDISPLAY {
                    settings\.displayMode.addItems {
                        map = Map View
                    }
                }
            }
        }
    }
}
Copied!

Now a new option Map View is available with the value map.

Adopt templates 

If a displaymode is selected, this can be checked in the template with {settings.displayMode}.

Override demand object 

It is possible to override the flexform configuration by providing additional GET arguments.

The following properties are allowed:

  • categories: List of category ids
  • categoryCombination: Either the value or or and
  • includeSubCategories: Either 0 or 1
  • sortOrder: Either the value asc or desc

Example 

The following example will create a link which filters the result by the category with uid 1.

<f:link.page
   additionalParams="{tx_ttaddress_listview:{override:{categories: 1}}}">
      Category 1
</f:link.page>
Copied!

Usage of AddressRepository in custom extension 

If you need to output addresses in your custom extension you can follow this short tutorial.

All you need to do is adopt the following code to your needs:

<?php

$addressRepository = GeneralUtility::makeInstance(\FriendsOfTYPO3\TtAddress\Domain\Repository\AddressRepository::class);

// single selection
// which means: output addresses in given order
$demand = new \FriendsOfTYPO3\TtAddress\Domain\Model\Dto\Demand();
$demand->setSingleRecords('12,34'); // Ids of tt_address records;
$addresses = $addressRepository->getAddressesByCustomSorting($demand);

// list action
$demand = new \FriendsOfTYPO3\TtAddress\Domain\Model\Dto\Demand();
$demand->setPages(['12']); // list of pages where records are saved
$demand->setCategories('1,3'); // list of categories desired address records need to be assigned to
$demand->setCategoryCombination('or'); // combine given categories either by "or" or "and"
$demand->setSortBy('last_name'); // order field
$demand->setSortOrder('asc');
$addresses = $addressRepository->findByDemand($demand);

$this->view->assign('addresses', $addresses);
Copied!

Extend models of tt_address 

If an additional field should be added to the Address model, there are several ways to achive this. This documentation prefers the usage of the extension extender (https://extensions.typo3.org/extension/extender/) by Sebastian Fischer.

This documentation is divided into the following sections:

  • Install EXT:extender
  • Setup extension
  • Make the field available in backend
  • Configuration of EXT:extender
  • Use the field in frontend

Install EXT:extender 

Install the extension extender by either retrieve it from https://extensions.typo3.org/extension/extender or from the Extension Manager or use composer req evoweb/extender.

Setup extension 

To extend an extension, you need to create an extension. In this example, the extension key will be called address_field and the vendor name will be GeorgRinger.

Create the directory address_field inside typo3conf/ext/address_field.

Create the following files and install the extension in the extension manager.

ext_emconf.php 

<?php

$EM_CONF[$_EXTKEY] = [
    'title' => 'Extend tt_address',
    'description' => 'New field in tt_address',
    'category' => 'plugin',
    'state' => 'alpha',
    'clearCacheOnLoad' => true,
    'version' => '1.0.0',
    'constraints' => [
        'depends' => [
            'extender' => '',
            'tt_address' => ''
        ],
        'conflicts' => [],
        'suggests' => [],
    ],
];
Copied!

ext_tables.sql 

# Extend table structure for table 'tt_address'
CREATE TABLE tt_address (
 quote text NOT NULL,
);
Copied!

Make the field available in backend 

Create the following files

Configuration/TCA/Overrides/tt_address.php 

<?php
defined('TYPO3_MODE') or die();

$columns = [
    'quote' => [
        'label' => 'A quote',
        'config' => [
            'default' => '',
            'type' => 'text',
        ]
    ]
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_address', $columns);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_address', 'quote', '', 'after:description');
// use next line to add it to an existing palette
// \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('tt_address', 'name', 'quote');
Copied!

Configuration of EXT:extender 

Create the following files

Classes/Extending/Domain/Model/Address.php 

The extension "extender" merges with the one of tt_address. Be aware that it is only possible to extend the model by new properties and methods but not to change existing ones!

<?php

namespace GeorgRinger\AddressField\Extending\Domain\Model;

class Address extends \FriendsOfTYPO3\TtAddress\Domain\Model\Address
{

    /** @var string */
    protected $quote = '';

    /**
     * @return string
     */
    public function getQuote()
    {
        return $this->quote;
    }

    /**
     * @param string $quote
     */
    public function setQuote($quote)
    {
        $this->quote = $quote;
    }
}
Copied!

ext_localconf.php 

<?php

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['tt_address']['extender'][\FriendsOfTYPO3\TtAddress\Domain\Model\Address::class]['address_field'] = 'Domain/Model/Address';
Copied!

Use the field in frontend 

After clearing the caches again, the new field is now available in the frontend in any template by using {address.quote};

Tests 

The extension is fully covered by tests which run automatically for each commit and pull requests. You can find the output of those at https://travis-ci.org/FriendsOfTYPO3/tt_address or also as badge on the https://github.com/FriendsOfTYPO3/tt_address page.

If you want to provide a code change (which is awesome), you can also run those tests on your local environment.

Requirements

It is important to know that the site must be set up with composer to make tests working! Use

composer require typo3/testing-framework
Copied!

Unit Tests 

Unit tests can be called by the following code:

cd typo3conf/ext/tt_address
../../../../phpunit -c ./Build/Local/phpunit.xml

# for specific tests
../../../../phpunit -c ./Build/Local/phpunit.xml Tests/Unit/Controller/AddressControllerTest.php

# Generating coverage (xdebug is required)
# the report can be found at typo3conf/ext/tt_address/Build/Local/report
../../../../phpunit -c ./Build/Local/phpunit.xml --coverage-text --coverage-html=./Build/Local/report
Copied!

Functional Tests 

Functional tests can be called by the following code:

cd typo3conf/ext/tt_address
export typo3DatabaseName="functional";export typo3DatabaseHost="mysql";export typo3DatabaseUsername="root";export typo3DatabasePassword="dev";../../../../phpunit   -c ./Build/Local/FunctionalTests.xml Tests/Functional
Copied!

Sitemap