TYPO3 7.6.12对字符串上的成员函数getPage_noCheck()的调用

TYPO3 7.6.12对字符串上的成员函数getPage_noCheck()的调用,typo3,typo3-7.6.x,typolink,Typo3,Typo3 7.6.x,Typolink,我不知道我的扩展为什么会抛出这个错误。因为像dd_googlesitemap这样的其他扩展以与我相同的方式使用它,并且这个扩展不会抛出这个错误 我的$pageId参数有什么问题: /** * Creates a link to a single page * * @param array $pageId Page ID * @return string Full URL of the page including host name (escaped) */ protect

我不知道我的扩展为什么会抛出这个错误。因为像dd_googlesitemap这样的其他扩展以与我相同的方式使用它,并且这个扩展不会抛出这个错误

我的
$pageId
参数有什么问题:

/**
 * 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


为什么会出现此错误?

您能像这样将您的pageUid转换为
int

$conf = array(
    'parameter' => (int)$pageId,
    'returnLast' => 'url',
);

出现此错误是因为在我尝试使用时,
$GLOBAL['TSFE']
未初始化。初始化后,它不会抛出更多错误,并且工作正常

更新: 对于仍在搜索此解决方案并仍在使用typo3 7.6的用户: 搜索方法initTSFE,该方法在第208行定义(这是初始化“TSFE”的方法),并在getPageLink方法之前在第94行初始化
这里是指向文件的链接

我已经做了。它是将其转换回字符串的方法
detectLinkTypeFromLinkParameter
。您是如何将
$GLOBAL['TSFE']
序列化的?