Просмотр полной версии : Работа с docheader кнопка New
Я разобрался как создавать расширение, но застрял на том как создавать новое окно при нажатии на кнопку (Новая запись)389. По идеи должно открывается новое окно с полями формы (с кнопаками сохранить, отмена)390. Я уже 4 дня роюсь не могу найти где это можно почерпнуть помогите пожалуйста.:confused:
dmartynenko
25.10.2011, 18:19
Судя по дропбоксу вверху окна вы находитесь не в разделе List.
Если то что вам нужно это создать запись, заполнить и сохранить ее, то заботиться о кнопках вам не нужно. Это делает ядро. Вам нужно только объявить создать таблицу в SQL (ext_tables.sql) и описать поля таблицы в TCA (ext_tables.php + tca.php + tca.php locallang_db.xml). Со всем этим кикстартер справляется на отлично.
Судя по дропбоксу вверху окна вы находитесь не в разделе List.
Если то что вам нужно это создать запись, заполнить и сохранить ее, то заботиться о кнопках вам не нужно. Это делает ядро. Вам нужно только объявить создать таблицу в SQL (ext_tables.sql) и описать поля таблицы в TCA (ext_tables.php + tca.php + tca.php locallang_db.xml). Со всем этим кикстартер справляется на отлично.
Но я не хочу покамисть переходить на кикстартер, планирую серьезно изучить typo3 поэтому все пытаюсь делать самостоятельно чтобы понимать что я делаю, в дальнейшем может перейду на кикстартер, а покамисть если вам несложно немоглибы Вы дать самые елементарные примеры с перечислеными вами файлами и описанием работы кнопок! Буду очень признателен, а то я уже неделю на одном месте стою. Кстате поповоду cелектбокса, это были обычные скрины КНОПОК которые должны быть в 1-м и 2-м окне все это я для примера выложил что было наглядней и понятней что я хочу сделать.
dmartynenko
26.10.2011, 11:52
А что у вас с орфографией? :D
Вы конечно можете изучить все самостоятельно и разобраться во всем в деталях, но я бы предложил вам другой способ.
1. Ставите себе задачу по разработке конкретного функционала (т.к. задача "все хорошенько изучить" не имеет конца).
2. Делаете "каркас" в кистартере.
3. Изучаете что вам сделал кикстартер.
4. Добавляете в "каркас" свой код.
IMHO это более быстрый и эффективный способ изучения разработки под TYPO3. И не волнуйтесь, кикстартер не оставит вас без работы. Он только лишь формирует необходимые конфигурационные файлы для экстеншена. Логику работы плагинов вы все равно должны писать сами. Что бы сделать то же что и кикстартер, вы потратите пару месяцев на изучение документации. Минус документации в том, что это не пошаговое руководство, а скорее справочник.
Я пробивал создать подобное расширение на кикстартире, но он добавляет только кнопочку сохранить и по нажатию на нее просто выводит содержимое $_POST массива. Я сейчас застрял на том месте какое я Вас уже описывал: что бы по кнопке New, открывалось другое окно с тремя кнопками сохранить, сохранить и закрыть, закрыть. Вы написали что ядро само обрабатывает эти кнопки, но как мне поставить эти кнопки в функционал что бы ядро их обрабатывало?:)))) Можно какойто элеменарный примерчик??? ПОЖАЛУЙСТА:)
dmartynenko
26.10.2011, 14:00
В режиме List зайдите на любую страницу и нажмите "создать новую запись" или карандашик возле существующей записи. Та форма (записи любого типа) что вы увидите это и есть то что описывается в TCA.
То о чем вы пишите, это судя по всему вы создали отдельный BE модуль (скриншот с большим охватом прояснил бы ситуацию). Но там вообще нет ничего стандартного для реализации своего функционала. Делай что хочешь, но с нуля и без помощи стандартных средств - практически на голом PHP.
dmartynenko
26.10.2011, 14:10
Пример собственного BE модуля есть в эксте tt_news папка \mod1 ('nj News Admin).
dmartynenko
26.10.2011, 15:32
Значит вы создали BE Mod, как и tt_news\mod1. Пример из tt_news выводит список новостей на выбранной странице, а редактирование делается теми же стандартными средствами ядра, которые вы так старательно игнорируете :)
PS: Не зная вашей задачи, нельзя посоветовать способ ее решения.
Значит вы создали BE Mod, как и tt_news\mod1. Пример из tt_news выводит список новостей на выбранной странице, а редактирование делается теми же стандартными средствами ядра, которые вы так старательно игнорируете :)
PS: Не зная вашей задачи, нельзя посоветовать способ ее решения.
Я не игнорирую кикстартер, я помощью его же делал это расширение, но там нет такого пункта так добавить кнопочку NEW. Он ставит сам кнопку сохранить и все больше ничего!!! Я не понимаю Вашей фразы – которые вы так старательно игнорируете, - что я игнорирую? Я не могу понять как эти стандартные средства вызвать! Вы говорите это все делает ядро так как заставить это ядро это делать? Вот я нажимаю на кнопочку NEW, на скриншоте 2.jpg, и что она должна сделать какую функцию вызвать? Вы не сердитесь на я понимаю может для вас это элементарно, но я покаместь тут ничего элементарного не вижу. СПАСИБО ЗА БЫСТРЫЕ ОТВЕТЫ И ТЕРПЕНИЕ!!!
dmartynenko
26.10.2011, 18:04
Предположу что вам нужно:
1. Создать таблицу для ввода каких-то записей.
2. Организовать через BE ввод данных в эту таблицу.
Исходя из этой задачи есть стандартные средства:
1. Создать в кикстартере таблицу (New Database Tables), перед этим можно задать в Setup languages какие вы хотите использовать языки для локализации всех подписей.
2. Задать в таблице поля (выбирая визуально тип поля, перечень значений для списков, всякие ограничения на значения и т.п.)
3. Для таблицы еще доступно много общих параметров, рекомендую отметить "Allow records from this table to be created on regular pages" и "Add "Save and new" button in forms".
4. Сгенерить код экста.
5. Установить экст.
Теперь в режиме "Список" (слква третий пункт в меню) при нажатии кнопки "Добавить новую запись" (в правой части окна броузера слева вверху) у вас появится еще один вариант типа создаваемой записи "Моя таблица" (это как вы свою таблицу назвали).
PS: Я закончил эту тему. Описание как сделать то же самое через Mod и т.п. вещи не ко мне.
Вы все предположили правильно! Вот теперь понятно зачем это TCA )))) Огромное СПС!!!!
Идея такая же как у новостей, только по нажатию на Test2, открывалась страница с перечнем информации которая хранится в таблице, а по кнопочки NEW, открывалась форма что отображалась в «Списке» с помощью TCA. Такие интерфейсы мне нужны будут для заполнения моих справочников.
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot