Evo_chained_selector jest rozszerzeniem BE pozwalającym na tworzenie powiązania między rekordami za pomocą tzw "chained selection".
Geneza powstania tego rozszerzenia wiąże się z wdrożeniem nad którym ostatnio pracowaliśmy. Strona posiada rozbudowaną bazę aktów prawnych których struktura jest następująca:
Akty -> artykuły -> paragrafy i rozdziały -> sekcje
Redaktor podczas wprowadzania nowego rekordu tt_news ma możliwość dowiązania odpowiedniego paragrafu do nowego newsa. Zastanawialiśmy się jak to elastycznie rozwiązać, aby redaktor mógł szybko i efektywnie tworzyć nowe relacje i postanowiliśmy przygotować nową kontrolkę.
Evo_chained_selector to mechanizm oparty na ajaxie który analizuje strukturę tabeli wskazanej w
$TCA[$table]['field']['config']['params']['table']
i sprawdza czy wybrany rekord w pierwszym inpucie posiada dzieci jeśli tak to dodaje kolejny input. Zakres rekordów w polu wyboru jest ograniczany dynamicznie podczas wpisywania słowa kluczowego. W ten sposób każdy z poziomów może operować na nieograniczonej ilości rekordów nie powodując przy tym długiego ładowania się formularza edycji rekordu.
Integracja we własnych modułach BE
Relacja jest budowana za pomocą typu TCA user, gdzie w kluczu userFunc należy zdefiniować wywołanie funkcji tx_evochainedselector_client->render.
Tabela do której tworzymy relacje musi mieć strukturę drzewa dlatego klucz parentField powinien odwoływać się do pola parent_uid. (w przypadku tabeli pages: pid).
#tca.php "exclude" => 1, "label" => "Select record", "type" => "user", "userFunc" => "tx_evochainedselector_client->render", 'table' => 'pages', 'parentField' => 'pid', 'title' => '###title###', // title of records in autocomplete form 'searchFields' => 'title', // which fields to search 'limit' => 20, 'order' => 'title', 'additionalWhere' => '' ) ) ),
W polu relacji zapisywany jest ostatni wybrany UID w łańcuchu.
Zrzut ekranu
VIDEO
Do zrobienia
Jest to pierwsza startowa wersja tego rozszerzenia. Wiele rzeczy można poprawić oraz dodać.
Czekam na wasze sugestie i pytania.
Pliki do pobrania:




Ostatnie komentarze
Daniel
I get a fatal error with this extension: Fatal error: Call to undefined method t3lib_div::makeInsta... / 07 maj. 20:53
Zaawansowana subskrypcja, nasze nowe rozszerzenie
Michael
The correct Amazon S3 API TER link is http://typo3.org/extensions/repository/view/amazon-s3-api T... / 24 kwi. 11:44
s3example - TYPO3 i Amazon S3
Adi
Pod nową wersją t3 z gałęzi 4.5.14 (gdzie w korze znalazły się jakieś krytyczne luki) wtyczka też ni... / 02 kwi. 19:52
Zaawansowana subskrypcja, nasze nowe rozszerzenie
Rafał Brzeski
Nasze niedopatrzenie, w nowej wersji dodamy opcję wyboru tej opcji. / 21 mar. 20:22
Zaawansowana subskrypcja, nasze nowe rozszerzenie
bocianos
Wszystko super tylko jak zrobic aby nowe adresy domyslnie miały zaznaczone otrzymywani maili w forma... / 20 mar. 13:08
Zaawansowana subskrypcja, nasze nowe rozszerzenie