Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 16.06.2010, 14:39   #1
German
Новенький
 
Регистрация: 13.04.2010
Сообщений: 21
По умолчанию какой хук? hook

какой стандартный хук необходимо использовать для вызова своих функций во время сохранения данных на странице???

пытался использовать это:
ext_localconf.php :
$GLOBALS['$TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:asb_header/pi1/class.tx_asbheader_pi1.php:&tx_asbheader_pi1';

class.tx_asbheader_pi1.php:

class tx_asbheader_pi1 extends tslib_pibase {
...
...
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$reference) {
echo 'HOOOOOOOOOOOOOOK';die;
}
...
...
но по не понятным причинам ничего таким образом не работает((

Последний раз редактировалось German; 17.06.2010 в 15:09
German вне форума   Ответить с цитированием
Старый 26.06.2010, 13:44   #2
reva2
Senior Member
 
Аватар для reva2
 
Регистрация: 31.08.2007
Адрес: Ростов-на-Дону
Сообщений: 206
По умолчанию

На первый взгляд все верно. В связи с этим возникает вопрос очищали ли вы typo3conf кеш после редактирования файла ext_localconf.php.

Для примера:

ext_localconf.php
PHP код:
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:user_farm_branches/hooks/class.tx_branch_tceHooks.php:&tx_branch_tceHooks'
user_farm_branches/hooks/class/tx_branch_tceHooks.php
PHP код:
<?php
class tx_branch_tceHooks {

        
//Хук который создает новую группу пользователей для менеджеров филиала и
        //учетную запись для руководителя филиала
    
function processDatamap_preProcessFieldArray(&$incomingFieldArray$table$id, &$tce)
    {
        if(
$table == 'user_farm_branches' && substr($id03) == 'NEW')
        {
            
$config unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['user_farm_branches']);
        
            
$res $GLOBALS['TYPO3_DB']->sql_query('SELECT MAX(uid) as curUid FROM `be_users`');
            
$curUID $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
            
            
$data = array(
                
"be_users" => array(
                    
"NEW345ds45" => array(
                        
"pid" => "0",
                        
"username" => str_replace('###uid###'$curUID['curUid'], $config['branch_leader_template']),
                        
"password" => md5($config['default_leader_pass']),
                        
"disabled" => 0,
                        
"lang" => "ru",
                        
"usergroup" => $config['branch_leader_group'],
                        
"usergroup_cached_list" => $config['branch_leader_group']
                    )
                ),
                
"be_groups" => array(
                    
"NEW3sdf3sa" => array(
                        
"pid" => 0,
                        
"title" => str_replace('###branch_name###'$incomingFieldArray["name"], $config['branch_manager_template']),
                        
"subgroup" => $config['branch_manager_parent_group']
                    )
                )
            );
            
            
$localTCE t3lib_div::makeInstance('t3lib_TCEmain');

            
$localTCE->stripslashes_values 0;
            
$localTCE->start($data, array());
            
$localTCE->process_datamap();
            
            
$incomingFieldArray['leader_id'] = $localTCE->substNEWwithIDs["NEW345ds45"];
            
$incomingFieldArray['group_id'] = $localTCE->substNEWwithIDs["NEW3sdf3sa"];
        }
    }
    
        
//Хук который создает папку для хранения csv файлов с 
        //информацией о ценах и остатках товаров в филиале
    
function processDatamap_afterDatabaseOperations($status$table$id, &$fieldArray, &$tce)
    {
        global 
$BE_USER$TYPO3_CONF_VARS;
    
        if(
$table == 'user_farm_branches' && $status == 'new')
        {
            
$importDir "branch_".$tce->substNEWwithIDs[$id].'/';
            
t3lib_div::mkdir_deep(PATH_site.'fileadmin/''import/prices/'.$importDir);
        }
    }
        
        
//Хук который при удалении филиала удалят связанных с ним пользователей и информацию
        //о ценах и остатках товара в филиале
    
function processCmdmap_preProcess($command$table$id$fields, &$tce)
    {
        if (
$table == 'user_farm_branches' && $command == 'delete')
        {
            
$branch t3lib_BEfunc::getRecord('user_farm_branches'$id);
            
            if (
is_array($branch))
            {
                
$cmd = array(
                    
"be_users" => array(
                        
$branch['leader_id'] => array(
                            
"delete" => 1
                        
)
                    ),
                    
"be_groups" =>array(
                        
$branch['group_id'] => array(
                            
"delete" => 1
                        
)
                    )
                );
                
                
$priceAndRestRecords t3lib_BEfunc::getRecordsByField(
                    
'user_farm_commerce_product_branch_mm',
                    
'branch_id',
                    
$id
                
);
                
                if (
is_array($priceAndRestRecords))
                {
                    
$cmd['user_farm_commerce_product_branch_mm'] = array();
                    
                    foreach(
$priceAndRestRecords as $priceAndRestRecord)
                    {
                        
$cmd['user_farm_commerce_product_branch_mm'][$priceAndRestRecord['uid']] = array(
                                
"delete" => 1
                        
);
                    }    
                }
                
                
$localTCE t3lib_div::makeInstance('t3lib_TCEmain');

                
$localTCE->stripslashes_values 0;
                
$localTCE->start(array(), $cmd);
                
$localTCE->process_cmdmap ();
            }
        }
    }
}
?>
reva2 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внезапно появились ошибки Deprecated: Function ereg_replace() is deprecated AleXUnder Общие вопросы 3 25.08.2009 16:08
очистка кеша для определенного урла demav Общие вопросы 8 03.10.2008 16:57
Что использовать для простого каталога? cronfy Магазины и каталоги для TYPO3 4 23.05.2008 12:36
TS-код для размеченой области TV Andrey Grey TypoScript практикум 4 20.02.2008 21:01
Статистика для посетителей сайта thebat TYPO3: SEO и статистика посещений 9 15.12.2007 19:59


Часовой пояс GMT +4, время: 06:30.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория