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

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 28.02.2008, 14:01   #1
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию новый тип поля в FCE templavoila - как?

всем привет!

задача:

Front End - вывести ссылку на файл (док, пдф, ткст).

Back End - ссылку пользователь задаёт в специальном контент элементе FCE в templavoila.

templavoila позволяет определить поле одного из предопределённых типов
(текстовое поле (input), список (select), картинка (typo3 file field with upload jpg, gif, png), ссылка (link - typo3 set link dialog))

в настоящее время выбрал тип поля ссылка (link) - очень удобно, пользователь кликает на иконке диалога, и открывается новое окошко Typo3browser, который позволяет задать ссылку на страницу, внешнюю ссылку, и на файл из файладмин каталога или ссылку на картинку.

Отлично выбираем файл в файладмин и сохраняем ссылку.

Клиенту не нравится:

Но клиенту не нравится такое отличное решение. Перед тем как создать ссылку, файл надо зааплоадить в файладмин. Потом найти его в диалоге при создании ссылки. Если файл удалили ссылка не работает.

Ну вобщем много лишней работы и мало надёжности для простого пользователя.

Клиент хочет по-другому:

Есть такой стандартный контент элемент файллинкс. Он удобен тем, что прямо в бекенде при создании контент элемента можно зааплоадить несколько файлов и всё ок.

Клиент хочет чтоб был FCE + похожее поле в котором он мог бы зааплоадить файл нужного типа (док, пдф, ткст) и чтоб после всего ссылочка на файл появилась во фронтенде.

Проблема:

Всё бы ничего, но в templavoila нет подходящего типа поля. т.е. есть поле типа картинка, в нём можно зааплоадить файл прямо в контент элементе, и он копируется в темп каталог - становиться частью базы данных, вобщем почти то, что нужно.

Но, как всегда, но... Этот тип поля позволяет аплоадить только картинки, т.е. тип файла (jpg, gif, png). И также к нему автоматом прикручивается тайпоскрипт для вывода файла в виде тега img.

Вопрос:

Какое может быть решение? Как можно добавить свой тип поля в templavoila? если возможно конечно? Может кто-то уже сталкивался с такой проблемой? как решали? какие-то расширения для templavoila?

иначе в голову приходят только длинные решения, типа:
- попытаться использовать поле типа картинка и изменить ограничение на тип файла для аплоада + корректировать ручками ТС для вывода ссылки на файл. вроде ничего вариант, но есть проблемы (лезть ручками причем каждый раз когда вставляешь такое поле в новый FCE или вносишь изменения в существующий, + темпла всё похерит при первой же возможности сама (слёт шаблона, обновление других полей, ваш вариант))

- копать темплу и найти где и как добавляются законные поля и их поддержка в бекенде + тайпскрипт + маппинг + еще что-то может встретиться.

вобщем так.

будут мысли, будет интересно узнать.

Евгений,
Харьков
(:) вне форума   Ответить с цитированием
Старый 29.02.2008, 15:42   #2
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Поле типа картинка как раз то что нужно. Не надо обращать внимания на то что может создать визард - он очень ограничен. Вы всегда можете поправить DS руками.

Действия следующие.
  1. Создаем шаблон с полем типа image;
  2. Открываем DS вновь созданного шаблона;
  3. Ищем наше поле. Оно будет выглядеть что то типа:
    Код:
                <field_t type="array">
                    <tx_templavoila type="array">
                        <title></title>
                        <sample_data type="array">
                            <numIndex index="0"></numIndex>
                        </sample_data>
                        <eType>image</eType>
                        <TypoScript>
        10 = IMAGE
        10.file.import = uploads/tx_templavoila/
        10.file.import.current = 1
        10.file.import.listNum = 0
        10.file.maxW = 200
                                </TypoScript>
                    </tx_templavoila>
                    <TCEforms type="array">
                        <config type="array">
                            <type>group</type>
                            <internal_type>file</internal_type>
                            <allowed>gif,png,jpg,jpeg</allowed>
                            <max_size>1000</max_size>
                            <uploadfolder>uploads/tx_templavoila</uploadfolder>
                            <show_thumbs>1</show_thumbs>
                            <size>1</size>
                            <maxitems>1</maxitems>
                            <minitems>0</minitems>
                        </config>
                        <label></label>
                    </TCEforms>
                </field_t>
  4. Меняем eType на file (не знаю нужно ли это вообще, так как все определяет internal_type. Возможно это поле только для визарда)
  5. TypoScript - меняем на то что мы хотим увидеть в FE (ссылку на файл наверно?)
  6. Меняем allowed на расширения которые нужны - doc, xls, txt...
  7. show_thumbs ставим в "0"
  8. Остальное добавить по вкусу, перемешать и варить до полной готовности...
