Filter options in shop (categories)

Issue #23 new
Eelco Schreurs created an issue

In the shopsystem it only allows for categories. It would be great if there was an ability to filter on different options in the webshop. For example: "filter by" Brand/vendor, Price (min-max). each filter type uses it's entity preference (for example: radio button/ select menu / range)

Comments (3)

  1. Eelco Schreurs reporter

    perhaps this isn't so difficult to implement:

    using /concrete/blocks/express_entry_list/ controller.php and view.php you can reuse express search capabilities. I would like to build this but i'm afraid that when this plugin gets an update i have to git diff everything.....

  2. Fabian Bitter repo owner

    I will definitly add this feature to the next release. If you already have developed this feature feel free to send me your changes and i will add this to the next release.

  3. Eelco Schreurs reporter

    i've implemented simply the default search options in express_entry_list/view.php core block.

    i've added it to bitter_shop_system/elements/shop/product_list/sidebar.php

    <?php if (count($tableSearchProperties)) { ?>
                    <div data-express-entry-list-advanced-search-fields="<?=$bID?>" class="ccm-block-express-entry-list-advanced-search-fields">
                        <h3><?=t('Search Entries')?></h3>
                        <input type="hidden" name="advancedSearchDisplayed" value="<?php echo $app->request->request('advancedSearchDisplayed') ? 1 : ''; ?>">
                        <?php foreach ($tableSearchProperties as $ak) { ?>
                            <h4><?=$ak->getAttributeKeyDisplayName()?></h4>
                            <div>
                                <?=$ak->render(new \Concrete\Core\Attribute\Context\BasicSearchContext(), null, true)?>
                            </div>
                        <?php } ?>
                    </div>
                <?php } ?>
    

    I need to make some nice Attributes for frontend. for example price: (a price slider), multiple selections instead of select menu. And eventually an onChange event with Ajax.

    But it has some basic filters now!

  4. Log in to comment