Показать сообщение отдельно
Старый 18.07.2008, 22:15   #2
Sergey M Nikitin
Administrator
 
Аватар для Sergey M Nikitin
 
Регистрация: 10.07.2007
Адрес: Moscow
Сообщений: 181
Отправить сообщение для Sergey M Nikitin с помощью ICQ Отправить сообщение для Sergey M Nikitin с помощью Skype™
По умолчанию Пишите свой мой совет

У меня была задача написание визарда:
Автоматическое создание 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/
Sergey M Nikitin вне форума   Ответить с цитированием