't3lib_div::makeInstance'在 TYPO3 V6 中不工作。2.x
' t3lib_div::makeInstance ' not working in TYPO3 V6.2.x
我正在使用 TYPO3 v6。2.x
我尝试了一个使用 created in v4.1.x
的扩展
但是 t3lib_div::makeInstance
代码在 TYPO3 v6 中不起作用。2.x
如何重写以下代码
$this->myRepository = t3lib_div::makeInstance('Tx_newExt_Domain_Repository_myRepository');
在 TYPO3 v6.2.x
提前致谢
已编辑
已添加完整文件以供参考
我的控制器放置在
位置
" typo3conf/ext/new_extension/Classes/Controller/TTBAnbieterController.php "
class Tx_NewExtension_Controller_TTBAnbieterController extends Tx_Extbase_MVC_Controller_ActionController {
/**
* @var Tx_NewExtension_Domain_Repository_TTBAnbieterRepository
*/
protected $tTBAnbieterRepository;
public function initializeAction() {
$this->tTBAnbieterRepository = TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Tx_NewExtension_Domain_Repository_TTBAnbieterRepository');
$extbaseFrameworkConfiguration = Tx_Extbase_Dispatcher::getExtbaseFrameworkConfiguration();
$HeaderData = "<link rel='stylesheet' type='text/css' href='xxxxx'/>";
$this->response->addAdditionalHeaderData($HeaderData);
$this->tTBLocationsProdukteGruppenRepository->CreateSpecialSeoTitle();
}
}
我的存储库位于
位置
"/typo3conf/ext/new_extension/Classes/Domain/Repository/TTBAnbieterRepository.php"
class Tx_NewExtension_Domain_Repository_TTBAnbieterRepository extends Tx_Extbase_Persistence_Repository {
public function getSelectedAnbieter($iAnbieterOfLocation)
{
$sql = "SELECT * FROM tx_NewExtension_domain_model_ttbanbieter WHERE uid = '".$iAnbieterOfLocation."' ";
$data = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $sql);
$aResults = array();
$iCount = 0;
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($data)) {
$aResults[$iCount] = $row;
$iCount++;
}
return $aResults;
}
}
这是控制器和存储库的完整代码。
您应该使用依赖项注入让 extbase 为您处理依赖项的初始化。
/**
* @var \Tx_newExt_Domain_Repository_myRepository
* @inject
*/
protected $myRepository;
我正在使用 TYPO3 v6。2.x 我尝试了一个使用 created in v4.1.x
的扩展但是 t3lib_div::makeInstance
代码在 TYPO3 v6 中不起作用。2.x
如何重写以下代码
$this->myRepository = t3lib_div::makeInstance('Tx_newExt_Domain_Repository_myRepository');
在 TYPO3 v6.2.x
提前致谢
已编辑
已添加完整文件以供参考
我的控制器放置在
位置" typo3conf/ext/new_extension/Classes/Controller/TTBAnbieterController.php "
class Tx_NewExtension_Controller_TTBAnbieterController extends Tx_Extbase_MVC_Controller_ActionController {
/**
* @var Tx_NewExtension_Domain_Repository_TTBAnbieterRepository
*/
protected $tTBAnbieterRepository;
public function initializeAction() {
$this->tTBAnbieterRepository = TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Tx_NewExtension_Domain_Repository_TTBAnbieterRepository');
$extbaseFrameworkConfiguration = Tx_Extbase_Dispatcher::getExtbaseFrameworkConfiguration();
$HeaderData = "<link rel='stylesheet' type='text/css' href='xxxxx'/>";
$this->response->addAdditionalHeaderData($HeaderData);
$this->tTBLocationsProdukteGruppenRepository->CreateSpecialSeoTitle();
}
}
我的存储库位于
位置"/typo3conf/ext/new_extension/Classes/Domain/Repository/TTBAnbieterRepository.php"
class Tx_NewExtension_Domain_Repository_TTBAnbieterRepository extends Tx_Extbase_Persistence_Repository {
public function getSelectedAnbieter($iAnbieterOfLocation)
{
$sql = "SELECT * FROM tx_NewExtension_domain_model_ttbanbieter WHERE uid = '".$iAnbieterOfLocation."' ";
$data = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $sql);
$aResults = array();
$iCount = 0;
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($data)) {
$aResults[$iCount] = $row;
$iCount++;
}
return $aResults;
}
}
这是控制器和存储库的完整代码。
您应该使用依赖项注入让 extbase 为您处理依赖项的初始化。
/**
* @var \Tx_newExt_Domain_Repository_myRepository
* @inject
*/
protected $myRepository;