Magento 2 Product Filter By Category & Multiple Product AttributesFilter product collection by multiple categories?Magento resource model catalog product filter with attributes and category idMagento 2: Can you Filter By store_id Using a Product RepositoryExcluding products from multiple categories in collectionMagento 2 : Filter Product Grid Using Category In AdminAdd category IDs to product collectionMagento Get Attribute values Collection by filterCategory filter in list page magento2Magento 2: How to filter category by store id?I need to get product collection by filter multiple category ids in magento 2

What is the meaning of ゴト in the context of 鮎

Aligning arrays within arrays within another array

What is the function of const specifier in enum types?

Can I hire several veteran soldiers to accompany me?

ShellExView vs ShellMenuView

Why is my 401k manager recommending me to save more?

What is the point of using the kunai?

Variable declaration inside main loop

What does this Pokemon Trainer mean by saying the player is "SHELLOS"?

Other homotopy invariants?

Is there a connection between representation theory and PDEs?

Turing Machines: What is the difference between recognizing, deciding, total, accepting, rejecting?

What's the difference between the Find Steed and Find Greater Steed spells?

My players like to search everything. What do they find?

How do I tell my girlfriend she's been buying me books by the wrong author for the last nine months?

Available snapshots for main net?

What prevents a US state from colonizing a smaller state?

How does entropy depend on location and scale?

Why would Dementors torture a Death Eater if they are loyal to Voldemort?

Why are examinees often not allowed to leave during the start and end of an exam?

To “Er” Is Human

Is it OK to throw pebbles and stones in streams, waterfalls, ponds, etc.?

Why will we fail creating a self sustaining off world colony?

Does "boire un jus" tend to mean "coffee" or "juice of fruit"?



Magento 2 Product Filter By Category & Multiple Product Attributes


Filter product collection by multiple categories?Magento resource model catalog product filter with attributes and category idMagento 2: Can you Filter By store_id Using a Product RepositoryExcluding products from multiple categories in collectionMagento 2 : Filter Product Grid Using Category In AdminAdd category IDs to product collectionMagento Get Attribute values Collection by filterCategory filter in list page magento2Magento 2: How to filter category by store id?I need to get product collection by filter multiple category ids in magento 2













2















I'm currently building a custom product filter via Ajax. I've got the basics working but now I'm trying to filter via category and a specific product attribute.



Here is my code



$collection = $this->_productCollectionFactory->create();
$collection->addAttributeToSelect('*');

$categoryData = $this->getRequest()->getParam('whoisitfor');

// Get category selected.
if(isset($categoryData))
$categoryData = $this->expandFormValues($categoryData);
$categories = [$categoryData];//category ids array
$collection->addCategoriesFilter(['in' => $categories]);



This get's the products for the specific categories that are selected on the frontend, this works fine.



Now when I try and filter it by a specific product attribute it still just returns all the products from the category above not the specific products with the attribute filtered on.



Here is the code:



$collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


Full code looks like this:



$collection = $this->_productCollectionFactory->create();
$collection->addAttributeToSelect('*');

$categoryData = $this->getRequest()->getParam('whoisitfor');

// Get category selected.
if(isset($categoryData))
$categoryData = $this->expandFormValues($categoryData);
$categories = [$categoryData];//category ids array
$collection->addCategoriesFilter(['in' => $categories]);


$collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


If anyone can help me with this, it'd be great.



Thanks.










