Module: Mage_Catalog
The Mage_Catalog module allows you to manage categories and products.
Resource Name: catalog_category
Aliases:
- category
Method:
- catalog_category.update (SOAP V1)
- catalogCategoryUpdate (SOAP V2)
Update the required category. Note that you should specify only those parameters which you want to be updated.
Aliases:
- category.update
Arguments:
| Type | Name | Description |
|---|---|---|
| string | sessionId | Session ID |
| int | categoryId | ID of the category to be updated |
| array | categoryData | An array of catalogCategoryEntityCreate |
| string | storeView | Store view ID or code (optional) |
Returns:
| Type | Description |
|---|---|
| boolean | True if the category is updated |
The catalogCategoryEntityCreate content is as follows:
| Type | Name | Description |
|---|---|---|
| string | name | Name of the category to be updated |
| int | is_active | Defines whether the category is visible in the frontend |
| int | position | Position of the category to be updated |
| arrayOfString |
available_sort_by |
All available options by which products in the category can be sorted |
| string |
custom_design |
The custom design for the category |
| int |
custom_apply_to_products |
Apply the custom design to all products assigned to the category |
| string |
custom_design_from |
Date starting from which the custom design will be applied to the category |
| string |
custom_design_to |
Date till which the custom design will be applied to the category |
| string |
custom_layout_update |
Custom layout update |
| string |
default_sort_by |
The default option by which products in the category are sorted |
| string |
description |
Category description |
| string |
display_mode |
Content that will be displayed on the category view page |
| int |
is_anchor |
Defines whether the category will be anchored |
| int |
landing_page |
Landing page |
| string |
meta_description |
Category meta description |
| string |
meta_keywords |
Category meta keywords |
| string |
meta_title |
Category meta title |
| string |
page_layout |
Type of page layout that the category should use |
| string |
url_key |
A relative URL path which can be entered in place of the standard target path |
| int |
include_in_menu |
Defines whether the category is visible on the top menu bar in the frontend |
| string | filter_price_range |
Price range of each price level displayed in the layered navigation block |
| int | custom_use_parent_settings |
Defines whether the category will inherit custom design settings of the category to which it is assigned. 1 - Yes, 0 - No |
Faults:
No Faults
Examples
Request Example SOAP V1
$client = new SoapClient('http://magentohost/api/soap/?wsdl');
// If some stuff requires API authentication,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'catalog_category.update', array(23, array(
'name' => 'Category name',
'is_active' => 1,
'position' => 1,
//<!-- position parameter is deprecated, category anyway will be positioned in the end of list
//and you can not set position directly, use catalog_category.move instead -->
'available_sort_by' => 'position',
'custom_design' => null,
'custom_apply_to_products' => null,
'custom_design_from' => null,
'custom_design_to' => null,
'custom_layout_update' => null,
'default_sort_by' => 'position',
'description' => 'Category description',
'display_mode' => null,
'is_anchor' => 0,
'landing_page' => null,
'meta_description' => 'Category meta description',
'meta_keywords' => 'Category meta keywords',
'meta_title' => 'Category meta title',
'page_layout' => 'two_columns_left',
'url_key' => 'url-key',
'include_in_menu' => 1,
)));
var_dump ($result);
Request Example SOAP V2
$client = new SoapClient('http://magentohost/api/v2_soap/?wsdl');
// If some stuff requires API authentication,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->catalogCategoryUpdate($session, 23, array(
'name' => 'Category name 2',
'is_active' => 1,
'position' => 1,
//<!-- position parameter is deprecated, category anyway will be positioned in the end of list
//and you can not set position directly, use catalog_category.move instead -->
'available_sort_by' => array('position'),
'custom_design' => null,
'custom_apply_to_products' => null,
'custom_design_from' => null,
'custom_design_to' => null,
'custom_layout_update' => null,
'default_sort_by' => 'position',
'description' => 'Category description',
'display_mode' => null,
'is_anchor' => 0,
'landing_page' => null,
'meta_description' => 'Category meta description',
'meta_keywords' => 'Category meta keywords',
'meta_title' => 'Category meta title',
'page_layout' => 'two_columns_left',
'url_key' => 'url-key',
'include_in_menu' => 1,
));
var_dump ($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login((object)array('username' => 'apiUser', 'apiKey' => 'apiKey'));
$result = $proxy->catalogCategoryUpdate((object)array('sessionId' => $sessionId->result, 'categoryId' => '23', 'categoryData' => ((object)array(
'name' => 'Category Name Updated',
'is_active' => '1',
'position' => '1',
'available_sort_by' => array('name'),
'default_sort_by' => 'name',
'description' => 'Category description',
'is_anchor' => '1',
'include_in_menu' => '1'
))));
var_dump($result->result);