Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   FlexForms + TCA (http://forum.typo3.ru/showthread.php?t=3286)

z0r1k 02.05.2007 19:56

FlexForms + TCA
 
У меня есть tca.php в котором описаны свойства таблицы "PRINTERS_TABLE".
Вот сам tca.php:
PHP код:

<?php
if (!defined ('TYPO3_MODE'))     die ('Access denied.');

$TCA["PRINTERS_TABLE"] = array (
    
"ctrl" => $TCA["PRINTERS_TABLE"]["ctrl"],
    
"interface" => array (
        
"showRecordFieldList" => "hidden,starttime,endtime,fe_group,items,settings"
    
),
    
"feInterface" => $TCA["PRINTERS_TABLE"]["feInterface"],
    
"columns" => array (
        
'hidden' => array (        
            
'exclude' => 1,
            
'label'   => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
            
'config'  => array (
                
'type'    => 'check',
                
'default' => '0'
            
)
        ),
        
'starttime' => array (        
            
'exclude' => 1,
            
'label'   => 'LLL:EXT:lang/locallang_general.xml:LGL.starttime',
            
'config'  => array (
                
'type'     => 'input',
                
'size'     => '8',
                
'max'      => '20',
                
'eval'     => 'date',
                
'default'  => '0',
                
'checkbox' => '0'
            
)
        ),
        
'endtime' => array (        
            
'exclude' => 1,
            
'label'   => 'LLL:EXT:lang/locallang_general.xml:LGL.endtime',
            
'config'  => array (
                
'type'     => 'input',
                
'size'     => '8',
                
'max'      => '20',
                
'eval'     => 'date',
                
'checkbox' => '0',
                
'default'  => '0',
                
'range'    => array (
                    
'upper' => mktime(00012312020),
                    
'lower' => mktime(000date('m')-1date('d'), date('Y'))
                )
            )
        ),
        
"items" => Array (        
            
"exclude" => 1,        
            
"label" => "LLL:EXT:printers/locallang_db.xml:ce.title",        
            
"config" => Array (
        
"type" => "flex",      
        
"ds_pointerField" => "list_type",
        
"ds" => Array (
          
"default" => 'FILE:EXT:printers/flexforms_ds_pi1.xml',
        )
            )
        ),
        
"settings" => Array (        
            
"exclude" => 1,        
            
"label" => "LLL:EXT:printers/locallang_db.xml:settings.title",        
            
"config" => Array (
        
"type" => "flex",      
        
"ds_pointerField" => "list_type",
        
"ds" => Array (
          
"default" => 'FILE:EXT:printers/flexforms_settings_pi1.xml',
        )
            )
        ),
    ),
    
"types" => array (
        
// "0" => array("showitem" => "hidden;;1;;1-1-1, items, settings")
        
"0" => array("showitem" => "hidden;;1;;1-1-1, items")
    ),
    
"palettes" => array (
        
"1" => array("showitem" => "starttime, endtime")
    )
);
?>

и есть ext_tables.php в котором регистрируется FE plug-in.
Вот ext_tables.php:
PHP код:

<?php
  
if (!defined ('TYPO3_MODE'))     die ('Access denied.');

  
/**
   * Add PRINTERS Element
   */  

  
$TCA["PRINTERS_TABLE"] = array(
                                            
"ctrl" => array(
                                                            
'title'     => 'LLL:EXT:printers/locallang_db.xml:record_title',        
                                                              
'label'     => 'uid',    
                                                               
'tstamp'    => 'tstamp',
                                                               
'crdate'    => 'crdate',
                                                              
'cruser_id' => 'cruser_id',
                                                              
'default_sortby' => "ORDER BY crdate",    
                                                              
'delete' => 'deleted',    
                                                              
'enablecolumns' => array(        
                                                                                      
'disabled' => 'hidden',    
                                                                                      
'starttime' => 'starttime',    
                                                                                      
'endtime' => 'endtime',    
                                                                                      ),
                                                              
'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'tca.php',
                                                              
'iconfile'          => t3lib_extMgm::extRelPath($_EXTKEY).'ext_icon.gif',
                                                       ),
                                         
"feInterface" => array(
                                                                 
"fe_admin_fieldList" => "hidden, starttime, endtime, settings",
                                                               )                                                       
                                       ); 

  
t3lib_extMgm::allowTableOnStandardPages("PRINTERS_TABLE");
  
t3lib_extMgm::addToInsertRecords("PRINTERS_TABLE");  
  
  
/**
   * Add PRINTERS as Frontend Plug-in
   */
  
  
$tempColumns = Array (
        
"settings" => Array (        
            
"exclude" => 1,        
            
"label" => "LLL:EXT:printers/locallang_db.xml:settings.title",        
            
"config" => Array (
        
"type" => "flex",      
        
"ds_pointerField" => "list_type",
        
"ds" => Array (
          
"default" => 'FILE:EXT:printers/flexforms_settings_pi1.xml',
        )
            )
        ),
  );  
  
  
t3lib_div::loadTCA('tt_content'); 
  
t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns);
  
