New extension evo_chained_selector
Evo_chained_selector is BE extension allows you to create relations between records by using "chained selection"
Origins of this associate with implementation we've worked on lately. Website contains expanded legal acts base with the structure as
Legal acts -> article -> paragraphs & chapters -> section
The editor while creating new record tt_news is able to connect proper paragraph to the new news. We thought over an elastic solution that would allow the editor quickly and effectively create new relations and we decided to develop this new module.
Evo_chained_selector is a mechanism based on ajax which analyzes structure of table indicated in:
$TCA[$table]['field']['config']['params']['table']
and checks if selected in first input record possesses children, and if so, adds another input.
Records range in multiple choice field is dynamically limited while entering key word. This way each level can operate on unlimited number of records without causing long loading of record editing form
Integration in own BE modules
Relation is built with TCA type user, where in userFunc key one has to define call to tx_evochainedselector_client->render function. Table to which we create relation has to have tree structure therefore parentField key should refer to parent_uid filed (in this case table 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' => '' ) ) ),
In the database is saved UID of the last selected element in the chain.
Screenshots
VIDEO
###YOUTUBEVIDEO###
To do
This is th initial version of this extension. Many things can be improved and added.
Waiting for your suggestions and questions.
Files to download:




Recent Comments
Powered by Disqus