0
Как удалить атрибут продукта в backand controller в Magento 2.1?removeAttribute magento 2
В Magento 1. * это было:
$setup = Mage::getResourceModel('catalog/setup','catalog_setup');
$setup->removeAttribute('catalog_product','my_attribute');
EDIT: Не предлагайте мне использовать установки/удаления методов. Читайте внимание вопрос: "удалить атрибут backand контроллера"
EDIT 2: я найти ответ
namespace Company\Module\Controller\Adminhtml\Shoptheme; //optional
use Magento\Eav\Setup\EavSetup;
use Magento\Eav\Setup\EavSetupFactory;
use Magento\Framework\Setup\ModuleDataSetupInterface;
class Removeattribute extends \Magento\Backend\App\Action {
private $dataSetup;
private $eavSetupFactory;
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Framework\Setup\ModuleDataSetupInterface $dataSetup,
\Magento\Eav\Setup\EavSetupFactory $eavSetupFactory
) {
$this->dataSetup = $dataSetup;
$this->eavSetupFactory = $eavSetupFactory;
parent::__construct($context);
}
public function execute() {
$eavSetup = $this->eavSetupFactory->create(['setup' => $this->dataSetup]);
$eavSetup->removeAttribute(
\Magento\Catalog\Model\Product::ENTITY,
'prod_special_descr');
$this->messageManager->addSuccess('attribute removed');
$this->_redirect('admin/dashboard/');
}
}
вы должны удалить атрибут, используя только метод установки сценария –