Skip to main content

Primary links

  • Home
  • AI
  • Kubernetes
  • Incus
  • Ansible
  • Terraform
  • OpenStack
  • Virtualization
  • Linux
  • SmartHome
  • HowTo

Misc

  • Linux
  • Hardware
  • Programming
    • Graphic
    • HTML / PHP / CMS
    • Java
    • PL / SQL
    • Magento
    • python
    • Asterisk
    • C / C++
    • JavaScript
    • Json
    • Magento
      • Cache
      • Configuration
      • Database select
      • Delete unused product images
      • Erase credit card
      • Installation
      • Java Connector
        • Create account
        • Extend Api
      • Magento code snippet
      • mkMagentoDump.sh
      • snippets
    • OpenOffice / LibreOffice
    • Perl
    • Postfix
    • Regular Expression
    • TLA
    • Tomcat
    • Zenity
    • bash
    • find
    • git
    • ofbiz
    • wildfly
    • xml
  • Databases
  • Multimedia
  • Windows

Cloud

  • OpenStack
  • cloud-config
  • nextcloud

Virtualization

  • Virtualization
  • Incus
  • Docker
  • KVM
  • Kubernetes
  • LXC
  • LXD
  • QEMU
  • VMware
  • VirtualBox
  • multipass
  • podman
  • vagrant
  • XEN

Network

  • DNS
  • Firewall
  • Linux
  • OpenvSwitch
  • SSL
  • VLAN
  • VPN
  • iPXE
  • namespaces
  • nmcli
  • tcpdump

Storage

  • CEPH
  • DRBD
  • LVM
  • S3
  • ZFS
  • btrfs

Automation / CI/CD

  • Install
  • Ansible
  • GitLab
  • LLM
  • Preseed
  • Puppet
  • Terraform
  • Ubuntu autoinstall

Monitoring / Visualisation

  • Grafana
  • Icinga
  • Prometheus
  • Monitoring
  • ELK
  • mermaid
# OPTIONAL, install patch
apt-get install -y patch

# patch on command line
cd /var/www/
wget http://www.panticz.de/sites/default/files/api.xml_.diff -O /tmp/api.xml.diff
patch -p2 ./app/code/core/Mage/Catalog/etc/api.xml < /tmp/api.xml.diff

wget http://www.panticz.de/sites/default/files/Api.php_.diff -O /tmp/Api.php.diff
patch -p2 ./app/code/core/Mage/Catalog/Model/Product/Attribute/Api.php < /tmp/Api.php.diff


1. go to magento installation folder, for example /var/www/magento

2. add definition to app/code/core/Mage/Catalog/etc/api.xml (line 215)

    Create new product attribute
    catalog/product/attribute/create


    Delete product attribute
    catalog/product/attribute/delete


    Add attribute options
    catalog/product/attribute/addoptions


3. add functions to app/code/core/Mage/Catalog/Model/Product/Attribute/Api.php
   /**
     * Create new product attribute.
     *
     * @param string $attributeName
     * @param array $attributeData
     * @param string|int $store
     * @return int
     */
    public function create($attributeName, $attributeData, $store = null)
    {
	// create product attribute
        $installer = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
        $installer->addAttribute('catalog_product', $attributeName, $attributeData);

	// get product attribute id
        $storeId = $this->_getStoreId($store);
        $attribute = Mage::getModel('catalog/product')
            ->setStoreId($storeId)
            ->getResource()
            ->getAttribute($attributeName);

	return $attribute->getId();
    }

   /**
     * Create attribute options
     *
     * @param string $attributeId
     * @param array $attributeOptions
     * @return int
     */
    public function addoptions($attributeId, $attributeOptions)
    {
	$setup = new Mage_Eav_Model_Entity_Setup('core_setup');

	for($i = 0; $i < sizeof($attributeOptions); $i++) {
		$option = array();
		$option['attribute_id'] = $attributeId;
		$option['value'][$value][0] = $attributeOptions[$i];

		$setup->addAttributeOption($option);
	}

	return true;
    }

   /**
     * Delete product attribute.
     *
     * @param string $attributeName
     * @param string|int $store
     * @return int
     */
    public function delete($attributeName, $store = null)
    {
        $storeId = $this->_getStoreId($store);
        $attribute = Mage::getModel('catalog/product')
            ->setStoreId($storeId)
            ->getResource()
            ->getAttribute($attributeName);

        if (!$attribute) {
            $this->_fault('not_exists');
        }

        try {
            $attribute->delete();
        } catch (Mage_Core_Exception $e) {
            $this->_fault('not_deleted', $e->getMessage());

            return false;
        }

	return true;
    }

<strong>Extention for MD5 sum</strong>
http://www.panticz.de/sites/default/files/magento/Api/media.md5.api.php.diff
http://www.panticz.de/sites/default/files/magento/Api/media.md5.api.xml.diff

# Links
http://www.magentocommerce.com/wiki/doc/webservices-api/custom-api
http://svn.magentocommerce.com/source/branches/1.4-trunk/app/code/core/Mage/Catalog/etc/api.xml
http://svn.magentocommerce.com/source/branches/1.4-trunk/app/code/core/Mage/Catalog/Model/Product/Attribute/Api.php
http://www.magentocommerce.com/wiki/doc/installing_custom_attributes_with_your_module
http://snippi.net/node?page=1

/var/www/magento/app/code/core/Mage/Eav/Model/Entity/Setup.php
/var/www/magento/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Setup.php
/var/www/magento/app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php
Profiles GitHub StackOverflow LinkedIn Xing
Contact Imprint
© panticz 2026

Cookie-Einstellungen

Diese Website nutzt eingebettete Inhalte von Drittanbietern (z.B. YouTube, SoundCloud). Beim Laden dieser Inhalte werden Daten an die jeweiligen Anbieter übermittelt. Datenverarbeitungserklärung