Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Написание своего расширения (http://forum.typo3.ru/showthread.php?t=4629)

reva2 28.09.2007 20:05

Написание своего расширения
 
Уважаемые коллеги, помогите разрешить два вопроса:
1) как в коде собственного FE плагина получить значения из поля "исходная точка" ?
2) некторые расширения (например tt_news) позволяют в extenshion manger на вкладке Information указать различные настройки (в тоже tt_news это Use "General record storage page", Don't use tab-deviders и т.д.)
Как подобное добавить к своему расширению и как получать значеия параметров установленных там.
Заранее благодарен за ответы.

Dutchak Vitaly 29.09.2007 13:38

1. $this->cObj->data['pages']
2. в tt_news и смотрите ext_conf_template.txt - файл настроек.
А достать их : unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['extKey вашего модуля'])

reva2 01.10.2007 10:48

Большое спасибо

reva2 04.10.2007 19:31

Вложений: 1
Возникла новая проблема, поэтому други, взываю опять к Вашей помощи.
Каждый раз, когда я захожу в Extension Manager, на странице Information TYPO3 выдает фигню показанную на скрине прикрепленном к посту. Не могу никак понять почему он ругается на мою таблицу и каждый раз пытается в ней что-то изменить.
Таблица задана так:
Код:

CREATE TABLE tx_revapolls_answers (
    uid int( 11 ) NOT NULL AUTO_INCREMENT ,
    pid int( 11 ) DEFAULT '0' NOT NULL ,
    tstamp int( 11 ) DEFAULT '0' NOT NULL ,
    crdate int( 11 ) DEFAULT '0' NOT NULL ,
    cruser_id int( 11 ) DEFAULT '0' NOT NULL ,
    deleted tinyint( 4 ) DEFAULT '0' NOT NULL ,
    hidden tinyint( 4 ) DEFAULT '0' NOT NULL ,
    poll_id int( 11 ) NOT NULL ,
    answer tinytext NOT NULL ,
    voice_count int( 11 ) DEFAULT '0' NOT NULL ,

    PRIMARY KEY ( uid )
);

В таблице хранятся записи о вариантах ответов в опросе
Поля uid, pid, tstamp, crdate, cruser_id, deleted, hidden стандартные и думаю их назначение объяснять не нужно.
Поле poll_id - содержит код опроса к которому относится этот вариант ответа.
Поле answer - содержит текст варианта ответа
В поле voice_count - хранится число пользователей выбравших этот варианта опроса.
В ext_tables.php моего расширения прописано следующее:
PHP код:

$TCA["tx_revapolls_answers"] = array (
    
"ctrl" => array (
        
'title'     => 'LLL:EXT:reva_polls/locallang_db.xml:tx_revapolls_answers',        
        
'label'     => 'answer',    
        
'tstamp'    => 'tstamp',
        
'crdate'    => 'crdate',
        
'cruser_id' => 'cruser_id',
        
'default_sortby' => "ORDER BY crdate",    
        
'delete' => 'deleted',    
        
'enablecolumns' => array (        
            
'disabled' => 'hidden',
        ),
        
'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY).'tca.php',
        
'iconfile'          => t3lib_extMgm::extRelPath($_EXTKEY).'icon_tx_revapolls_answers.gif',
    ),
    
"feInterface" => array (
        
"fe_admin_fieldList" => "hidden, poll_id, answer, voice_count",
    )
); 

А в файле tca.php моегоже расширения:
PHP код:

$TCA["tx_revapolls_answers"] = array (
    
"ctrl" => $TCA["tx_revapolls_answers"]["ctrl"],
    
"interface" => array (
        
"showRecordFieldList" => "hidden,poll_id,answer,voice_count"
    
),
    
"feInterface" => $TCA["tx_revapolls_answers"]["feInterface"],
    
"columns" => array (
        
'hidden' => array (        
            
'exclude' => 0,
            
'label'   => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
            
'config'  => array (
                
'type'    => 'check',
                
'default' => '0'
            
)
        ),
        
"poll_id" => Array (        
            
"exclude" => 0,        
            
"label" => "LLL:EXT:reva_polls/locallang_db.xml:tx_revapolls_answers.poll_id",        
            
"config" => Array (
                
"type" => "passthrough",
            )
        ),
        
"answer" => Array (        
            
"exclude" => 0,        
            
"label" => "LLL:EXT:reva_polls/locallang_db.xml:tx_revapolls_answers.answer",        
            
"config" => Array (
                
"type" => "input",    
                
"size" => "40",    
                
"max" => "255",    
                
"eval" => "required",
            )
        ),
        
"voice_count" => Array (        
            
"exclude" => 0,        
            
"label" => "LLL:EXT:reva_polls/locallang_db.xml:tx_revapolls_answers.voice_count",        
            
"config" => Array (
                
"type"     => "input",
                
"size"     => "4",
                
"eval"     => "int",
                
"range"    => Array (
                    
"upper" => "1000000000",
                    
"lower" => "0"
                
),
                
"default" => 0
            
)
        ),
    ),
    
"types" => array (
        
"0" => array("showitem" => "hidden;;1;;1-1-1, poll_id, answer, voice_count")
    ),
    
"palettes" => array (
        
"1" => array("showitem" => "")
    )
); 

Расширение при этом работает полностью корректно, но интересна причина такого поведения TYPO3.

Dutchak Vitaly 05.10.2007 11:52

SQL парсинг так работает. Не обращайте внимания. просто дефолтный SQL прописан чуть неккоректно по отношению к парсеру, вот он и пытается поменять поля, но хар-ки полей такие же, поэтому это ничего не даст. или перепишите ext_tables.sql в нормальном формате или не обращайте внимания


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

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