0

フォルダー内Menuのクラスの助けを必要とするという名前の拡張機能があります。MenuHelperext/menu/Classes/Helper

コントローラーでどのように使用しますか? クラス 'MenuHelper' は、コントローラー フォルダーにある場合にのみアクセスされます。

次のようにコントローラーで使用したい:

public function listAction() {

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

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

1 に答える 1

1

ディレクトリにクラスを配置する場合、yourExt/Classes/Helper/NestedDirectory/MenuHelper.php他のすべての extbase ファイルでクラスを取得するには 2 つの方法があります。

TYPO3 > 6.0 の最初の方法: 名前空間の使用

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

class MenuHelper {
}

?>

これで、次を使用してこのクラスのインスタンスを作成できます

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

または単に使用して

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

TYPO3 <= 4.7 の 2 番目の方法

<?php

class Tx_YourExtension_Helper_NestedDirectory_MenuHelper {
}

?>

これで、次を使用してこのクラスのインスタンスを作成できます

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

または単に使用して

$menuHelper = new Tx_YourExtension_Helper_NestedDirectory_MenuHelper();

クラスの名前は、クラスローダーをソースファイルの正しいパスに誘導します。ファイルがクラスと同じ名前であることが非常に重要です。

于 2013-05-14T10:41:07.767 に答える