pagemachine / typo3-flat-urls
为 TYPO3 提供扁平 URL(如 Stack Overflow)
3.1.3
2024-04-22 09:09 UTC
Requires
- php: ^8.0
- doctrine/dbal: ^2.0 || ^3.0
- psr/http-message: ^1.0 || ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.0 || ^2.0 || ^3.0
- symfony/console: ^5.4 || ^6.4
- typo3/cms-backend: ^11.5 || ^12.4
- typo3/cms-core: ^11.5 || ^12.4
- typo3/cms-extbase: ^11.5 || ^12.4
- typo3/cms-fluid: ^11.5 || ^12.4
- typo3/cms-frontend: ^11.5 || ^12.4
- typo3/cms-redirects: ^11.5.7 || ^12.4
Requires (Dev)
- ergebnis/composer-normalize: ^2.8
- friendsofphp/php-cs-fixer: ^3.41
- jangregor/phpstan-prophecy: ^1.0.0
- php-parallel-lint/php-console-highlighter: ^1.0.0
- php-parallel-lint/php-parallel-lint: ^1.2
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.0.0
- phpunit/phpunit: ^9.0
- sclable/xml-lint: ^0.6.0
- typo3/coding-standards: ^0.7.1
- typo3/testing-framework: ^7.0
Replaces
- typo3-ter/flat-urls: 3.1.3
This package is auto-updated.
Last update: 2024-09-01 07:43:36 UTC
README
为 TYPO3 提供扁平 URL(如 Stack Overflow)
安装
此扩展可以从多个来源安装
目的
此扩展的目的是在 TYPO3 前端强制实施所谓的“扁平 URL”。因此,您将始终得到类似于 10/page/
的 URL(因此是页面 UID 和标题),而不论在后台管理中实际管理的页面层次结构如何。
页面翻译将使用与原始页面相同的 UID,但带有翻译的标题。因此,您需要确保语言参数(_language
)是 URL 的一部分,以避免出现多个翻译的重复 URL。
对于扁平 URL,此扩展管理页面的 slugs,因此它们不能再进行编辑。每当编辑页面时,slugs 将自动更新,以便与相关字段(默认为标题)保持同步。如果页面 slug 发生变化,将自动添加重定向。删除在来回更改 slugs 时出现的冲突重定向,以确保页面始终可访问。
类似于 Stack Overflow 页面,仅通过页面 UID 请求的页面将被重定向到其完整 URL。这意味着例如 https://example.org/10/ 重定向到 https://example.org/10/page/。这也适用于翻译。
命令
如果您在添加此扩展时已有现有页面,或者您想确保一个干净的状态,您可以运行 slugs:update
CLI 命令。它将更新所有页面和页面翻译的 slugs。
测试
可以使用附带的 Docker Compose 定义执行所有测试
docker compose run --rm app composer build