2016-09-15 60 views
1

我已经看到了两种方法来创建extbase新的网页,一旦与的数据图这样的:哪个是用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); 

Typo脚本

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

哪一个,我应该使用它来创建页面和就是两者之间的区别?

回答

4

我会去使用DataMapper的方法,因为它像refindex更好地关心TYPO3的内部。

如果我需要创建一个与关系的自定义模型,我会使用extbase,因为它只是少工作。

相关问题