Thread Filter by AddonsLab

Thread Filter by AddonsLab [Paid] 3.9.2

No permission to buy ($69.99)
Hello. Can you implement deleting "unexistent" values from filters, when some filter are triggered? Like there: https://community.algolia.com/instantsearch.js/v2/examples/media/

In this case, when clicking on "rating 4" filter, list of other available filters in "Genres" section is reducing, removing values that dont't exist in "4-rated" films.

This will be functionality like "standart" faceted search that ElasticSearch or Apache Solr or other search engines provide for filtered searching.

Sorry for such a little confusing explanations, english is not my native language.

Thank you anyway :)

Sorry, we have missed your reply somehow. Your suggestion is definitely something we would like to implement, but its implementation is somewhat complicated and may have serious performance implications of not done correctly or used on boards with a large number of threads and custom fields and would most likely require ElasticSearch to be fast enough. We will consider working on it as soon as we are done with more simpler pending suggestions.

Thank you!
 
As one of possible solutions, you can do a partnership with saas-based Elastic services, like Algolia, at example. This looks like well solution both to you and end-users. Users no need to install elastic on their servers, saas service get clients (growing forums fast out from free search limits), you get buyers :) And if you already have elasticsearch connector, there is no problem to add another similar one. And of course all of it may be an options - by standart user gets standart mysql search, if he want he can connect to Algolia and get faceted search, if he outs of saas limits he can buy paid saas plans etc.
 
As one of possible solutions, you can do a partnership with saas-based Elastic services, like Algolia, at example. This looks like well solution both to you and end-users. Users no need to install elastic on their servers, saas service get clients (growing forums fast out from free search limits), you get buyers :) And if you already have elasticsearch connector, there is no problem to add another similar one. And of course all of it may be an options - by standart user gets standart mysql search, if he want he can connect to Algolia and get faceted search, if he outs of saas limits he can buy paid saas plans etc.

Thank you for the suggestion. In our experience, customers who have large boards that actually require ElasticSearch don't have a problem with installing it, as the first motivation for them is to use XenForo EnhancedSeacrh for faster search results. Smaller boards that prefer not to install ElasticSearch are less likely to go through the process of purchasing/registering a saas-based solution in addition to purchasing our add-on just to have faceted search functionality. Creating such connecter is not going to be that simple, as we need to re-create the core of EnhancedSearch and implement our add-on on top of it, so unless it is going to sell some 200 copies of the add-on (which is definitely not going to) it will not be worth it.

Of course, if anyone is interested in developing this for their board as a funded project is welcome to contact us for further discussion of terms of completion.

Thank you!
 
AddonsLab updated Thread Filter by AddonsLab with a new update entry:

Bug-fix: incorrect cached results when different custom fields use the same values

This is a bug-fix release the fixes the case of having incorrect results shown when two custom fields have identical values. As a result, the cache from the search results executed against one of the custom fields could be used when searching for the second custom field.

The new version is available for all licensed customers at

Feel free to suggest further enhancements for the add-on or report any...

Read the rest of this update entry...
 
its getting error when I tried to upgrade
Code:
TypeError: Argument 3 passed to GuzzleHttp\Client::request() must be of the type array, string given, called in /usr/local/lsws/DEFAULT/html/src/vendor/guzzlehttp/guzzle/src/Client.php on line 89 in src/vendor/guzzlehttp/guzzle/src/Client.php at line 128
GuzzleHttp\Client->request() in src/vendor/guzzlehttp/guzzle/src/Client.php at line 89
GuzzleHttp\Client->__call() in src/addons/AddonsLab/Licensing/Engine/Xf2.php at line 56
AddonsLab\Licensing\Engine\Xf2::AddonsLab\Licensing\Engine\{closure}()
call_user_func() in src/addons/AddonsLab/Licensing/Checker.php at line 103
AddonsLab\Licensing\Checker->forceLicenseUpdate() in src/addons/AddonsLab/Licensing/Engine/AbstractEngine.php at line 135
AddonsLab\Licensing\Engine\AbstractEngine::licenseReValidation()
call_user_func_array() in src/addons/AddonsLab/Licensing/LicenseValidationService.php at line 105
AddonsLab\Licensing\LicenseValidationService->_callValidatorFunction() in src/addons/AddonsLab/Licensing/LicenseValidationService.php at line 63
AddonsLab\Licensing\LicenseValidationService->licenseReValidation() in src/addons/AL/ThreadFilter/Setup.php at line 147
AL\ThreadFilter\Setup->assertLicense() in src/addons/AL/ThreadFilter/Setup.php at line 53
AL\ThreadFilter\Setup->upgrade() in src/XF/Admin/Controller/AddOn.php at line 575
XF\Admin\Controller\AddOn->actionUpgrade() in src/XF/Mvc/Dispatcher.php at line 321
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 248
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 100
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 50
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2155
XF\App->run() in src/XF.php at line 389
XF::runApp() in admin.php at line 13
 
