Xóa thuộc tính thể loại


8

Tôi đã chèn 2 thuộc tính danh mục bằng cách sử dụng một mô-đun với tệp mysql4-install-0.1.0.phptrong thư mục sql:

$installer = $this;

$installer->startSetup();

$installer->addAttribute('catalog_category', 'short_description', array(
    'type'          => 'text',
    'label'         => 'Short Description',
    'input'         => 'textarea',
    'group'         => 'General',
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'       => true,
    'required'      => false
));
$installer->addAttribute('catalog_category', 'static_block', array(
    'type'          => 'text',
    'label'         => 'Brand',
    'input'         => 'text',
    'group'         => 'General',
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'       => true,
    'required'      => false
));

$this->endSetup();

Làm thế nào tôi có thể xóa chúng bây giờ. Tôi đã thử chèn cái này vào tệp sql, như được đề xuất trong các câu trả lời khác:

$installer = $this;
$installer->startSetup();
$installer->removeAttribute('catalog_category', 'short_description');
$installer->removeAttribute('catalog_category', 'static_block');
$installer->endSetup();

Nhưng không có gì xảy ra. Tôi có nên tạo một mô-đun khác?

Câu trả lời:


14

Bạn cần tạo một kịch bản nâng cấp khác.
Nếu tập lệnh cài đặt có phiên bản, hãy 0.1.0tạo tập tin upgrade-0.1.0-0.1.1.phpcó nội dung này:

$installer = $this;
$installer->removeAttribute('catalog_category', 'short_description');
$installer->removeAttribute('catalog_category', 'static_block');

Sau đó đi đến config.xmlvà thay đổi versionthẻ từ 0.1.0đến 0.1.1.

Xóa bộ nhớ cache và làm mới bất kỳ trang nào.

Là một nút bên ... không sử dụng $installer->startSetup();trong các tập lệnh cài đặt / nâng cấp loại bỏ dữ liệu. Gọi nó, vô hiệu hóa kiểm tra khóa ngoại và bạn có thể kết thúc với dữ liệu zombie trong db của bạn.


Điều này hoạt động hoàn hảo trên một phiên bản 1.9. Nhưng tôi cũng phải làm điều đó trên phiên bản magento 1.5 và nó không xóa trường khỏi phụ trợ. Tất nhiên đã xóa bộ nhớ cache. Nó có thể là một cấu hình đang chặn điều này? hoặc một cái gì đó cụ thể đến 1,5?
Claudiu Creanga
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.