Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Вкладки (tabs) в своем расширении (http://forum.typo3.ru/showthread.php?t=10356)

des 19.10.2012 11:00

Вкладки (tabs) в своем расширении
 
Добрый день всем! Ребят, помогите пожалуйста решить небольшую проблему! Я создал свое расширение в kickstarter, настроил все поля в файле tca.php... все отлично работает! Но хотелось бы раскидать эти поля на несколько вкладок для визуального удобства их заполнения.

Вот тут та и возникла проблема...

Для включения вкладок я добавил в файл ext_tables.php своего расширения строку:
Код:

'dividers2tabs' => '1'
а вот кстати все содержимое файла ext_tables.php:

Код:

<?php
if (!defined('TYPO3_MODE')) {
        die ('Access denied.');
}
$TCA['tx_feedbackformdes_desfeedbackform'] = array(
        'ctrl' => array(
                'title'    => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform',               
                'label'    => 'uid',       
                'tstamp'    => 'tstamp',
                'crdate'    => 'crdate',
                'cruser_id' => 'cruser_id',
                'default_sortby' => 'ORDER BY crdate',       
                'delete' => 'deleted',
                'dividers2tabs' => '1',
                'enablecolumns' => array(               
                        'disabled' => 'hidden',
                ),
                'dynamicConfigFile' => t3lib_extMgm::extPath($_EXTKEY) . 'tca.php',
                'iconfile'          => t3lib_extMgm::extRelPath($_EXTKEY) . 'icon_tx_feedbackformdes_desfeedbackform.gif',
        ),
);


if (TYPO3_MODE === 'BE') {
        t3lib_extMgm::addModulePath('web_txfeedbackformdesM1', t3lib_extMgm::extPath($_EXTKEY) . 'mod1/');
               
        t3lib_extMgm::addModule('web', 'txfeedbackformdesM1', '', t3lib_extMgm::extPath($_EXTKEY) . 'mod1/');
}
?>

и добавил в файл tca.php своего расширения разделитель вкладок с названием General:

Код:

'types' => array(
                '0' => array('showitem' => '--div--;General, fromsite, emailsite, subjectsite, fromnamesite, fromclients, fromnameclients, subjectclients, bodytextclients;;;richtext[]:rte_transform[mode=ts], hidden;;1;;1-1-1')
        ),

все содержимое файла tca.php:

Код:

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

$TCA['tx_feedbackformdes_desfeedbackform'] = array(
        'ctrl' => $TCA['tx_feedbackformdes_desfeedbackform']['ctrl'],
        'interface' => array(
                'showRecordFieldList' => 'hidden,fromsite,emailsite,subjectsite,fromnamesite,fromclients,fromnameclients,subjectclients,bodytextclients'
        ),
        'feInterface' => $TCA['tx_feedbackformdes_desfeedbackform']['feInterface'],
        'columns' => array(
                'hidden' => array(               
                        'exclude' => 1,
                        'label'  => 'LLL:EXT:lang/locallang_general.xml:LGL.hidden',
                        'config'  => array(
                                'type'    => 'check',
                                'default' => '0'
                        )
                ),
                'fromsite' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.fromsite',               
                        'config' => array(
                                'type' => 'input',       
                                'size' => '30',       
                                'max' => '255',
                        )
                ),
                'emailsite' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.emailsite',               
                        'config' => array(
                                'type' => 'text',
                                'cols' => '30',       
                                'rows' => '2',
                        )
                ),
                'subjectsite' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.subjectsite',               
                        'config' => array(
                                'type' => 'input',       
                                'size' => '30',       
                                'max' => '255',
                        )
                ),
                'fromnamesite' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.fromnamesite',               
                        'config' => array(
                                'type' => 'input',       
                                'size' => '30',       
                                'max' => '255',
                        )
                ),
                'fromclients' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.fromclients',               
                        'config' => array(
                                'type' => 'input',       
                                'size' => '30',       
                                'max' => '255',
                        )
                ),
                'fromnameclients' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.fromnameclients',               
                        'config' => array(
                                'type' => 'input',       
                                'size' => '30',       
                                'max' => '255',
                        )
                ),
                'subjectclients' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.subjectclients',               
                        'config' => array(
                                'type' => 'input',       
                                'size' => '30',       
                                'max' => '255',
                        )
                ),
                'bodytextclients' => array(               
                        'exclude' => 0,               
                        'label' => 'LLL:EXT:feedbackformdes/locallang_db.xml:tx_feedbackformdes_desfeedbackform.bodytextclients',               
                        'config' => array(
                                'type' => 'text',
                                'cols' => '30',
                                'rows' => '5',
                                'wizards' => array(
                                        '_PADDING' => 2,
                                        'RTE' => array(
                                                'notNewRecords' => 1,
                                                'RTEonly'      => 1,
                                                'type'          => 'script',
                                                'title'        => 'Full screen Rich Text Editing|Formatteret redigering i hele vinduet',
                                                'icon'          => 'wizard_rte2.gif',
                                                'script'        => 'wizard_rte.php',
                                        ),
                                ),
                        )
                ),
        ),
        'types' => array(
                '0' => array('showitem' => '--div--;General, fromsite, emailsite, subjectsite, fromnamesite, fromclients, fromnameclients, subjectclients, bodytextclients;;;richtext[]:rte_transform[mode=ts], hidden;;1;;1-1-1')
        ),
        'palettes' => array(
                '1' => array('showitem' => '')
        )
);
?>

Но вкладка ни в какую не хочет отображаться!
http://i008.radikal.ru/1210/9f/82cdad62de23.jpg

Может я еще что-то забыл указать... Помогите, пожалуйста! Заранее спасибо!

dmartynenko 19.10.2012 12:06

Возможно она не показывается потому что одна. Добавьте еще 2-ю вкладку с полями.

des 20.10.2012 19:39

Цитата:

Сообщение от dmartynenko (Сообщение 34688)
Возможно она не показывается потому что одна. Добавьте еще 2-ю вкладку с полями.

Спасибо, dmartynenko ! Все так и есть.

Почитал доки на эту тему и выяснил что, 'dividers2tabs' имеет три режима: '0', '1' и '2'. Так вот, для отображения вкладок в режиме '1' необходимо иметь не менее двух разделителей, если же разделитель один, то сам таб будет отображаться без названия...

добавил еще один разделитель:
Код:

'types' => array(
                '0' => array('showitem' => '--div--;Администратору, fromsite, emailsite, subjectsite, fromnamesite, '. '--div--;Клинету, fromclients, fromnameclients, subjectclients, bodytextclients;;;richtext[]:rte_transform[mode=ts], hidden;;1;;1-1-1')
        ),

и все отобразилось:

http://s018.radikal.ru/i506/1210/4b/ae8e39987f2a.jpg

Вам, dmartynenko, огромное спасибо! Рад, что на этом форуме всегда есть люди готовые подсказать и чем-либо помочь!


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

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