Php 如何自动编辑页面配置并从扩展控制器添加模板?
我正在编写一个自动创建页面的Extbase扩展。 到目前为止,我已经成功地添加了页面,它们显示在页面树中。我还将它们的页面ID保存在变量中Php 如何自动编辑页面配置并从扩展控制器添加模板?,php,typo3,fluid,extbase,Php,Typo3,Fluid,Extbase,我正在编写一个自动创建页面的Extbase扩展。 到目前为止,我已经成功地添加了页面,它们显示在页面树中。我还将它们的页面ID保存在变量中 $data = array( 'pages' => array( 'NEW_1' => array( 'pid' => '-1', 'title' => 'Page1', ), '
$data = array(
'pages' => array(
'NEW_1' => array(
'pid' => '-1',
'title' => 'Page1',
),
'NEW_2' => array(
'pid' => 'NEW_1',
'title' => 'Page2',
),
'NEW_3' => array(
'pid' => 'NEW_1',
'title' => 'Page3',
),
'NEW_4' => array(
'pid' => 'NEW_1',
'title' => 'Page4',
),
)
);
$tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler');
$tce->stripslashes_values = 0;
$dataHandler->reverseOrder = 0;
$tce->start($data, []);
$tce->process_datamap();
\TYPO3\CMS\Backend\Utility\BackendUtility::setUpdateSignal('updatePageTree');
$tce->clear_cacheCmd('pages');
$Page1id=$tce->substNEWwithIDs['NEW_1'];
$Page2id=$tce->substNEWwithIDs['NEW_2'];
$Page3id=$tce->substNEWwithIDs['NEW_3'];
$Page4id=$tce->substNEWwithIDs['NEW_4'];
现在我想自动为这些页面添加一个流体模板,但如果不在后端手动添加一个模板,我就不知道该怎么做。有人知道怎么做吗?
提前感谢您的帮助。由于流体模板不会立即分配给页面,因此您需要设置一个用于选择模板的布局。在
页面
记录中有多个字段。最常见的字段可能是backend\u layout
和backend\u layout\u next\u level
。您也可以使用字段pagelayout
,但我更喜欢backend\u layout
,因为它有一个很好的继承模式,您可以在其中除去单个页面。
解决方案可以在web或web上找到
如果使用其中一个字段选择流体模板,则可以在创建新记录时将此字段设置为与任何其他字段一样
$data = array(
'pages' => array(
'NEW_1' => array(
'pid' => '-1',
'title' => 'Page1',
'backend_layout' => 'SpecialPageLayout',
),
'NEW_2' => array(
'pid' => 'NEW_1',
'title' => 'Page2',
'backend_layout' => 'SpecialPageLayout',
),
:
若你们的意思是流体模板,那个么你们在后端的什么地方手动添加它们呢?或者您指的是打字稿模板,您可以在其中配置流体模板?谢谢您的回答。:)今天晚上我要试一试。