[FEATURE] Add a new TCA type "slug" 89/56889/28
authorBenni Mack <benni@typo3.org>
Wed, 22 Aug 2018 21:05:20 +0000 (23:05 +0200)
committerOliver Hader <oliver.hader@typo3.org>
Thu, 23 Aug 2018 10:23:23 +0000 (12:23 +0200)
commit7df267c885f4e7f065c36423faebf761d4194cff
treedc0b960259918c08ac331dc4e7db7808c5a21980
parent8fd7b9c963511a65f24c72c14b7a286f5168a07d
[FEATURE] Add a new TCA type "slug"

A new TCA type "slug" is added, which allows to generate a part of a URL
which can later be used for adding URL segments to any kind of record.

The new slug TCA type will be added to the pages database table separately
to fill a page with the rootline "Home => Products => My Product" with
"/products/my-product/details/" into the slug field when creating
a subpage "Details" under "My Product".

Once the slug field is added when persisting the record, changing a title
(like the page title) will not modify the slug anymore, but instead this
has to be modified separately.

Next steps:
- Add the TCA type "slug" to pages table
- Introduce an upgrade wizard for that pages table
- Improve FormEngine via AJAX validation of "uniqueInSite" for slugs
- Implement slug resolving for pages.

Resolves: #84729
Releases: master
Change-Id: I079267f42308f40da71ab4765ba7e0251e79f736
Reviewed-on: https://review.typo3.org/56889
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/backend/Classes/Form/Element/InputSlugElement.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Form/NodeFactory.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/DataHandling/SlugHelper.php [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-84729-NewTCATypeSlug.rst [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/DataHandling/SlugHelperTest.php [new file with mode: 0644]