TYPO3 7.6.12在字符串

时间:2016-11-14 15:05:23

标签: typo3 typo3-7.6.x typolink

我不知道为什么我的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

为什么我会收到此错误?

2 个答案:

答案 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',
);