1

tt_content 要素に関連付けられたドメイン モデルを持つ Extbase 拡張機能があります。ページまたはコンテンツ要素を削除すると、関連付けられているすべてのドメイン モデル アイテムも削除されます。これは良いことであり、私たちはその動作を望んでいます (そうしないと、孤児が置き去りにされてしまいます)。

しかし、クライアントは、ページが複製されたときに、このドメイン モデルのアイテムが複製されないことを望んでいます。コピー操作中にこの拡張機能のドメイン モデル項目を複製しないように TYPO3 に指示する方法はありますか?

編集:このプロジェクトでは TYPO3 4.5 を使用しています。

4

1 に答える 1

0

これを処理する唯一の方法は、モデルのテーブルを「許可されていない」セクションに追加することですが、これにより、どこでもバックエンド データセットを変更する機能も削除されます。

これが理由です(TYPO3 6.0で):

ファイル:メソッド: \TYPO3\CMS\Core\DataHandling\DataHandler::copyPages

$copyTablesArray = $this->admin ? $this->compileAdminTables() : explode(',', $this->BE_USER->groupData['tables_modify']);
// If not all tables are allowed then make a list of allowed tables: That is the tables that figure in both allowed tables AND the copyTable-list
if (!strstr($this->copyWhichTables, '*')) {
    foreach ($copyTablesArray as $k => $table) {
        // Pages are always going...
        if (!$table || !\TYPO3\CMS\Core\Utility\GeneralUtility::inList(($this->copyWhichTables . ',pages'), $table)) {
            unset($copyTablesArray[$k]);
        }
    }
}

に設定されているすべてのテーブル$copyTablesArrayがコピーされます。$this->BE_USER->groupData['tables_modify']現在ログインしているユーザーが管理者でない場合に設定されます。

このメソッドの代替実装を追加することでこれを処理できるかもしれませんが、これはあまり簡単な方法ではありません。

于 2013-03-19T14:41:37.360 に答える