Создание mysql4 инсталлера для модуля. Назовём наш модуль "EXmod"
Типичная директория модуля выглядит следующим образом: Block/ controllers/ etc/ Helper/ Model/ sql/
Для создания инсталлера достаточно добавить поддиректорию в каталоге sql. sql/my_setup/ Далее создаём php файл с именем "mysql4-install-0.1.0.php". 0.1.0 соответственно версия модуля. Обратите внимание, версия указываемая в названии этого файла должна совпадать с версией модуля, указанной в etc/config.xml
| Код | <?php $installer = $this; $installer->startSetup();
// Для выполнения mysql запроса достаточно использовать следующую конструкцию $installer->run("CREATE TABLE ...");
// Для получения имён таблиц можно использовать такую конструкцию $installer->run("insert into {$this->getTable('customer_entity')}"); // Если вы знаете имя модели, но не знаете имя таблицы можно писать так $admin_role_table = Mage::getSingleton('core/resource')->getTableName('admin/role'); // Соответственно тут мы меняем только параметр передаваемый в getTableName()
// Удаление колонки из таблицы $installer->getConnection()->dropColumn($this->getTable('customer_entity'), 'parent_id');
// Получение id атрибута для дальнейших манипуляций $installer->getAttributeId('customer', 'email');
// Удаление ключа из таблицы $installer->getConnection()->dropKey($installer->getTable('customer_address_entity_text'), 'IDX_VALUE');
// Простые запросы и дальнейший разбор при помощи while и $query->fetch() $query = $installer->getConnection()->query($select); // Для добавления атрибутов можно использовать следующую конструкцию $installer->addAttribute('customer', 'someattribute', array( 'label' => 'Some attribute', 'visible' => false, 'required' => false, ));
// И прочее.
$installer->endSetup(); ?>
|
Внимание, не забываем чистить кэша. System->Cache management->Refresh
Эта статья не закончена |