如何在TYPO3调度器任务中为tt_news记录生成url


How to generate URLs in a TYPO3 scheduler task for a tt_news record?

我目前正在为TYPO3(4.7.7)编写一个调度程序。

在我的任务中,我需要一些url从tt_news记录。我试图"引导"前端做了"pxa_newstofb"扩展,但这不起作用。下面是我当前的类,它应该生成一个到新闻记录的链接:

<?php
abstract class tx_myextension_newshelper {
    /**
     * @var tslib_cObj
     */
    protected $cObj;
    function __construct() {
    }
    /**
     * Creates a URL for the given news
     *
     * @param $news
     * @return string
     */
    public function link($news) {
        // Init frontend
        $this->initTSFE($news['pid']);
        $newsLink = $this->cObj->typoLink_URL(array(
            'no_cache' => false,
            'parameter' => $news['pid'],
            'additionalParams' => '&tx_ttnews[tt_news]=' . $news['uid'],
            'useCacheHash' => true
        ));
        if (substr($newsLink, 0, 7) != 'http://' || substr($newsLink, 0, 8) != 'https://') {
            $newsLink = $this->host($news) . $newsLink;
        }
        return $newsLink;
    }
    public function host($news) {
        return 'http://localhost/';
    }
    /**
     * Initialize frontend
     *
     * @param int $pageUid
     */
    public function initTSFE($pageUid = 1) {
        global $GLOBALS, $TSFE, $TYPO3_CONF_VARS;
        $this->cObj = t3lib_div::makeInstance('tslib_cObj');
        $temp_TTclassName = t3lib_div::makeInstance('t3lib_timeTrack');
        $GLOBALS['TT'] = new $temp_TTclassName();
        $GLOBALS['TT']->start();
        $TSFE = new tslib_fe($TYPO3_CONF_VARS, $pageUid, 0, 0);
        $TSFE->connectToDB();
        $TSFE->initFEuser();
        $TSFE->fetch_the_id();
        $TSFE->getPageAndRootline();
        $TSFE->initTemplate();
        $TSFE->forceTemplateParsing = 1;
        $TSFE->getConfigArray();
        $TSFE->initUserGroups();
        $TSFE->initTemplate();
        $TSFE->determineId();
        $GLOBALS['TSFE'] = $TSFE;
        $this->cObj->start(array(),'');
    }
}
?>

每次如果我执行我的任务一个"404"(前端)页面没有css将显示。是否有一个智能的解决方案为tt_news扩展创建前端url ?

System: Typo3 CMS 4.7.7 Introduction Package with RealURL.

好的解决方案是使用Dmitry Dulepov的扩展名为"pagepath"。