У меня была задача написание визарда:
Автоматическое создание 2х уровней страниц, для каждой страницы создавалась группа fe-пользователей + дефолтовое создание структуры chc-форума. В БЕ это предельно просто, даже SQL запросы не надо писать.
PHP код:
$data['pages']['NEW_LIGA'] = array(
"title" => t3lib_div::_GP('liganame'),
"hidden" => 0,
"pid" => "12",
);
$data['pages']['NEW_ligaData'] = array(
"title" => 'data',
"hidden" => 0,
"pid" => "NEW_LIGA",
"doktype" => 254
);
$storagePidReMap = array();
foreach (t3lib_div::_GP('workshopTitle') as $w){
$data['pages']['NEW_workshop'.$i] = array(
"title" => $w,
"hidden" => 0,
"pid" => "NEW_LIGA"
);
$data['pages']['NEW_workshopData'.$i] = array(
"title" => 'data',
"hidden" => 0,
"pid" => 'NEW_workshop'.$i,
"doktype" => 254
);
$data['fe_groups']['NEW_fegroup'.$i] = array(
"title" => $w,
"hidden" => 0,
"pid" => 'NEW_workshopData'.$i
);
$storagePidReMap['NEW_workshop'.$i] = 'NEW_workshopData'.$i;
$i++;
}
$category = 0;
foreach (t3lib_div::_GP('forum') as $f){
if($f['category'] != ""){
$i++;
$data['tx_chcforum_category']['NEWcategory_'.$i] = array(
"cat_title" => $f['category'],
"hidden" => 0,
"pid" => "NEW_ligaData"
);
}
if($f['conference'] != ""){
$i++;
$data['tx_chcforum_conference']['NEWconference_'.$i] = array(
"conference_name" => $f['conference'],
"hidden" => 0,
"cat_id" => 'NEWcategory_'.($i-1),
"pid" => "NEW_ligaData"
);
}
}
$tce = t3lib_div::makeInstance('t3lib_TCEmain');
$tce->stripslashes_values = 0;
$tce->start($data,array());
$tce->process_datamap();
unset($data);
$data['pages'][$tce->substNEWwithIDs['NEW_LIGA']] = array(
"storage_pid" => $tce->substNEWwithIDs['NEW_ligaData']
);
foreach ($storagePidReMap as $k => $v){
$data['pages'][$tce->substNEWwithIDs[$k]] = array(
"storage_pid" => $tce->substNEWwithIDs[$v]
);
}
$tce2 = t3lib_div::makeInstance('t3lib_TCEmain');
$tce2->stripslashes_values = 0;
$tce2->start($data,array());
$tce2->process_datamap();
Вот кусок кода, который вобщем-то все и делал.
см.
http://typo3.org/documentation/docum....1.0/view/3/3/