Opencart
Массовое обнуление цен в интернет магазине на CMS Opencart.

Всем привет!

Сегодня поделюсь небольшим своим опытом по быстрому обнулению цен в интернет Магазине на базе CMS Opencart. Я изначально хотел все это сделать через БД. Но решил немного помучить себя поиском готового модуля, но поиски не дали существенных результатов. Конечно же, мною было найдено огромное количество платных модулей. Про них я обязательно расскажу, но только не в этот раз.

И так у нас есть таблица в CMS Opecart:

CREATE TABLE `cms_product` (
`product_id` int(11) NOT NULL AUTO_INCREMENT,
`model` varchar(64) NOT NULL,
`country` varchar(255) NOT NULL,
`material` varchar(65) DEFAULT NULL,
`sku` varchar(64) NOT NULL,
`upc` varchar(12) NOT NULL,
`location` varchar(128) NOT NULL,
`quantity` int(4) NOT NULL DEFAULT '0',
`stock_status_id` int(11) NOT NULL,
`image` varchar(255) DEFAULT NULL,
`manufacturer_id` int(11) NOT NULL,
`shipping` tinyint(1) NOT NULL DEFAULT '1',
`price` decimal(15,4) NOT NULL DEFAULT '0.0000',
`points` int(8) NOT NULL DEFAULT '0',
`tax_class_id` int(11) NOT NULL,
`date_available` date NOT NULL,
`weight` decimal(7,2) NOT NULL DEFAULT '0.00',
`weight_class_id` int(11) NOT NULL DEFAULT '0',
`length` decimal(7,2) NOT NULL DEFAULT '0.00',
`width` decimal(7,2) NOT NULL DEFAULT '0.00',
`height` decimal(7,2) NOT NULL DEFAULT '0.00',
`length_class_id` int(11) NOT NULL DEFAULT '0',
`subtract` tinyint(1) NOT NULL DEFAULT '1',
`minimum` int(11) NOT NULL DEFAULT '1',
`sort_order` int(11) NOT NULL DEFAULT '0',
`status` tinyint(1) NOT NULL DEFAULT '0',
`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`viewed` int(5) NOT NULL DEFAULT '0',
`youtube_code` text NOT NULL,
`files_code` text NOT NULL,
PRIMARY KEY (`product_id`)) ENGINE=MyISAM AUTO_INCREMENT=516 DEFAULT CHARSET=utf8;

В ней нас интересует поле price. Именно в нем храниться значение цены товара. Нижу приведен SQL скрипт:

UPDATE cms_product SET price ='0'

При выполнении его в БД, мы обновляем поле price, присвоив ему значение 0. Вот и всё.

По сути дела, через update, вы можете обновлять любые атрибуты товара, даже используя формулы. Например, нам необходимо увеличить стоимость всего товара в интернет магазине на 10%, сделаем это следующим SQL скриптом:

update `ava_product` set price=price + price*0,1

Как видите в нашем скрипте, наша новая цена равна, старая цена + полученный нужный процент от старой цены.

Все довольно просто, можно без проблем в нужный момент обновить цены на сайте. По нужной вам формуле.

Конечно можно написать более сложные скрипты, например обновить цены у товаров, у которых определенные атрибуты или категории и т.д.

Со столь сложными запросами всегда готов помочь (за небольшое вознаграждение), задавайте вопросы, если что то не понятно.

12.05.2015 22:28
784

Комментарии

Нет комментариев. Ваш будет первым!
Загрузка...