2013-05-14 31 views
0

我有一個名爲Menu的擴展名,它需要中文件夾的幫助。如何在TYPO3中包含擴展的外部類?

如何在我的控制器中使用它?只有當它在控制器文件夾中時才能訪問類「MenuHelper」。

我想用它在我的控制器是這樣的:

public function listAction() { 

     $menugenerators=new MenuHelper(); # Will return something 

     $this->view->assign('menugenerators', $menugenerators); 
} 
+0

哪個TYPO3版本?使用定義的名稱或命名空間有幾種方法。 – Merec 2013-05-14 10:28:45

+0

版本爲6.1.0 – user2354302 2013-05-14 10:33:58

回答

1

如果將一個類目錄yourExt/Classes/Helper/NestedDirectory/MenuHelper.php你有兩種方法可以在所有其他extbase文件的類。

與TYPO3第一種方式> 6.0:使用命名空間

<?php 
namespace YourVendor\YourExtension\Helper\NestedDirectory; 

class MenuHelper { 
} 

?> 

現在,你可以簡單地通過使用

$menuHelper = new \YourVendor\YourExtension\Helper\NestedDirectory\MenuHelper(); 

使用

$menuHelper = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("YourVendor\\YourExtension\\Helper\\NestedDirectory\\MenuHelper") 

或使這個類的一個實例

第二種方式與TYPO3 < = 4.7

<?php 

class Tx_YourExtension_Helper_NestedDirectory_MenuHelper { 
} 

?> 

現在,你可以簡單地通過使用

$menuHelper = new Tx_YourExtension_Helper_NestedDirectory_MenuHelper(); 

類的名稱讓使用

$menuHelper = t3lib_div::makeInstance("Tx_YourExtension_Helper_NestedDirectory_MenuHelper") 

或這個類的一個實例引導類加載器到源文件的正確路徑。該文件具有該類所具有的相同名稱是非常重要的。

+0

非常感謝。這工作,並對遲到的迴應感到抱歉:) – user2354302 2013-05-21 05:51:59