我目前正在为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"。