its getting error when I tried to upgrade
Code:
TypeError: Argument 3 passed to GuzzleHttp\Client::request() must be of the type array, string given, called in /usr/local/lsws/DEFAULT/html/src/vendor/guzzlehttp/guzzle/src/Client.php on line 89 in src/vendor/guzzlehttp/guzzle/src/Client.php at line 128
GuzzleHttp\Client->request() in src/vendor/guzzlehttp/guzzle/src/Client.php at line 89
GuzzleHttp\Client->__call() in src/addons/AddonsLab/Licensing/Engine/Xf2.php at line 56
AddonsLab\Licensing\Engine\Xf2::AddonsLab\Licensing\Engine\{closure}()
call_user_func() in src/addons/AddonsLab/Licensing/Checker.php at line 103
AddonsLab\Licensing\Checker->forceLicenseUpdate() in src/addons/AddonsLab/Licensing/Engine/AbstractEngine.php at line 135
AddonsLab\Licensing\Engine\AbstractEngine::licenseReValidation()
call_user_func_array() in src/addons/AddonsLab/Licensing/LicenseValidationService.php at line 105
AddonsLab\Licensing\LicenseValidationService->_callValidatorFunction() in src/addons/AddonsLab/Licensing/LicenseValidationService.php at line 63
AddonsLab\Licensing\LicenseValidationService->licenseReValidation() in src/addons/AL/ThreadFilter/Setup.php at line 147
AL\ThreadFilter\Setup->assertLicense() in src/addons/AL/ThreadFilter/Setup.php at line 53
AL\ThreadFilter\Setup->upgrade() in src/XF/Admin/Controller/AddOn.php at line 575
XF\Admin\Controller\AddOn->actionUpgrade() in src/XF/Mvc/Dispatcher.php at line 321
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 248
XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 100
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 50
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2155
XF\App->run() in src/XF.php at line 389
XF::runApp() in admin.php at line 13

Is it possible you are using the add-on on XenForo 2.1.x already? We are still testing the add-on and reproduced with the issue already, but did not release a fix yet as we did not complete full check for XenForo 2.1. Please confirm if this is the case and we will release the next release as soon as possible.

Thank you!
 
Is it possible you are using the add-on on XenForo 2.1.x already? We are still testing the add-on and reproduced with the issue already, but did not release a fix yet as we did not complete full check for XenForo 2.1. Please confirm if this is the case and we will release the next release as soon as possible.

Thank you!
Your right, I am using 2.1 now.
 
We've been playing around with this addon for a couple of weeks now and so far it's fantastic. Our only complaint is the location of the filters, and our need to standardize the location between desktop and mobile. This could be solved with a simple expand/collapse feature for the Above Thread List filter location, with an option of whether to start out expanded or collapsed based on the viewport size. If it were to start out collapsed on mobile we could then place a call to action button there telling members something along the lines of 'click here to filter/search threads', at which time the filter list would expand. As an example, this could work the same way collapsing categories works. Feel free to message me for further discussion and/or testing :)

View attachment 180384

View attachment 180385

View attachment 180386

So, we are considering implementing this suggestion, just we see it is a bit complicated and most likely needs to be done on mobile view only with changing the text "Filters" to "Click here to filter/search threads" for the reasons you have mentioned - just a word Filters may be not enough for users to see where they should press to see the form. At the same time, we already have the off-canvas menu which is a much more mobile-friendly interface. Please let us know if you are still using the filter block on the top if so we will come up with some way to implement it.

Thank you!
 
Hi @AddonsLab, I tried to add some jquery code to the Filters in Forum view. And I aslo enable AJAX reloading. So the jquery code working on the first page load, after AJAX reloading, the jquery code not working after that.
here is my example jquery code.
Code:
$('.field_tinh_thanh').html(function(index,html){
    return html.replace( /Hà Nội/g,'\XXXX');
});
Thank you
 
