TYPO3扩展迁移

时间:2017-12-20 10:13:20

标签: php typo3

我尝试将旧版扩展程序从TYPO3 4.7迁移到7.6。问题是我没有得到任何错误输出,只有我的后端刷新,这使得调试很困难。也许有人可以看到导致这种情况的代码中出现了什么问题。这个扩展是在PHP 5.3上开发的,我在TYPO3 7.6上使用5.6。

$linksToApproveWithoutCategory = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( 'uid,label,pid,description,href', $theTable, $theField . '=' . $GLOBALS['TYPO3_DB']->quoteStr( $theValue, $theTable ) . ' ' . $whereClause, $groupBy, $orderBy, $limit );



if(count($linksToApproveWithoutCategory) > 0) {
    // Links without category
    for($i = 0; $i < count($linksToApproveWithoutCategory); $i++) {
        $content .= '<form action="' . $_SERVER['PHP_SELF'] . '" method="POST">';

        // Alternating row colors
        $content .= $switch ? '<tr bgcolor="' . $doc['bgColor5'] . '">' : '<tr>' ;
        $switch = !$switch;

        // Starting content
        $content .= '<td style="vertical-align:top;"><input type="text" name="label" value="' . $linksToApproveWithoutCategory[$i]['label'] . '" size="30" /></td>';
        $content .= '<td><textarea name="description" rows="5">' . \TYPO3\CMS\Core\Utility\GeneralUtility::formatForTextarea( $linksToApproveWithoutCategory[$i]['description'] ) . '</textarea></td>';
        $content .= '<td style="vertical-align:top;"><input type="text" name="href" value="' . $linksToApproveWithoutCategory[$i]['href'] . '" size="30" /></td>';

        $content .= '<td style="vertical-align:top;"><select name="categoryUID"><option value="0"></option>';

        foreach((array) $categories as $category) {
            $content .= '<option value="' . $category['uid'] . '">';

            if($category['parent_category'] > 0) {
                $content .= '-- ';
            }

            $content .= $category['label'] . '</option>';
        }
        $content .= '</select></td>';

        $content .= '<td style="vertical-align:top;"><input type="image" src="/fileadmin/user_upload/action_accept.gif" style="border:0px;" alt="' . $GLOBALS['LANG']->getLL( 'ViewLinksToApprove_accept' ) . '" title="' . $GLOBALS['LANG']->getLL( 'ViewLinksToApprove_accept' ) . '" /></td>';
        $content .= "<td style=\"vertical-align:top;\"><a href=\"?action=getViewDeleteLink&id=" . $this->id . "&uid=" . $linksToApproveWithoutCategory[$i]['uid'] . "\"><img src=/fileadmin/user_upload/action_delete.gif\" border=\"0\" alt=\"" . $GLOBALS['LANG']->getLL( 'ViewLinksToApprove_delete' ) . "\" title=\"" . $GLOBALS['LANG']->getLL( 'ViewLinksToApprove_delete' ) . "\"></a></td>";
        $content .= '</tr>';

        $content .= '<input type="hidden" name="id" value="' . $this->id . '" /><input type="hidden" name="uid" value="' . $linksToApproveWithoutCategory[$i]['uid'] . '" /><input type="hidden" name="action" value="getViewAcceptLink" /></form>';
    }
}

我更改了一些已弃用的命名空间,但按下提交按钮时会发生刷新。

1 个答案:

答案 0 :(得分:0)

我认为你错过了TYPO3 6.2的适应性

在6.2中,所有旧的类名仍然可用。所以你的扩展工作正常,你可以生成一个弃用日志。

也许您可以使用7.中可用的compatibility6层。否则您需要盲目地更正旧的扩展:指定具有完整命名空间的所有类,查找已弃用的函数和类的替换。

弃用清单:
  - https://api.typo3.org/typo3cms/7/html/deprecated.html
  - https://api.typo3.org/typo3cms/62/html/deprecated.html
  - https://api.typo3.org/typo3cms/61/html/deprecated.html
  - https://api.typo3.org/typo3cms/60/html/deprecated.html
  - https://api.typo3.org/typo3cms/47/html/deprecated.html
  - https://api.typo3.org/typo3cms/45/html/deprecated.html