2016-09-15 13 views
1

私はかつてこのようなデータマップと、extbaseで新しいページを作成する2つの方法であること見てきました:extbaseでページを作成する最も良い方法はどれですか?

$data = array(
‚pages‘ => array(
‚NEW_1‘ => array(
    ‚pid‘ => 1, 
    ‚title‘ => ‚Hello World‚ 
), 
) 
); 

$tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler'); 
$tce->start($data, array()); 
$tce->process_datamap(); 
\TYPO3\CMS\Backend\Utility\BackendUtility::setUpdateSignal('updatePageTree'); 
$tce->clear_cacheCmd('pages'); 

そしてマッピング

このようなモデル

と他の方法を
class Pages extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity{ 
… 
} 

リポジトリ

class PagesRepository extends \TYPO3\CMS\Extbase\Persistence\Repository { 
… 
} 

コントローラ

$page->setTitle('Hell World'); 
$this->pagesRepository->add($page); 

のTypoScript 1は、私がページを作成するために使用すると、両者の違いは何ですか

persistence{ 
     classes{ 
     <Vendor>\<extKey>\Domain\Model\Pages{ 
      mapping{ 
      tableName = pages 
      columns{ 
      title.mapOnProperty = title 
      … 
      } 
      }  
     } 
     } 
} 

答えて

4

DataMapperを使用するアプローチは、refindexのようにTYPO3のインターラルをよく気にするので、私はこのアプローチを使用します。

リレーションを持つカスタムモデルを作成する必要がある場合、extbaseを使用するのは単なる作業ではないからです。

関連する問題