Естественно после этой процедуры мы прощаемся в Визардом TV навсегда, так как все на что он способен - уничтожить наши исправления. Маппинг можете делать без проблем, а поля в DS придется добавлять руками. FCE меняются за время жизни сайта очень редко... так что ничего страшного.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/

Последний раз редактировалось Pavel Antonov; 29.02.2008 в 15:56
Pavel Antonov вне форума   Ответить с цитированием
Старый 02.03.2008, 02:55   #3
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию

Преотличнейше

спасибо, будем ковырять

еще...

что-то свербит залезть в визард, и помочь ему не гадить в этом месте, а наооборот, научить его новому типу поля

Евгений
Харьков
(:) вне форума   Ответить с цитированием
Старый 02.03.2008, 12:13   #4
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

вот здеcь посмотрите - на ту же тему пост
http://forum.typo3.biz/showthread.php?t=5928
(правда здесь я как раз поле link использовал, но TS может Вам пригодиться)
__________________
Веб-студия ТТЛАБ
www.ttlab.ru

Последний раз редактировалось Valery Romanchev; 02.03.2008 в 19:01
Valery Romanchev вне форума   Ответить с цитированием
Старый 02.03.2008, 14:01   #5
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от (:) Посмотреть сообщение
что-то свербит залезть в визард, и помочь ему не гадить в этом месте, а наооборот, научить его новому типу поля
Есть хук который позволяет делать собственную генерацию кода для элементов: $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['templavoila']['cm1']['eTypesConfGen'][$eType]['tx_templavoila']['eType']]

Но на сам визард это мало влияет - у него все прошито в коде.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 04.03.2008, 11:04   #6
(:)
Senior Member
 
Регистрация: 05.04.2006
Сообщений: 105
По умолчанию

привет, Павел, да залез внутрь,

хук их переопределяет весь список типов полей, т.е. этот весь список полей надо заново переопределить, и этого делать конечно нет никакого желания.
А тут бы нужен был механиз добавления одного нового типа поля. И конечно же соответсвующий механизм добавления этого же типа поля в визард, а в нём как вы верно заметили всё зашито жестко.

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

Так что лёгкая передалка ТС кода ручками на настоящий момент оказалась лучшим выходом

спасибо


Валерий, спасибо за ответ,

как мне кажется я вас правильно понял но в нашем случае есть необходимость заменить в бекенде поле link (с вызовом браузера файлов) на поле аплоад (input + кнопка browse т.е. именно то, что TV в ТСЕФормс предлагает поле Image).

Спасибо за ваш совет, было очень полезно рассмотреть различные варианты, и увидеть новые возможности - научиться новому

спасибо огромное
(:) вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как начать в TYPO3 новый сайт ? Vam TypoScript практикум 5 04.01.2008 03:18
Как создать новый сайт (проект) и что за ошибка ? Comwad Общие вопросы 5 13.12.2007 03:01
Как настроить RTE для FCE Alexey Kuzminich HTMLArea, RTE, tinymce_rte и другие визуальные редакторы 2 29.08.2007 19:38
Ссылка на FCE как часть шаблона Templavoila acid-art Общие вопросы 1 09.04.2007 13:56
TER 2.0 и новый Extension Manager как пример кривизны в Typo3 Guinness Общие вопросы 6 30.03.2006 11:27


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


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

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