Add category attribute in collection filter (search)
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I've created an attribute for my categories (it's displayed on back-office and I can save values).
In sur php file Result.php for the research process, I want to add this attribute as a filter.
how to I do that ? In _getProductCollection I've added this line :
$this->productCollection = $this->getListBlock()->getLoadedProductCollection();
$this->productCollection->getSelect()->join(array('cats' => 'catalog_category_product'), 'cats.product_id = e.entity_id');
$this->productCollection->getSelect()->group("cats.attribute");
But it shows non filtered result
Any thoughts ?
magento2 category attributes search catalogsearch
add a comment |
I've created an attribute for my categories (it's displayed on back-office and I can save values).
In sur php file Result.php for the research process, I want to add this attribute as a filter.
how to I do that ? In _getProductCollection I've added this line :
$this->productCollection = $this->getListBlock()->getLoadedProductCollection();
$this->productCollection->getSelect()->join(array('cats' => 'catalog_category_product'), 'cats.product_id = e.entity_id');
$this->productCollection->getSelect()->group("cats.attribute");
But it shows non filtered result
Any thoughts ?
magento2 category attributes search catalogsearch
If I remember correctly thecatalog_category_producttable is just a pivot table containing the ID of the product and category and position. If you want to add a group of your category attribute it will be a bit more complex if you're doing it like this because categories are EAV entities so you'll have to join a few tables to get your value. I don't fully grasp why you're grouping products by a category attribute. Should the attribute be on the product instead, or the grouping done on a collection of categories?
– rain2o
8 hours ago
Please see my other "old" post. magento.stackexchange.com/questions/266723/…
– Morgan Tartreau
8 hours ago
Maybe try usingaddCategoryIdson the collection first and then see if you can do a join. Part of the challenge here is the fact that products can belong to multiple categories so that could cause a complication in the joining and grouping.
– rain2o
8 hours ago
Already tried, but not a success
– Morgan Tartreau
8 hours ago
What file should I override to do that ?
– Morgan Tartreau
7 hours ago
add a comment |
I've created an attribute for my categories (it's displayed on back-office and I can save values).
In sur php file Result.php for the research process, I want to add this attribute as a filter.
how to I do that ? In _getProductCollection I've added this line :
$this->productCollection = $this->getListBlock()->getLoadedProductCollection();
$this->productCollection->getSelect()->join(array('cats' => 'catalog_category_product'), 'cats.product_id = e.entity_id');
$this->productCollection->getSelect()->group("cats.attribute");
But it shows non filtered result
Any thoughts ?
magento2 category attributes search catalogsearch
I've created an attribute for my categories (it's displayed on back-office and I can save values).
In sur php file Result.php for the research process, I want to add this attribute as a filter.
how to I do that ? In _getProductCollection I've added this line :
$this->productCollection = $this->getListBlock()->getLoadedProductCollection();
$this->productCollection->getSelect()->join(array('cats' => 'catalog_category_product'), 'cats.product_id = e.entity_id');
$this->productCollection->getSelect()->group("cats.attribute");
But it shows non filtered result
Any thoughts ?
magento2 category attributes search catalogsearch
magento2 category attributes search catalogsearch
asked 10 hours ago
Morgan TartreauMorgan Tartreau
39312
39312
If I remember correctly thecatalog_category_producttable is just a pivot table containing the ID of the product and category and position. If you want to add a group of your category attribute it will be a bit more complex if you're doing it like this because categories are EAV entities so you'll have to join a few tables to get your value. I don't fully grasp why you're grouping products by a category attribute. Should the attribute be on the product instead, or the grouping done on a collection of categories?
– rain2o
8 hours ago
Please see my other "old" post. magento.stackexchange.com/questions/266723/…
– Morgan Tartreau
8 hours ago
Maybe try usingaddCategoryIdson the collection first and then see if you can do a join. Part of the challenge here is the fact that products can belong to multiple categories so that could cause a complication in the joining and grouping.
– rain2o
8 hours ago
Already tried, but not a success
– Morgan Tartreau
8 hours ago
What file should I override to do that ?
– Morgan Tartreau
7 hours ago
add a comment |
If I remember correctly thecatalog_category_producttable is just a pivot table containing the ID of the product and category and position. If you want to add a group of your category attribute it will be a bit more complex if you're doing it like this because categories are EAV entities so you'll have to join a few tables to get your value. I don't fully grasp why you're grouping products by a category attribute. Should the attribute be on the product instead, or the grouping done on a collection of categories?
– rain2o
8 hours ago
Please see my other "old" post. magento.stackexchange.com/questions/266723/…
– Morgan Tartreau
8 hours ago
Maybe try usingaddCategoryIdson the collection first and then see if you can do a join. Part of the challenge here is the fact that products can belong to multiple categories so that could cause a complication in the joining and grouping.
– rain2o
8 hours ago
Already tried, but not a success
– Morgan Tartreau
8 hours ago
What file should I override to do that ?
– Morgan Tartreau
7 hours ago
If I remember correctly the
catalog_category_product table is just a pivot table containing the ID of the product and category and position. If you want to add a group of your category attribute it will be a bit more complex if you're doing it like this because categories are EAV entities so you'll have to join a few tables to get your value. I don't fully grasp why you're grouping products by a category attribute. Should the attribute be on the product instead, or the grouping done on a collection of categories?– rain2o
8 hours ago
If I remember correctly the
catalog_category_product table is just a pivot table containing the ID of the product and category and position. If you want to add a group of your category attribute it will be a bit more complex if you're doing it like this because categories are EAV entities so you'll have to join a few tables to get your value. I don't fully grasp why you're grouping products by a category attribute. Should the attribute be on the product instead, or the grouping done on a collection of categories?– rain2o
8 hours ago
Please see my other "old" post. magento.stackexchange.com/questions/266723/…
– Morgan Tartreau
8 hours ago
Please see my other "old" post. magento.stackexchange.com/questions/266723/…
– Morgan Tartreau
8 hours ago
Maybe try using
addCategoryIds on the collection first and then see if you can do a join. Part of the challenge here is the fact that products can belong to multiple categories so that could cause a complication in the joining and grouping.– rain2o
8 hours ago
Maybe try using
addCategoryIds on the collection first and then see if you can do a join. Part of the challenge here is the fact that products can belong to multiple categories so that could cause a complication in the joining and grouping.– rain2o
8 hours ago
Already tried, but not a success
– Morgan Tartreau
8 hours ago
Already tried, but not a success
– Morgan Tartreau
8 hours ago
What file should I override to do that ?
– Morgan Tartreau
7 hours ago
What file should I override to do that ?
– Morgan Tartreau
7 hours ago
add a comment |
0
active
oldest
votes
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f268780%2fadd-category-attribute-in-collection-filter-search%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f268780%2fadd-category-attribute-in-collection-filter-search%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
If I remember correctly the
catalog_category_producttable is just a pivot table containing the ID of the product and category and position. If you want to add a group of your category attribute it will be a bit more complex if you're doing it like this because categories are EAV entities so you'll have to join a few tables to get your value. I don't fully grasp why you're grouping products by a category attribute. Should the attribute be on the product instead, or the grouping done on a collection of categories?– rain2o
8 hours ago
Please see my other "old" post. magento.stackexchange.com/questions/266723/…
– Morgan Tartreau
8 hours ago
Maybe try using
addCategoryIdson the collection first and then see if you can do a join. Part of the challenge here is the fact that products can belong to multiple categories so that could cause a complication in the joining and grouping.– rain2o
8 hours ago
Already tried, but not a success
– Morgan Tartreau
8 hours ago
What file should I override to do that ?
– Morgan Tartreau
7 hours ago