5

Extbase と Fluid を使用して特別な BE モジュールを作成しており、標準の FE ユーザーを表すドメイン オブジェクトが必要です。Feuserなどと呼ばれる新しいドメイン オブジェクトを作成して保存すると、拡張機能ビルダーは特別なリポジトリを作成し、データベースに特別なテーブルtx_myextkey_feuserも作成します。しかし、このテーブルはすでにfe_usersとして存在しています。

Feuserオブジェクトのリポジトリが ( fe_usersテーブルとして) 既に存在し、typo3 が既存のものを使用する必要があることを、typo3 に伝えることは可能ですか? どうやってやるの?

拡張機能 (この BE モジュールを含む) はすべてのロジックとコントロールを同じ場所 (この BE モジュール) に配置する必要があるため、これが必要です。

一般的に言えば、新しい FE ユーザーには、可能であれば 2 つの場所で同じ挿入ダイアログが必要です。そうでない場合は、独自の New/Edit/Show アクションを作成できますが、TYPO3 に FE ユーザーの既存のリポジトリを使用する必要があることを伝える必要があります。

タイプミス 4.7.3 を使用しています。

4

2 に答える 2

6

Extbase 6.X の場合

\TYPO3\CMS\ Extbase \Domain\Model\FrontendUserRepository のようなクラスを拡張ビルダー内の既存のモデル クラス フィールドの拡張で指定する必要があります。

その後、モデル内で fe_users を制御できます....

また、拡張機能のルートにファイルext_typoscript_setup.txtを追加します (extension_builder で生成された場合は自動的に追加されます)。

config.tx_extbase{
    persistence{
        classes{

            TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
                subclasses {
                    Tx_Extendfeuser_Extended = Model_class_with_namespace
                    
                }
            }
            Vendor\EXt\Domain\Model\Extended {
                mapping {
                    tableName = fe_users
                    recordType = Tx_Extendfeuser_Extended
                }
            }
            
        }
    }
}

ありがとう!!!

TYPO3 7.6.X でも動作します

于 2014-03-13T10:01:03.860 に答える