Создаем таблицу в базе данных
В Magento очень удобно управлять таблицами базы данных. Тут используется такой подход:
Создается файл, во котором реализуется функционал управления таблицей (создания, редактирования и т.д.),
имя файла содержит номер версии (например: install-1.0.0.php), после обновления страницы, Magento выполнит функционал, описанный в файле и сделает запись об этом в таблице core_resource.
Если мы создаем таблицу - мы создаем файл, который начинается на install (например: install-1.0.0.php), для изменения таблицы - имя файла должно начинаться с update (например: update-1.0.0.php)
Создаем папки:
app/code/local/My/Articles/sql app/code/local/My/Articles/sql/marticles_setup
Создаем файл:
app/code/local/My/Articles/sql/marticles_setup/install-1.0.0.php
С кодом:
<?php
die('Setup');
$installer = $this;
$installer->startSetup();
$installer->run("CREATE TABLE my_articles (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL,
`header_h1` VARCHAR(255) NOT NULL,
`meta_tag_keywords` VARCHAR(255) NOT NULL,
`meta_tag_description` VARCHAR(255) NOT NULL,
`image` VARCHAR(255) NOT NULL,
`preview` TEXT NOT NULL,
`content` TEXT NOT NULL,
`created` DATETIME,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;");
$installer->endSetup();
В этом файле мы добавляем параметры (см. комментарии)
Код для добавления таблиц в базу:
<?xml version="1.0" ?>
<config>
<modules>
<My_Articles>
<version>1.0.0</version>
</My_Articles>
</modules>
<!-- Код для контроллера -->
<frontend>
<routers>
<marticles>
<use>standard</use>
<args>
<module>My_Articles</module>
<frontName>articles</frontName>
</args>
</marticles>
</routers>
</frontend>
<global>
<!-- Код для добавления таблиц в базу -->
<myarticles_recource>
<class>My_Articles_Model_Resource</class>
<entities>
<table_myarticles>
<table>my_articles</table>
</table_myarticles>
</entities>
</myarticles_recource>
</global>
</config>
Обновляем страницу в браузере. Должны увидеть текст: Setup.
Убираем строку:
die('Setup');
и опять обновляем страницу в браузере.
После этого, у вас в базе должна появиться таблица my_articles, а в таблице core_resource появится запись code: myarticles_setup.
Если нужно переустановить таблицу - можно удалить ее из базы и удалить запись в таблице core_resource.
После обновления любой страницы, изменения попадут в базу, а в таблицу core_resource запись с частью имени блока (в нашем случае myarticles) и при следующих обновлениях выполняться фалы не будут. Если мы хотим еще добавить таблицы или что-то изменить - создаем файл с другой уникальной версией.
devreadwrite.com



Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Неправильно написан "Код для добавления таблиц в базу" в config.xml . Наверное правильно будет так:
Ответить<resources>
<marticles_setup>
<setup>
<module>My_Articlesr</module>
</setup>
</marticles_setup>>
</resources>
не рабочий код
Ответить