MariaDB [magento]> select * from catalog_category_product where product_id=2047 limit 10;
+———–+————-+————+———-+
| entity_id | category_id | product_id | position |
+———–+————-+————+———-+
| 5178 | 3 | 2047 | 0 |
| 5179 | 4 | 2047 | 0 |
+———–+————-+————+———-+
2 rows in set (0.00 sec)
Tag Archives: Category
Magento 2 Add Category Attribute
You can add a new category attribute with the help of InstallData.php.
Create InstallData.php
File : app/code/PHPCodez/First/Setup/InstallData.php Continue reading Magento 2 Add Category Attribute
Get Category Name From Category Id Magento
$mainCategory = Mage::getModel(‘catalog/category’)->load($categoryId);
$mainCategoryName = $mainCategory->getName();
Magento subcategories list filtered by category name
$collection = Mage::getModel(‘catalog/category’)->getCollection()
->addFieldToFilter(‘name’,array(‘like’ => ‘%New Arrivals%’))
->addFieldToFilter(‘parent_id’, array(‘eq’=>$categoryId ))
->load();
foreach ($collection as $category):
echo $category->getName();
endforeach;
Get child categories Magento
<?php
$_category = Mage::getModel(‘catalog/category’)->load(17); //$categoryid for which the child categories to be found
$childCategories = $category_model->getResource()->getAllChildren($_category); //array consisting of all child categories id
print_r($childCategories);
?>
Magento Create Attribute Source Model
1) Create the file app/code/local/Mage/Eav/Model/Entity/Attribute/Source/Cms.php and paste the code
<?php
class Mage_Eav_Model_Entity_Attribute_Source_Cms extends Mage_Eav_Model_Entity_Attribute_Source_Table{
public function getAllOptions($withEmpty = true){
if (!$this->_options) {
$options = array();
$options[] = array(
‘value’ => ‘0’,
‘label’ => ‘No’,
);
$options[] = array(
‘value’ => ‘1’,
‘label’ => ‘Yes’,
);
$this->_options = $options;
}
$options = $this->_options;
if ($withEmpty) {
array_unshift($options, array(
‘value’ => ”,
‘label’ => ‘Please Select’,
));
}
return $options;
}
Magento Delete Custom Category Attribute
1)Change the directory to the root of magento installation
2) vi app/etc/modules/Pcode_Attribute.xml and paste the below given content
<config>
<modules>
<Pcode_Attribute>
<active>true</active>
<codePool>local</codePool>
</Pcode_Attribute>
</modules>
</config>
3) mkdir app/code/local/
4) mkdir app/code/local/Pcode
5 )mkdir app/code/local/Pcode/Attribute
6) mkdir app/code/local/Pcode/Attribute/etc
7) mkdir app/code/local/Pcode/Attribute/sql
8) mkdir app/code/local/Pcode/Attribute/sql/categoryattribute_setup
9) vi app/code/local/Pcode/Attribute/sql/categoryattribute_setup/mysql4-install-0.1.0.php and paste the below given code
<?php
$this->startSetup();
$this->removeAttribute(‘catalog_category’, attribute_code);
$this->endSetup();
?>
10) vi app/code/local/Pcode/Attribute/etc/config.xm and paste the below code
<?xml version=”1.0″?>
<config>
<modules>
<Pcode_Attribute>
<version>0.1.0</version>
</Pcode_Attribute>
</modules>
<global>
<resources>
<categoryattribute_setup>
<setup>
<module>Pcode_Attribute</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
<connection>
<use>default_setup</use>
</connection>
</categoryattribute_setup>
</resources>
</global>
</config>
Create Custom Category Attribute Dropdown Magento
1)Change the directory to the root of magento installation
2) vi app/etc/modules/Pcode_Attribute.xml and paste the below given content
<config>
<modules>
<Pcode_Attribute>
<active>true</active>
<codePool>local</codePool>
</Pcode_Attribute>
</modules>
</config>
3) mkdir app//code/local/
4) mkdir app//code/local/Pcode
5 )mkdir app//code/local/Pcode/Attribute
6) mkdir app//code/local/Pcode/Attribute/etc
7) mkdir app//code/local/Pcode/Attribute/sql
8) mkdir app/code/local/Pcode/Attribute/sql/categoryattribute_setup
9) vi app/code/local/Pcode/Attribute/sql/categoryattribute_setup/mysql4-install-0.1.0.php and paste the below given code
<?php
$this->startSetup();
$this->addAttribute(‘catalog_category’, ‘show_line_name’, array(
‘group’ => ‘General Information’,
‘input’ => ‘select’,
‘type’ => ‘int’,
‘label’ => ‘Show Line Name’,
‘backend’ => ”,
‘visible’ => true,
‘required’ => false,
‘wysiwyg_enabled’ => true,
‘visible_on_front’ => true,
‘source’ => ‘eav/entity_attribute_source_boolean’,
‘global’ => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));
$this->endSetup();
?>
10) vi app//code/local/Pcode/Attribute/etc/config.xm and paste the below code
<?xml version=”1.0″?>
<config>
<modules>
<Pcode_Attribute>
<version>0.1.0</version>
</Pcode_Attribute>
</modules>
<global>
<resources>
<categoryattribute_setup>
<setup>
<module>Pcode_Attribute</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
<connection>
<use>default_setup</use>
</connection>
</categoryattribute_setup>
</resources>
</global>
</config>
Create Custom Category Attribute Magento
1)Change the directory to the root of magento installation
2) vi app/etc/modules/Pcode_Attribute.xml and paste the below given content
<config>
<modules>
<Pcode_Attribute>
<active>true</active>
<codePool>local</codePool>
</Pcode_Attribute>
</modules>
</config>
3) mkdir app//code/local/
4) mkdir app//code/local/Pcode
5 )mkdir app//code/local/Pcode/Attribute
6) mkdir app//code/local/Pcode/Attribute/etc
7) mkdir app//code/local/Pcode/Attribute/sql
8) mkdir app/code/local/Pcode/Attribute/sql/categoryattribute_setup
9) vi app/code/local/Pcode/Attribute/sql/categoryattribute_setup/mysql4-install-0.1.0.php and paste the below given code
<?php
$this->startSetup();
$this->addAttribute(‘catalog_category’, ‘new_attribute’, array(
‘group’ => ‘General’,
‘input’ => ‘text’,
‘type’ => ‘varchar’,
‘label’ => ‘New attribute’,
‘backend’ => ”,
‘visible’ => 1,
‘required’ => 0,
‘user_defined’ => 1,
‘global’ => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
));
$this->endSetup();
?>
10) vi app//code/local/Pcode/Attribute/etc/config.xm and paste the below code
<?xml version=”1.0″?>
<config>
<modules>
<Pcode_Attribute>
<version>0.1.0</version>
</Pcode_Attribute>
</modules>
<global>
<resources>
<categoryattribute_setup>
<setup>
<module>Pcode_Attribute</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
<connection>
<use>default_setup</use>
</connection>
</categoryattribute_setup>
</resources>
</global>
</config>
Category name on product listing page Magento
<?php
$category = Mage::registry(‘current_category’);
echo $category->getName();
?>