Hi @AddonsLab, I tried to add some jquery code to the Filters in Forum view. And I aslo enable AJAX reloading. So the jquery code working on the first page load, after AJAX reloading, the jquery code not working after that.
here is my example jquery code.
Code:
$('.field_tinh_thanh').html(function(index,html){
    return html.replace( /Hà Nội/g,'\XXXX');
});
Thank you

Every time the filter updates the HTML of filters is updated from the server, so your code runs only once. There is definitely a way to take into account this fact but it requires clear understanding how XenForo JavaScript is organized. We will update the product to provide a standard jQuery event when the filter updates so you can listen to it and run your code every time the filter updates. We will release the change as soon as possible.

Thank you!
 
Every time the filter updates the HTML of filters is updated from the server, so your code runs only once. There is definitely a way to take into account this fact but it requires clear understanding how XenForo JavaScript is organized. We will update the product to provide a standard jQuery event when the filter updates so you can listen to it and run your code every time the filter updates. We will release the change as soon as possible.

Thank you!
Thank đo fast reply
 
AddonsLab updated Thread Filter by AddonsLab with a new update entry:

Filterable dropdown lists in filter form

The release improves filter UI in front-end with two features:

1. Filterable options for single and multiple selection lists. Single selections lists keep their appearance fully but allow filtering the list by typing in a field on top of the list. Multiple-selection lists are converted to typical XenForo UI element used in Start Conversation page for recipients, so users can see all selected options, remove an option or add an option. User experience is especially improved with long lists...

Read the rest of this update entry...
 
  • Love
Reactions: sbj
Thanks for the awesome update.

I installed the new update on my localhost, but I can't make a use of the typing in a field. How can I activate it?
 
Thanks for the awesome update.

I installed the new update on my localhost, but I can't make a use of the typing in a field. How can I activate it?

The changes should apply automatically if you don't have outdated templates. Please check the page source code and see if you have the word customFieldContainer in it. Also, check file https://xf2.addonslab.com/js/AL/FilterFramework/filter_reload.js?v=c35fb68b (changing the URL to your localhost) and see if you have filter:init in it. Hard-reloading the page may help if the issue is with JavaScript cache. Checking templates with prefix altf will help to identify if you have some modified templates that need to be merged.

Just let us know if you need any further assistance.

Thank you!
 
  • Like
Reactions: sbj
Please check the page source code and see if you have the word customFieldContainer in it.
Each field has that word.

Also, check file https://xf2.addonslab.com/js/AL/FilterFramework/filter_reload.js?v=c35fb68b (changing the URL to your localhost) and see if you have filter:init in it.
Is in it.

Hard-reloading the page may help if the issue is with JavaScript cache.
Didn't help.

hecking templates with prefix altf will help to identify if you have some modified templates that need to be merged.
No outdated templates.

Maybe someone else can see if it is working on their site or not? I deactivated all addons, still same.
 
Each field has that word.


Is in it.


Didn't help.


No outdated templates.

Maybe someone else can see if it is working on their site or not? I deactivated all addons, still same.

Our demo board runs the update without any issues. Feel free to make any publically accessible board (or upgrade the live board) and we should be able to easily identify the issue as it has to be somewhere in the HTML.

Thank you!
 
  • Like
Reactions: sbj
I am not good at JS. even I already look the filter_reload.js
So I am had this code, can you give me a example, please

Code:
$(".field_tinh_thanh").change(function(){
    $('.field_quan').html($('#prefix1_' + $('.field_tinh_thanh').val()).html());
}).change();

Thank you
 
I am not good at JS. even I already look the filter_reload.js
So I am had this code, can you give me a example, please

Code:
$(".field_tinh_thanh").change(function(){
    $('.field_quan').html($('#prefix1_' + $('.field_tinh_thanh').val()).html());
}).change();

Thank you

Please try the following, it should work:

JavaScript:
$(document).on('filter:init', function (evt, $form) {
    $(".field_tinh_thanh", $form).change(function () {
        $('.field_quan', $form).html($('#prefix1_' + $('.field_tinh_thanh', $form).val()).html());
    }).change();
});

Thank you!
 
Top Bottom