smichaelsen / pagepath
Requires
- typo3/cms-core: ^9.5
Replaces
- pagepath: 3.0
- typo3-ter/pagepath: 3.0
This package is auto-updated.
Last update: 2024-08-27 06:47:52 UTC
README
这是一个TYPO3 CMS的扩展。
它做什么
此扩展为其他扩展提供了一个API,以便创建指向TYPO3页面的路径,路径包含页面ID和额外的URL参数。
例如,ID为26
的页面和tx_ttnews[tt_news]=287
可以通过转换得到http://example.com/news/health_care_for_typo3_programmers/
。
这在typolink
不可用的情况下非常有用,例如在创建后端模块中的前端URL时。
如何使用
要获取URL,请使用以下调用
$pagepath = \Smic\Pagepath\Api::getPagePath($pageId, $parameters);
页面ID必须是整数。参数必须是一个数组。格式与\TYPO3\CMS\Core\Utility\GeneralUtility::implodeArrayForUrl()
函数相同。
以下示例有效且等效
$parameters = ['tx_ttnews[tt_news]' => 123];
$parameters = ['tx_ttnews' => ['tt_news' => 123]];
结果将是一个指向页面的完全合格URL,或者抛出\Smic\Pagepath\ApiException异常,并提供有关错误原因的更多信息。
重要!如果页面树中有许多网站,应在适当的网站内调用。
例如,如果有example1.com和example2.com,并且后端在https://example1.com/打开,则仅对example1.com的解析将正确工作。为了克服这种限制,请确保所有网站的TypoScript设置中都有config.typolinkEnableLinksAcrossDomains=1
。
缓存
对\Smic\Pagepath\Api::getPagePath()
的调用不会被缓存。为了提高性能,可以使用\Smic\Pagepath\Api::getPagePathCached()
,它会在内部缓存其结果。
兼容性
联系信息
由Sebastian Michaelsen维护 sebastian@michaelsen.io
感谢原始开发者Dmitry Dulepov dmitry.dulepov@gmail.com