1

TYPO3 CMS 6.2.17 では、Extension Builder を使用して、フロントエンド プラグインとバックエンド モジュールを持つ Extbase 拡張機能を作成しました。2 つのページを持つ localhost Web サイトを作成しました。id=1 は標準ページです。id=2 はフォルダです。標準ページにはサイトのルート TypoScript テンプレートがあり、そのテンプレートには拡張機能の静的ファイルが含まれています。

Web モジュールで Extbase 拡張機能を有効にしました。拡張機能とフォルダー ページ (id=2) を選択すると、既定のコントローラーとアクションからデータが入力されたリストが表示されました。しかし、ディスプレイはバックエンドのレイアウトではなく、フロントエンドの Fluid レイアウトを使用していました。「typo3-docheader-functions」div クラスの Fluid actionMenu のバックエンド レイアウトが必要です。

ディスプレイのバックエンド Fluid レイアウトを取得できないようです。標準ページ (予想どおり空のリスト表示) とサイト ルート ページ (id=0) (空のリスト表示) を選択しましたが、どちらもフロントエンドの Fluid レイアウトを使用しています。

インストール ツールですべてのキャッシュをクリアし、typo3temp/ をクリーンアップしました。Extension Manager で拡張機能を非アクティブ化して再アクティブ化しました。TYPO3 Extbase バックエンド モジュールで提案されている解決策を試しました。テンプレート パスの問題、さらにはTYPO3 4.5 extbase テスト バックエンド モジュール。これまでのところ何も機能していません。サイトのインストール ツールの「すべての構成」設定も確認しましたが、バックエンドの表示の問題に影響を与えると思われるものは何もありませんでした。

コードは Extension Builder から直接作成したものですが、一部を抜粋して示します。

ext_tables.php:

if (TYPO3_MODE === 'BE') {

    /**
     * Registers a Backend Module
     */
    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule(
        'MyVendor.' . $_EXTKEY,
        'web',
        'myextbe',  // Submodule key
        '',                     // Position
        array(
            'Import' => 'list, show, new, create, edit, update, delete',
            'Pages' => 'list, show',
        ),
        array(
            'access' => 'user,group',
            'icon'   => 'EXT:' . $_EXTKEY . '/ext_icon.gif',
            'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_myextbe.xlf',
        )
    );

}

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'My Ext');

myext\Configuration\TypoScript\constants.txt:

module.tx_myext_myextbe {
    view {
        # cat=module.tx_myext_myextbe/file; type=string; label=Path to template root (BE)
        templateRootPath = EXT:myext/Resources/Private/Backend/Templates/
        # cat=module.tx_myext_myextbe/file; type=string; label=Path to template partials (BE)
        partialRootPath = EXT:myext/Resources/Private/Backend/Partials/
        # cat=module.tx_myext_myextbe/file; type=string; label=Path to template layouts (BE)
        layoutRootPath = EXT:myext/Resources/Private/Backend/Layouts/
    }
    persistence {
        # cat=module.tx_myext_myextbe//a; type=string; label=Default storage PID
        storagePid =2
    }
}

myext\Configuration\TypoScript\setup.txt:

 # Module configuration
module.tx_myext_myextbe {
    persistence {
        storagePid = {$module.tx_myext_myextbe.persistence.storagePid}
    }
    view {
        templateRootPath = {$module.tx_myext_myextbe.view.templateRootPath}
        partialRootPath = {$module.tx_myext_myextbe.view.partialRootPath}
        layoutRootPath = {$module.tx_myext_myextbe.view.layoutRootPath}
    }
}
4

1 に答える 1