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

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

                    Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

                    Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?