b13 / masi

Extend TYPO3's URL Handling
GNU General Public License v2.0
23 stars 13 forks source link

masi - Extend TYPO3's URL Handling

Masi is the missing piece for the people who want to customize everything when generating URLs in TYPO3 v10+.

Features

  1. TYPO3 v10 skips pages of type "SysFolder" and "Spacers" by default when generating the URL of subpages. masi includes them by default!

  2. masi also ships with a new checkbox for pages, to exclude a certain page slug when generating subpages. This way, you can exclude only certain SysFolders.

There is a CLI command to migrate the options from RealURL to the masi database field.

  1. masi evaluates PageTSconfig where you can override your values.

    TCEMAIN.pages.slug.generatorOptions {
        fields = company, city
        fieldSeparator = -
    }
  2. masi allows you to set a hard prefix (!) for a specific page tree via PageTS:

    TCEMAIN.pages.slug.generatorOptions {
        prefix = /wishlist/
    }

    Any prefix is added BEFORE the parent page prefix, but you can also disable the option "prefixParentPageSlug"

    TCEMAIN.pages.slug.generatorOptions {
        prefixParentPageSlug = 0
    }

Of course, all the values within the "slug" field can be changed by the editor, but it's here for convenience.

Installation

Use it via composer req b13/masi or install the Extension masi from the TYPO3 Extension Repository.

masi requires TYPO3 v10.4.0 or later.

If you want to migrate from RealURL, execute this one-time command as long as the database field pages.tx_realurl_exclude exists, and transfers the data to pages.exclude_slug_for_subpages:

`vendor/bin/typo3 database:migrate:masi`

There is also an upgrade wizard for the Installer to execute the same functionality via the Upgrade Tool of TYPO3's Installer.

License

As TYPO3 Core, masi is licensed under GPL2 or later. See the LICENSE file for more details.

Background, Authors & Further Maintenance

This extension was created as a show-case on what you can do with one magic hook for TYPO3 v10 and customize so many things.

TYPO3 community often requests functionality, which can be put in small and efficient extensions, and masi does exactly that, without having to burden everything into TYPO3 Core.

masi was initially created by Benni Mack in 2019, for b13, Stuttgart, with the nice support from Martin Kutschker.

Find more TYPO3 extensions we have developed that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.