share|improve this question


























    2















    I'm currently building a custom product filter via Ajax. I've got the basics working but now I'm trying to filter via category and a specific product attribute.



    Here is my code



    $collection = $this->_productCollectionFactory->create();
    $collection->addAttributeToSelect('*');

    $categoryData = $this->getRequest()->getParam('whoisitfor');

    // Get category selected.
    if(isset($categoryData))
    $categoryData = $this->expandFormValues($categoryData);
    $categories = [$categoryData];//category ids array
    $collection->addCategoriesFilter(['in' => $categories]);



    This get's the products for the specific categories that are selected on the frontend, this works fine.



    Now when I try and filter it by a specific product attribute it still just returns all the products from the category above not the specific products with the attribute filtered on.



    Here is the code:



    $collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


    Full code looks like this:



    $collection = $this->_productCollectionFactory->create();
    $collection->addAttributeToSelect('*');

    $categoryData = $this->getRequest()->getParam('whoisitfor');

    // Get category selected.
    if(isset($categoryData))
    $categoryData = $this->expandFormValues($categoryData);
    $categories = [$categoryData];//category ids array
    $collection->addCategoriesFilter(['in' => $categories]);


    $collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


    If anyone can help me with this, it'd be great.



    Thanks.










    share|improve this question
























      2












      2








      2








      I'm currently building a custom product filter via Ajax. I've got the basics working but now I'm trying to filter via category and a specific product attribute.



      Here is my code



      $collection = $this->_productCollectionFactory->create();
      $collection->addAttributeToSelect('*');

      $categoryData = $this->getRequest()->getParam('whoisitfor');

      // Get category selected.
      if(isset($categoryData))
      $categoryData = $this->expandFormValues($categoryData);
      $categories = [$categoryData];//category ids array
      $collection->addCategoriesFilter(['in' => $categories]);



      This get's the products for the specific categories that are selected on the frontend, this works fine.



      Now when I try and filter it by a specific product attribute it still just returns all the products from the category above not the specific products with the attribute filtered on.



      Here is the code:



      $collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


      Full code looks like this:



      $collection = $this->_productCollectionFactory->create();
      $collection->addAttributeToSelect('*');

      $categoryData = $this->getRequest()->getParam('whoisitfor');

      // Get category selected.
      if(isset($categoryData))
      $categoryData = $this->expandFormValues($categoryData);
      $categories = [$categoryData];//category ids array
      $collection->addCategoriesFilter(['in' => $categories]);


      $collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


      If anyone can help me with this, it'd be great.



      Thanks.










      share|improve this question














      I'm currently building a custom product filter via Ajax. I've got the basics working but now I'm trying to filter via category and a specific product attribute.



      Here is my code



      $collection = $this->_productCollectionFactory->create();
      $collection->addAttributeToSelect('*');

      $categoryData = $this->getRequest()->getParam('whoisitfor');

      // Get category selected.
      if(isset($categoryData))
      $categoryData = $this->expandFormValues($categoryData);
      $categories = [$categoryData];//category ids array
      $collection->addCategoriesFilter(['in' => $categories]);



      This get's the products for the specific categories that are selected on the frontend, this works fine.



      Now when I try and filter it by a specific product attribute it still just returns all the products from the category above not the specific products with the attribute filtered on.



      Here is the code:



      $collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


      Full code looks like this:



      $collection = $this->_productCollectionFactory->create();
      $collection->addAttributeToSelect('*');

      $categoryData = $this->getRequest()->getParam('whoisitfor');

      // Get category selected.
      if(isset($categoryData))
      $categoryData = $this->expandFormValues($categoryData);
      $categories = [$categoryData];//category ids array
      $collection->addCategoriesFilter(['in' => $categories]);


      $collection->addAttributeToFilter('user_experience_level', array('eq' => 3003));


      If anyone can help me with this, it'd be great.



      Thanks.







      magento2 product-attribute ajax filter






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jun 24 at 10:39









      WebDevBWebDevB

      406 bronze badges




      406 bronze badges




















          1 Answer
          1






          active

          oldest

          votes


















          0














          you can try this code.



          $collection = $this->_productCollectionFactory->create();
          $collection->addAttributeToSelect('*');

          $categoryData = $this->getRequest()->getParam('whoisitfor');

          // Get category selected.
          if(isset($categoryData))
          $categoryData = $this->expandFormValues($categoryData);
          $categories = [$categoryData];//category ids array
          $collection->addCategoriesFilter(['in' => $categories]);



          $collection->addFieldToFilter('user_experience_level', array('eq' => 3003));





          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "479"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f279388%2fmagento-2-product-filter-by-category-multiple-product-attributes%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            you can try this code.



            $collection = $this->_productCollectionFactory->create();
            $collection->addAttributeToSelect('*');

            $categoryData = $this->getRequest()->getParam('whoisitfor');

            // Get category selected.
            if(isset($categoryData))
            $categoryData = $this->expandFormValues($categoryData);
            $categories = [$categoryData];//category ids array
            $collection->addCategoriesFilter(['in' => $categories]);



            $collection->addFieldToFilter('user_experience_level', array('eq' => 3003));





            share|improve this answer



























              0














              you can try this code.



              $collection = $this->_productCollectionFactory->create();
              $collection->addAttributeToSelect('*');

              $categoryData = $this->getRequest()->getParam('whoisitfor');

              // Get category selected.
              if(isset($categoryData))
              $categoryData = $this->expandFormValues($categoryData);
              $categories = [$categoryData];//category ids array
              $collection->addCategoriesFilter(['in' => $categories]);



              $collection->addFieldToFilter('user_experience_level', array('eq' => 3003));





              share|improve this answer

























                0












                0








                0







                you can try this code.



                $collection = $this->_productCollectionFactory->create();
                $collection->addAttributeToSelect('*');

                $categoryData = $this->getRequest()->getParam('whoisitfor');

                // Get category selected.
                if(isset($categoryData))
                $categoryData = $this->expandFormValues($categoryData);
                $categories = [$categoryData];//category ids array
                $collection->addCategoriesFilter(['in' => $categories]);



                $collection->addFieldToFilter('user_experience_level', array('eq' => 3003));





                share|improve this answer













                you can try this code.



                $collection = $this->_productCollectionFactory->create();
                $collection->addAttributeToSelect('*');

                $categoryData = $this->getRequest()->getParam('whoisitfor');

                // Get category selected.
                if(isset($categoryData))
                $categoryData = $this->expandFormValues($categoryData);
                $categories = [$categoryData];//category ids array
                $collection->addCategoriesFilter(['in' => $categories]);



                $collection->addFieldToFilter('user_experience_level', array('eq' => 3003));






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jun 24 at 11:56









                Dhiren VasoyaDhiren Vasoya

                4,8155 gold badges19 silver badges46 bronze badges




                4,8155 gold badges19 silver badges46 bronze badges



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f279388%2fmagento-2-product-filter-by-category-multiple-product-attributes%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

                    Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                    Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form