Ответы:
См Mage_Eav_Model_Entity_Setup::removeAttribute(). Он принимает два аргумента - первый - это код объекта, а второй - код атрибута.
Изменить - запустить из области без установки:
<?php
include 'app/Mage.php';
Mage::app();
$setup = Mage::getResourceModel('catalog/setup','catalog_setup');
$setup->removeAttribute('catalog_product','attr_code');
catalog/setupс customer/setup, catalog_setupс customer_setupи catalog_productс customer.
Первое правило Magento: никогда не редактируйте базу данных напрямую.
Я признаю, что неоднократно нарушал это правило, так что ...
вы можете удалить атрибуты из eav_attribute, ограничения ON DELETE CASCADEдолжны очистить остальные таблицы.
Но я все еще думаю, что вы должны идти чистым путем:
$attributeId = 55;
Mage::getModel('catalog/resource_eav_attribute')->load($attributeId)->delete();
Это не должно занять много времени, и вы будете чувствовать себя в мире с самим собой, потому что вы не нарушали правила.
Не важно, какой метод вы выберете, но резервное копирование вашей БД в обоих случаях.
DELETE FROM eav_attribute WHERE eav_attribute.attribute_code = "my_attribute";
$installer->removeAttribute('catalog_product', 'my_attribute1');или$installer->removeAttribute('catalog_category', 'my_attribute2');есть ли способ использовать этот код в отдельном файле? Я хотел бы, чтобы поместить файл в корневой папке (где Magento - хindex.php), так что можно было бы назвать сценарий в веб - браузереexample.com/delete_attributes.php/. Можете ли вы указать мне правильное направление?