В настоящее время я пишу планировщик для 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» (frontend-) без css. Есть ли разумное решение для создания внешних URL-адресов для расширения tt_news?
Система: Typo3 CMS 4.7.7 Вводный пакет с RealURL.