2

我不知道为什么我的扩展程序会引发此错误。因为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

为什么我会收到此错误?

4

2 回答 2

1

出现此错误是因为在$GLOBAL['TSFE']我尝试使用它时未初始化。初始化后,它不再抛出错误并且运行良好。

更新: 对于那些仍在寻找此解决方案并仍在使用typo3 7.6的人:搜索在第208行定义的方法initTSFE(这是初始化“TSFE”的方法)以及之前在第94行初始化的位置getPageLink方法这里是文件的链接https://ideone.com/f4TGMm

于 2016-11-22T16:47:20.773 回答
0

你能把你的pageUid转换成int这样吗

$conf = array(
    'parameter' => (int)$pageId,
    'returnLast' => 'url',
);
于 2016-11-14T18:04:53.347 回答