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=10045)

ms9 10.04.2012 21:54

Как создать форму в бэкэнде?
 
Добрый день!

Я как-то читал, что kickstarter устарел для свежих версий TYPO3 и более не используется. В этой связи есть вопрос. Подскажите, пожалуйста, как написать бэкэнд-экстеншн, который будет принимать данные от пользователя и писать их в свою таблицу или базу?

Заренее спасибо!

ms9 12.04.2012 21:31

Подскажите, пожалуйста, что почитать по этой проблеме? Про flexform или про что еще?

Мне надо предоставить возможность в бэкэнде заполнять текстовые поля, выбирать из списков, загружать файлы, писать описания. Заливать всё это в отдельную таблицу. А затем не отображая во фронтэнде отдавать в виде rss.

Я попробовал kickstarter. Я так понимаю, что с его помощью можно сделать рыбу для плагина. Плагин для фронтэнда у меня получился, а вот для бэкэнда -- не очень.

Может быть можно TV научить смотреть в стороннюю таблицу? Что посоветуете?

ms9 13.04.2012 19:21

Вот, нашёл что-то похожее, на то, что надо: http://docs.typo3incubator.org/Extba...ion/Index.html

Буду пробовать.

dmartynenko 15.04.2012 13:48

Цитата:

Сообщение от ms9 (Сообщение 33547)
Мне надо предоставить возможность в бэкэнде заполнять текстовые поля, выбирать из списков, загружать файлы, писать описания. Заливать всё это в отдельную таблицу. А затем не отображая во фронтэнде отдавать в виде rss.

Как-то вы сильно усложняете.
Вам не нужен свой BE модуль.

Вам нужно в своем эксте создать таблицу с нужными полями (это кикстартер делает). В результате получится таблица в SQL и конфигурация по каждому полю в TCA. Ввод данных будет делатся стандартными средствами ядра через BE (все таблицы в TYPO3 так сделаны, включая страницы и контент).

Отдавать в RSS это значит отобразить в FE в формате RSS. То есть можно написать свой FE плагин в этом же эксте. А можно используя TS объект CONTENT сделать вывод в виде RSS ланных из вашей таблицы. PHP программирование вам вообще может и не понадобиться для решения вашей задачи.

dmartynenko 15.04.2012 13:50

Extbase and Fluid - это конечно хорошо и современно (или модно?), но для начального изучения сложновато. Лучше разберитесь со "старым" кикстартером (для создания таблиц) и как использовать всю мощь TypoScript.

ms9 17.04.2012 14:23

Экст из кикстартера не захотел отображать поля. А вот на основе учебного экста inventory мне удалось сделать то, что надо. Описание таблиц и в кикстарере, и в fluid-extbase произвоится одинаково. Т.о. ввод данных осилил .Сейчас посмотрим, что с выводом. Попробую сделать так, как Вы советуете.

dmartynenko 17.04.2012 14:47

Цитата:

Сообщение от ms9 (Сообщение 33590)
Экст из кикстартера не захотел отображать поля.

Очень понятно написали в чем проблема :rolleyes:

Из вашего комента некоторые могут сделать неправильный вывод что кикстартер не работает и бесполезен.

ms9 17.04.2012 20:43

Тут, действительно проблема во мне, а не в кикстартере, но я не стал выяснять в чём она, ибо то, что мне было надо уже написал при помощи fluid и extbase. Наверняка, нужно было посмотреть как заполнена таблица с описанием таблиц. Ну, да ладно.

По ходу, так как таблицы описываются примерно одинаково как и для fluid/extbase, так и для кикстартера, то возможно подскАжите, как загружать сразу несколько изображений с возможностью добавлять title и alt. Сейчас я просто описываю поле так:

PHP код:

'image' => array(
        
'label' => 'Images',
        
'config' => array(
                
'type' => 'group',
                
'internal_type' => 'file',
                
'allowed' => 'gif,jpg',
                
'max_size' => 1000,
                
'uploadfolder' => 'uploads/pics/',
                
'show_thumbs' => 1,
                
'size' => 3,
                
'minitems' => 0,
                
'maxitems' => 200,
                
'autoSizeMax' => 10
        
)
), 

В данном случае возможно выбрать несколько файлов, а вот загружать можно только один и нет возможности добавлять описания изображений. Мне надо предоставить возможность редактору загружать и описывать от 0 до 10 картинок.

Может быть стоит посмотреть в сторону с полем Field type “inline”?
Или я вовсе не в ту сторону смотрю?

Андрей Аксенов 18.04.2012 09:34

Может этадокументация подойдет. Посмотрите также на использование мастеров для выбираемых элементов (новый элемент, правка) ведь, как я понимаю, изображения будут также элементами содержимого? Иначе как их править?

dmartynenko 18.04.2012 13:35

Таблицы определяются с помощью TCA и управляются ядром. Никакого отношения к тому как и на базе какой технологии работает весь остальной ваш код в эксте TCA не имеет.

Вообще, типовой подход для подписей, ссылок и т.п. для нескольких картинок, который применяется как в стандартном CE Image, Image+Text и в tt_news - это создание отдельных текстовых полей для title, alt, description и т.д. Каждая строка (разделенная обычно chr(10)) из этих полей относится к соответствующей картинке. Логика вывода картинки и соответствующих текстов ложится целиком на вас.

Второй вариант действительно это inline поле и связь с отдельной табличкой, каждая запись которой может содержать 1 картинку и поля для title, alt, description и т.д.

Ну а самый продвинутый вариант это использование DAM. При этом информация о картинки и связанной с ней описаний и метаинформации хранится в таблице DAM. Откуда вы можете ее вытянуть и вывести. Смотрите эксты dam_ttnews, dam_ttcontent.


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

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