[英]How to generate URLs in a TYPO3 scheduler task for a tt_news record?
我目前正在為TYPO3(4.7.7)編寫調度程序。
在我的任務中,我需要一些tt_news記錄的URL。 我嘗試像“ 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(),'');
}
}
?>
每當我執行任務時,都會顯示不帶CSS的“ 404”(前端)頁面。 是否存在用於為tt_news擴展名創建前端URL的智能解決方案?
系統:Typo3 CMS 4.7.7帶有RealURL的簡介包。
好的解決方案是使用Dmitry Dulepov的擴展名“ pagepath”。 您可以在此擴展程序中閱讀文檔-簡單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.