We are looking for improvements of JA K2 Filter
JA K2 Filter is an extension from JoomlArt to provide the search and filter feature for K2 Component based on extra fields parameters. Such specific search or filter capability has been missing for long in K2.
It comprises of one module and two plugins.
One of the plugin (JA K2 search - reindexing Plguin) re-indexes the extra-field data for the module to function, it needs to be done one time so as to cover the already present K2 articles. It indexes all the values of the custom fields and puts the result relation in a single table jos_ja_k2extrafields in the database in the following format:
id | itemid |exfid | value
itemid is the id of the K2 item, exfid is the id of the extra field and value is the associated value(s) of the extra field in varchar format.
This table is then used for search on the custom fields.
The second plugin is making the actual search and displays the result using the table above. It also includes a search form.
The module (the third part of the extension) is just to display the search form and then pass the desired search options to the plugin to actually make the search and display the result.
We bought this extension, and we need the following improvements:
Normalized search. This means that every time the user selects a search criteria on some field, all others reload their options so giving empty result is not possible. For example: search for vegetables, two fields - color and type. When you select "yellow color", on the other field the "tomato" disappears, because there is no yellow tomato in the database. The reload should be made with jQuery, through AJAX request, with fade-in-out effect. The normalized search should be both for the module and the search in the plugin itself (they both include search form).
jQuery reload of the search results, when called from the search form in the plugin itself.
Text loaded via AJAX to show num of results. When you change the search criteria in the plugin itself a small text appears "xx more result found" or "xx results less found" and the search button changes to "show".
We recommend the following approach (though you can use another):
When a search option is changed in an extra field, a hidden search with the current options is called via AJAX to return the number of results (for pt. 3) and modified extra field options on other extra field groups to display. Use jQuery with fade in/out.
When you rebuild the options for an extra field you can use two approaches:
Make a search on jos_ja_k2extrafields and get all the itemid -s of items that are associated with the current options (the num of the items can be used to display the num of results). Then match what other options are associated to the same items and display them. All options that are not associated to any of the temporal result items should be removed from the search form. A temporal table in the database could be used to store the temporal result.
Create additional table with the internal relations between options or add extra field in the jos_ja_k2extrafields in which to store the relation to other options. The indexing plugin should then be extended to fill also this table/field.
We have JA Developer Membership, so we are allowed to modify the code as we wish.
On successful completion additional improvements on the same extension and other projects will follow.
5 freelancers are bidding on average $232 for this job
Greetings of the day ;) I have sound experience in working with joomla K2 component and its modules. you can see my reviews for that further i am sending you more details in pmb ;)