我不知道为什么我的Extension会抛出此错误。因为像 dd_googlesitemap 这样的其他扩展程序以与我相同的方式使用它,并且此扩展程序不会抛出此错误。
我的$pageId
param我做错了什么:
/**
* Creates a link to a single page
*
* @param array $pageId Page ID
* @return string Full URL of the page including host name (escaped)
*/
protected function getPageLink($pageId) {
$conf = array(
'parameter' => $pageId,
'returnLast' => 'url',
);
$link = htmlspecialchars($this->cObj->typoLink('', $conf));
return GeneralUtility::locationHeaderUrl($link);
}
这是错误输出:
Call to a member function getPage_noCheck() on string
第6364行上的方法detectLinkTypeFromLinkParameter
。
为什么我会收到此错误?
答案 0 :(得分:1)
出现此错误是因为我尝试使用$GLOBAL['TSFE']
时未初始化xmonad
。初始化之后,它不再抛出错误并且运行良好。
<强>更新强> 对于那些仍在搜索此解决方案但仍使用typo3 7.6的人: 搜索方法 initTSFE ,在第208行定义它(这是初始化“TSFE”的方法),并在之前在第94行初始化它 getPageLink 方法 这里是文件https://ideone.com/f4TGMm
的链接答案 1 :(得分:0)
您可以将pageUid投射到int
这样
$conf = array(
'parameter' => (int)$pageId,
'returnLast' => 'url',
);