smichaelsen/pagepath

安装次数: 19,144

依赖项: 1

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 12

开放问题: 3

类型:typo3-cms-extension

3.0 2020-10-01 11:17 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