How to get Category Id of current product?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I have get the current product category id on product details page. I have used some method like :
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
$cat = Mage::getModel('catalog/product')->setId($ids);
but its not work as i want.
$products = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->addViewsCount()
->addCategoryFilter($cat)
->setPageSize($productCount);
but its return some times this error
Fatal error: Call to a member function getId() on a non-object in /var/www/html/app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php on line 719
magento-1.9 category
|
show 4 more comments
I have get the current product category id on product details page. I have used some method like :
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
$cat = Mage::getModel('catalog/product')->setId($ids);
but its not work as i want.
$products = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->addViewsCount()
->addCategoryFilter($cat)
->setPageSize($productCount);
but its return some times this error
Fatal error: Call to a member function getId() on a non-object in /var/www/html/app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php on line 719
magento-1.9 category
current product category id on product details
means that category from where are goes to product details page?
– Amit Bera♦
Mar 29 '16 at 7:14
sorry its my mistake. i have set ->addCategoryFilter($cat) but not fixed result.
– Ajay Patel
Mar 29 '16 at 7:28
Try $cat = Mage::getModel('catalog/category')->load(array_pop($ids));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:32
Possible you need another filter $products->addFieldToFilter('category_id', array('in' => $catIds));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:36
here Category_ids empty @SiarheyUchukhlebau.
– Ajay Patel
Mar 29 '16 at 7:37
|
show 4 more comments
I have get the current product category id on product details page. I have used some method like :
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
$cat = Mage::getModel('catalog/product')->setId($ids);
but its not work as i want.
$products = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->addViewsCount()
->addCategoryFilter($cat)
->setPageSize($productCount);
but its return some times this error
Fatal error: Call to a member function getId() on a non-object in /var/www/html/app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php on line 719
magento-1.9 category
I have get the current product category id on product details page. I have used some method like :
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
$cat = Mage::getModel('catalog/product')->setId($ids);
but its not work as i want.
$products = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->addViewsCount()
->addCategoryFilter($cat)
->setPageSize($productCount);
but its return some times this error
Fatal error: Call to a member function getId() on a non-object in /var/www/html/app/code/core/Mage/Catalog/Model/Resource/Product/Collection.php on line 719
magento-1.9 category
magento-1.9 category
edited Mar 29 '16 at 7:36
Ajay Patel
asked Mar 29 '16 at 7:00
Ajay PatelAjay Patel
1,0491628
1,0491628
current product category id on product details
means that category from where are goes to product details page?
– Amit Bera♦
Mar 29 '16 at 7:14
sorry its my mistake. i have set ->addCategoryFilter($cat) but not fixed result.
– Ajay Patel
Mar 29 '16 at 7:28
Try $cat = Mage::getModel('catalog/category')->load(array_pop($ids));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:32
Possible you need another filter $products->addFieldToFilter('category_id', array('in' => $catIds));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:36
here Category_ids empty @SiarheyUchukhlebau.
– Ajay Patel
Mar 29 '16 at 7:37
|
show 4 more comments
current product category id on product details
means that category from where are goes to product details page?
– Amit Bera♦
Mar 29 '16 at 7:14
sorry its my mistake. i have set ->addCategoryFilter($cat) but not fixed result.
– Ajay Patel
Mar 29 '16 at 7:28
Try $cat = Mage::getModel('catalog/category')->load(array_pop($ids));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:32
Possible you need another filter $products->addFieldToFilter('category_id', array('in' => $catIds));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:36
here Category_ids empty @SiarheyUchukhlebau.
– Ajay Patel
Mar 29 '16 at 7:37
current product category id on product details
means that category from where are goes to product details page?– Amit Bera♦
Mar 29 '16 at 7:14
current product category id on product details
means that category from where are goes to product details page?– Amit Bera♦
Mar 29 '16 at 7:14
sorry its my mistake. i have set ->addCategoryFilter($cat) but not fixed result.
– Ajay Patel
Mar 29 '16 at 7:28
sorry its my mistake. i have set ->addCategoryFilter($cat) but not fixed result.
– Ajay Patel
Mar 29 '16 at 7:28
Try $cat = Mage::getModel('catalog/category')->load(array_pop($ids));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:32
Try $cat = Mage::getModel('catalog/category')->load(array_pop($ids));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:32
Possible you need another filter $products->addFieldToFilter('category_id', array('in' => $catIds));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:36
Possible you need another filter $products->addFieldToFilter('category_id', array('in' => $catIds));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:36
here Category_ids empty @SiarheyUchukhlebau.
– Ajay Patel
Mar 29 '16 at 7:37
here Category_ids empty @SiarheyUchukhlebau.
– Ajay Patel
Mar 29 '16 at 7:37
|
show 4 more comments
5 Answers
5
active
oldest
votes
Because 1 product can stored in multi categories, so
when call
$categoryIds = $_product->getCategoryIds();
it will a array.
foreach($categoryIds as $id) {
$cat = Mage::getModel('catalog/category')->load($id);
}
add a comment |
If you just need to obtain the current category on a product page, the easiest way to do that is to get it from the Registry:
echo Mage::registry('current_category') ? Mage::registry('current_category')->getName() : 'No category';
To get an ID, use:
$catid = Mage::registry('current_category') ? Mage::registry('current_category')->getId() : null;
add a comment |
You can use below code:
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
add a comment |
Try this:
//This will get the info of current product.
$product = Mage::registry('current_product');
$prodID = $product->getId();
$_product = Mage::getModel('catalog/product')->load($prodID);
$categoryIds = $_product->getCategoryIds();
foreach($categoryIds as $categoryIds1) {
$_category = Mage::getModel('catalog/category')->load($categoryIds1);
//get all category ID in the current product.
echo $category_id = $_category->getId();
//get all the Category Name of the Current Product.
echo $category_name = $_category->getName();
}
add a comment |
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
var_dump($ids); //this is category id
Below code is wrong:
$cat = Mage::getModel('catalog/product')->setId($ids);
add a comment |
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%2f108295%2fhow-to-get-category-id-of-current-product%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
Because 1 product can stored in multi categories, so
when call
$categoryIds = $_product->getCategoryIds();
it will a array.
foreach($categoryIds as $id) {
$cat = Mage::getModel('catalog/category')->load($id);
}
add a comment |
Because 1 product can stored in multi categories, so
when call
$categoryIds = $_product->getCategoryIds();
it will a array.
foreach($categoryIds as $id) {
$cat = Mage::getModel('catalog/category')->load($id);
}
add a comment |
Because 1 product can stored in multi categories, so
when call
$categoryIds = $_product->getCategoryIds();
it will a array.
foreach($categoryIds as $id) {
$cat = Mage::getModel('catalog/category')->load($id);
}
Because 1 product can stored in multi categories, so
when call
$categoryIds = $_product->getCategoryIds();
it will a array.
foreach($categoryIds as $id) {
$cat = Mage::getModel('catalog/category')->load($id);
}
edited Feb 8 '17 at 9:32
Piyush
4,85972054
4,85972054
answered Mar 29 '16 at 7:14
hiep nguyenhiep nguyen
712
712
add a comment |
add a comment |
If you just need to obtain the current category on a product page, the easiest way to do that is to get it from the Registry:
echo Mage::registry('current_category') ? Mage::registry('current_category')->getName() : 'No category';
To get an ID, use:
$catid = Mage::registry('current_category') ? Mage::registry('current_category')->getId() : null;
add a comment |
If you just need to obtain the current category on a product page, the easiest way to do that is to get it from the Registry:
echo Mage::registry('current_category') ? Mage::registry('current_category')->getName() : 'No category';
To get an ID, use:
$catid = Mage::registry('current_category') ? Mage::registry('current_category')->getId() : null;
add a comment |
If you just need to obtain the current category on a product page, the easiest way to do that is to get it from the Registry:
echo Mage::registry('current_category') ? Mage::registry('current_category')->getName() : 'No category';
To get an ID, use:
$catid = Mage::registry('current_category') ? Mage::registry('current_category')->getId() : null;
If you just need to obtain the current category on a product page, the easiest way to do that is to get it from the Registry:
echo Mage::registry('current_category') ? Mage::registry('current_category')->getName() : 'No category';
To get an ID, use:
$catid = Mage::registry('current_category') ? Mage::registry('current_category')->getId() : null;
answered Mar 29 '16 at 8:17
MageWorxMageWorx
3,358512
3,358512
add a comment |
add a comment |
You can use below code:
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
add a comment |
You can use below code:
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
add a comment |
You can use below code:
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
You can use below code:
$categoryIds = $_product->getCategoryIds();
if(count($categoryIds) ){
$firstCategoryId = $categoryIds[0];
$_category = Mage::getModel('catalog/category')->load($firstCategoryId);
echo $_category->getName();
echo $_category->getId();
}
edited Oct 16 '18 at 16:03
Abhishek Panchal
3,6203929
3,6203929
answered Mar 29 '16 at 7:03
ArunendraArunendra
6,27331942
6,27331942
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
add a comment |
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
Products can be attached to multiple categories. In your situation, when you visit a product page referred from a category page, your session has category information. But if you visit directly product page, Magento can not know which category you came from, so it can not show you a specific category, because your product can have multiple categories. But in your situation, if your products are attached only one category, you can use above code, it shows first category name of product;
– Kaka
Mar 29 '16 at 7:12
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
@Kaka It will work if you visit directly product page.I have checked it
– Arunendra
Mar 29 '16 at 7:20
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
please refer updated question.
– Ajay Patel
Mar 29 '16 at 7:25
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
@Arunendra If so, you will get multiple category id if this product attached in multiple category, right ? or you will get single category id ??
– Kaka
Mar 29 '16 at 7:57
add a comment |
Try this:
//This will get the info of current product.
$product = Mage::registry('current_product');
$prodID = $product->getId();
$_product = Mage::getModel('catalog/product')->load($prodID);
$categoryIds = $_product->getCategoryIds();
foreach($categoryIds as $categoryIds1) {
$_category = Mage::getModel('catalog/category')->load($categoryIds1);
//get all category ID in the current product.
echo $category_id = $_category->getId();
//get all the Category Name of the Current Product.
echo $category_name = $_category->getName();
}
add a comment |
Try this:
//This will get the info of current product.
$product = Mage::registry('current_product');
$prodID = $product->getId();
$_product = Mage::getModel('catalog/product')->load($prodID);
$categoryIds = $_product->getCategoryIds();
foreach($categoryIds as $categoryIds1) {
$_category = Mage::getModel('catalog/category')->load($categoryIds1);
//get all category ID in the current product.
echo $category_id = $_category->getId();
//get all the Category Name of the Current Product.
echo $category_name = $_category->getName();
}
add a comment |
Try this:
//This will get the info of current product.
$product = Mage::registry('current_product');
$prodID = $product->getId();
$_product = Mage::getModel('catalog/product')->load($prodID);
$categoryIds = $_product->getCategoryIds();
foreach($categoryIds as $categoryIds1) {
$_category = Mage::getModel('catalog/category')->load($categoryIds1);
//get all category ID in the current product.
echo $category_id = $_category->getId();
//get all the Category Name of the Current Product.
echo $category_name = $_category->getName();
}
Try this:
//This will get the info of current product.
$product = Mage::registry('current_product');
$prodID = $product->getId();
$_product = Mage::getModel('catalog/product')->load($prodID);
$categoryIds = $_product->getCategoryIds();
foreach($categoryIds as $categoryIds1) {
$_category = Mage::getModel('catalog/category')->load($categoryIds1);
//get all category ID in the current product.
echo $category_id = $_category->getId();
//get all the Category Name of the Current Product.
echo $category_name = $_category->getName();
}
edited 8 mins ago
Community♦
1
1
answered Apr 27 '18 at 7:43
1247p1247p
715
715
add a comment |
add a comment |
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
var_dump($ids); //this is category id
Below code is wrong:
$cat = Mage::getModel('catalog/product')->setId($ids);
add a comment |
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
var_dump($ids); //this is category id
Below code is wrong:
$cat = Mage::getModel('catalog/product')->setId($ids);
add a comment |
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
var_dump($ids); //this is category id
Below code is wrong:
$cat = Mage::getModel('catalog/product')->setId($ids);
$_product = Mage::getModel('catalog/product')->load(prodId);
$ids = $_product->getCategoryId();
var_dump($ids); //this is category id
Below code is wrong:
$cat = Mage::getModel('catalog/product')->setId($ids);
answered Mar 29 '16 at 7:07
Prashant ValandaPrashant Valanda
10k12356
10k12356
add a comment |
add a comment |
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%2f108295%2fhow-to-get-category-id-of-current-product%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
current product category id on product details
means that category from where are goes to product details page?– Amit Bera♦
Mar 29 '16 at 7:14
sorry its my mistake. i have set ->addCategoryFilter($cat) but not fixed result.
– Ajay Patel
Mar 29 '16 at 7:28
Try $cat = Mage::getModel('catalog/category')->load(array_pop($ids));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:32
Possible you need another filter $products->addFieldToFilter('category_id', array('in' => $catIds));
– Siarhey Uchukhlebau
Mar 29 '16 at 7:36
here Category_ids empty @SiarheyUchukhlebau.
– Ajay Patel
Mar 29 '16 at 7:37