4

私は拡張機能を作成し、バックエンドを介したプラグインの実装はすべてを正しく行います。

しかし、タイポスクリプトを使用して拡張機能を実装しようとすると、毎回このエラーが発生します。

エラーが発生しました。

デフォルトのコントローラーを判別できません。ext_localconf.php で Tx_Extbase_Utility_Extension::configurePlugin() を確認してください。

理由はわかりません..さまざまな実装を試しました (tx_extbase_core_bootstrap->run または tx_extbase_dispatcher->dispatch ごとに、追加情報ありとなし)。現在のタイポスクリプトは次のようになります。

plugin.tx_graphichmenu {
    settings {
        menuUid = 1
    }
}

lib.tx_graphichmenu = USER
lib.tx_graphichmenu {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = Graphichmenu
    pluginName = Graphicmenu
    controller = MenuController
    action = showAction
}

temp.mainTemplate.subparts.stickyfooter < lib.tx_graphichmenu

私はすべてを二重および三重にチェックしましたが、単一の障害は見つかりませんでした...「アクション」と「コントローラー」の部分なしで試してみましたが、何も変わりませんでした

ext_localconf.php の configurePlugin 部分は次のようになります。

Tx_Extbase_Utility_Extension::configurePlugin(
    $_EXTKEY,
    'Graphicmenu',
    array(
        'Menu' => 'show',
    ),
    // non-cacheable actions
    array(
        'Menu' => '',
    )
);

「表示」アクションにはパラメーターがありません。そこで、表示するオブジェクトのUidを取得する場所からts設定をロードします

PS: すべての変更の後、キャッシュをクリアし、typo3conf の「temp_CACHED_...」ファイルを削除しました。

4

1 に答える 1

7

ブートストラップを変更する必要があります。一般的な構文があります。

lib.foo = USER
lib.foo {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = YourExtension
    pluginName = YourPlugin
    vendorName = YourVendor
    switchableControllerActions {
        Standard {
            1 = action2
            2 = action3
        }
    }
}

注:キャメルケースextensionName値は重要です! (確認してくれたカイに感謝します)したがって、extkeyが次のkai_some_extension場合は、次のように記述する必要がありますKaiSomeExtension

したがって、あなたの場合は次のようになります。

lib.foo = USER
lib.foo {
    userFunc = tx_extbase_core_bootstrap->run
    extensionName = GraphicHmenu
    pluginName = Graphicmenu
    switchableControllerActions {
        Menu {
            1 = show
        }
    }
}
于 2012-09-05T18:03:58.190 に答える