t3lib_div::loadTCA('tt_content');  
  
  
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_settings_pi1']='layout,select_key,pages,recursive,colPos,spaceBefore,spaceAfter,section_frame,sectionIndex,linkToTop,header_position,header_link,header_layout,sys_language_uid,date';
  
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_settings_pi1']='settings'

  
t3lib_extMgm::addPlugin(array('LLL:EXT:printers/locallang_db.xml:tt_content.list_type_pi1'$_EXTKEY.'_settings_pi1'),'list_type');
  
  
t3lib_extMgm::addStaticFile($_EXTKEY"pi1/static/","PRINTERS"); // need to be debuged... array $conf
  
  
if (TYPO3_MODE=='BE')    {
      
$TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_21torrprinters_pi1_wizicon'] = t3lib_extMgm::extPath($_EXTKEY).'class.tx_printers_pi1_wizicon.php';
  }  
?>

Задача:
Как седлать так, чтобы когда я добавляю FE plug-in у меня показывалась flexforms форма и когда я сохраняю данные они у меня сохранялись не в tt_content, а в поле "settings" таблицы "PRINTERS_TABLE" ??

void 02.05.2007 21:08

Использовать постпроцессинг-хуки в t3lib_befunc и/или t3lib_tcemain.
Интересно, чем вам не угодило сохранение в tt_content'e...

z0r1k 03.05.2007 12:47

Просто эксперементы с BE программированием :)

AleXUnder 19.10.2007 01:59

Цитата:

Сообщение от void (Сообщение 11703)
Интересно, чем вам не угодило сохранение в tt_content'e...

простите, а какая разница чем? если спрашивают значит не угодило.
я вообще заметил тенденцию на этом форуме отсылать к документации, как будто трудно бывает привести кусок кода

Дылгеров Ц.В. 19.10.2007 05:40

Цитата:

Сообщение от AleXUnder (Сообщение 15383)
простите, а какая разница чем? если спрашивают значит не угодило.
я вообще заметил тенденцию на этом форуме отсылать к документации, как будто трудно бывает привести кусок кода

Вообще-то void ответил на вопрос, а потом поинтересовался. И где тут отсылка к документации?

AleXUnder 19.10.2007 10:57

Цитата:

Сообщение от Дылгеров Ц.В. (Сообщение 15388)
Вообще-то void ответил на вопрос, а потом поинтересовался. И где тут отсылка к документации?

не конкретно здесь, а вообще если посмотреть

Pavel Antonov 19.10.2007 15:21

Цитата:

Сообщение от AleXUnder (Сообщение 15393)
не конкретно здесь, а вообще если посмотреть

Хотелось бы напомнить:
  1. Помощь - дело добровольное! Кто как помогает его личное дело. За "конкретно" в платные сервисы поддержки!
  2. Не нравятся ответы... сами идете в документацию и отвечаете так, как считаете нужным. А не флеймить!
  3. Вопросы задаются для того, что бы уточнить задачи и предложить оптимальное решение... а "не Вам какое дело".
  4. Оскорблять тех немногих, которые действительно помогают на форуме, тоже не стоит. Может отдачей вынести.
Удачи!


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

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