Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Разработка расширений / TYPO3 extension development (http://forum.typo3.ru/forumdisplay.php?f=38)
-   -   Работа с docheader кнопка New (http://forum.typo3.ru/showthread.php?t=9767)

brd 25.10.2011 17:53

Работа с docheader кнопка New
 
Вложений: 2
Я разобрался как создавать расширение, но застрял на том как создавать новое окно при нажатии на кнопку (Новая запись)Вложение 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). Со всем этим кикстартер справляется на отлично.

brd 25.10.2011 22:17

Спасибо за быстрый ответ
 
Цитата:

Сообщение от dmartynenko (Сообщение 32222)
Судя по дропбоксу вверху окна вы находитесь не в разделе 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. И не волнуйтесь, кикстартер не оставит вас без работы. Он только лишь формирует необходимые конфигурационные файлы для экстеншена. Логику работы плагинов вы все равно должны писать сами. Что бы сделать то же что и кикстартер, вы потратите пару месяцев на изучение документации. Минус документации в том, что это не пошаговое руководство, а скорее справочник.

brd 26.10.2011 13:47

Работа с кикстартером
 
Я пробивал создать подобное расширение на кикстартире, но он добавляет только кнопочку сохранить и по нажатию на нее просто выводит содержимое $_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).

brd 26.10.2011 15:22

Скрин
 
Вложений: 1
Вложение 391 - вот скрин

dmartynenko 26.10.2011 15:32

Значит вы создали BE Mod, как и tt_news\mod1. Пример из tt_news выводит список новостей на выбранной странице, а редактирование делается теми же стандартными средствами ядра, которые вы так старательно игнорируете :)

PS: Не зная вашей задачи, нельзя посоветовать способ ее решения.

brd 26.10.2011 16:23

Цитата:

Сообщение от dmartynenko (Сообщение 32243)
Значит вы создали 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 и т.п. вещи не ко мне.

brd 26.10.2011 18:28

Спасибо
 
Вы все предположили правильно! Вот теперь понятно зачем это TCA )))) Огромное СПС!!!!

brd 26.10.2011 18:42

Идея
 
Идея такая же как у новостей, только по нажатию на Test2, открывалась страница с перечнем информации которая хранится в таблице, а по кнопочки NEW, открывалась форма что отображалась в «Списке» с помощью TCA. Такие интерфейсы мне нужны будут для заполнения моих справочников.


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

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