Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
17:38
06 ноя
#
?
написал:

Хотел бы приобрести Вашу CMS + хотелось бы уточнить - существует ли сейчас "пакет обновлений" для Simpla (на текущий момент наш сайт базируется на базе Simpla 2.1) ?
Или каким образом можно перейти на Impera CMS с максимальным сохранением базы данных (каталог товаров, база пользователей итд)

03:22
07 ноя
#
?
Vasi1ion написал:

Мне один чел с Симплы переделал скрипт update в откатный. Попробуй должно помочь. Код ниже. Скопируй в otkat.sql, зайди phpmyadmin в базу данных Симплы, импортируй otkat.sql.

Симпловед утверждал 100% валидного отката нет. Особенности 2.1 может?

У меня бока вылезли с фотами и пару мелких еще. Кажись связаные частями и товары с родных рубрик выпали. Не помню уже. Справили руками, товара немного.

--
-- откат Simpla 2.1.5 до 2.1.4
--

ALTER IGNORE TABLE `s_users` DROP `last_ip`;
ALTER IGNORE TABLE `s_users` CHANGE `created` `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
ALTER IGNORE TABLE `s_products` DROP INDEX `name`;

--
-- откат Simpla 2.1.1 до 2.1
--

DROP TABLE `s_coupons`;
ALTER IGNORE TABLE `s_orders` DROP `coupon_discount`;
ALTER IGNORE TABLE `s_orders` DROP `coupon_code`;

--
-- откат Simpla 2.1 до 2.0
--

ALTER IGNORE TABLE `s_products` DROP `featured`;
ALTER IGNORE TABLE `s_variants` CHANGE `stock` `stock` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_products` CHANGE `created` `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';

--
-- откат Simpla 2.0 до 1.4
--

ALTER IGNORE TABLE `s_products` DROP `external_id`;
ALTER IGNORE TABLE `s_products` ADD `download` TEXT NOT NULL DEFAULT '';

ALTER IGNORE TABLE `s_brands` DROP INDEX `url`;
ALTER IGNORE TABLE `s_categories` DROP INDEX `external_id`;
ALTER IGNORE TABLE `s_features` DROP INDEX `position`;
ALTER IGNORE TABLE `s_features` DROP INDEX `in_filter`;
ALTER IGNORE TABLE `s_images` DROP INDEX `product_id`;
ALTER IGNORE TABLE `s_images` DROP INDEX `position`;
ALTER IGNORE TABLE `s_products_categories` DROP INDEX `position`;
ALTER IGNORE TABLE `s_products_categories` DROP INDEX `product_id`;
ALTER IGNORE TABLE `s_products_categories` DROP INDEX `category_id`;
ALTER IGNORE TABLE `s_purchases` DROP INDEX `order_id`;
ALTER IGNORE TABLE `s_purchases` DROP INDEX `product_id`;
ALTER IGNORE TABLE `s_purchases` DROP INDEX `variant_id`;
ALTER IGNORE TABLE `s_variants` DROP INDEX `product_id`;
ALTER IGNORE TABLE `s_variants` DROP INDEX `sku`;
ALTER IGNORE TABLE `s_variants` DROP INDEX `price`;
ALTER IGNORE TABLE `s_variants` DROP INDEX `stock`;
ALTER IGNORE TABLE `s_variants` DROP INDEX `position`;
ALTER IGNORE TABLE `s_variants` DROP INDEX `external_id`;

ALTER IGNORE TABLE `s_purchases` CHANGE `amount` `quantity` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_purchases` DROP `sku`;

ALTER IGNORE TABLE `s_related_products` DROP `position`;
ALTER IGNORE TABLE `s_related_products` DROP PRIMARY KEY;
ALTER IGNORE TABLE `s_related_products` ADD `related_sku` VARCHAR(255) NOT NULL DEFAULT '';
UPDATE IGNORE s_related_products r, s_variants v SET r.related_sku = v.sku WHERE v.product_id = r.product_id AND TRIM(v.sku) != '';
ALTER IGNORE TABLE `s_related_products` DROP `related_id`;
ALTER IGNORE TABLE `s_related_products` ADD PRIMARY KEY(`product_id`, `related_sku`);

ALTER IGNORE TABLE `s_variants` DROP `compare_price`;
ALTER IGNORE TABLE `s_variants` DROP `attachment`;
ALTER IGNORE TABLE `s_variants` DROP `external_id`;

ALTER IGNORE TABLE `s_products` CHANGE `name` `model` VARCHAR(256) NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_products` CHANGE `annotation` `description` TEXT NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_products` CHANGE `position` `order_num` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_products` CHANGE `visible` `enabled` TINYINT(1) NOT NULL DEFAULT '1';

ALTER IGNORE TABLE `s_products` ADD `category_id` INT(20) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_products` ADD `small_image` VARCHAR(256) NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_products` ADD `large_image` VARCHAR(256) NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_products` ADD `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';

ALTER IGNORE TABLE `s_products_categories` DROP `position`;

ALTER IGNORE TABLE `s_payment_methods` CHANGE `settings` `params` TEXT NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_payment_methods` DROP `position`;

ALTER IGNORE TABLE `s_orders` DROP `total_price`;
ALTER IGNORE TABLE `s_orders` DROP `note`;
ALTER IGNORE TABLE `s_orders` DROP `discount`;
ALTER IGNORE TABLE `s_orders` DROP `separate_delivery`;
ALTER IGNORE TABLE `s_orders` DROP `modified`;

ALTER IGNORE TABLE `s_orders` CHANGE `delivery_id` `delivery_method_id` INT(11) NULL DEFAULT NULL;
ALTER IGNORE TABLE `s_orders` CHANGE `paid` `payment_status` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_orders` CHANGE `closed` `written_off` TINYINT(1) NOT NULL;
ALTER IGNORE TABLE `s_orders` CHANGE `url` `code` VARCHAR(255) NOT NULL DEFAULT '';

ALTER IGNORE TABLE  `s_options` CHANGE `feature_id` `property_id` INT(11) NOT NULL;

ALTER IGNORE TABLE `s_pages` ADD `parent` INT(11) NULL;
ALTER IGNORE TABLE `s_pages` ADD `module_id` INT(11) NULL;
ALTER IGNORE TABLE `s_pages` ADD `created` DATETIME NOT NULL;
ALTER IGNORE TABLE `s_pages` ADD `modified` DATETIME NOT NULL;
ALTER IGNORE TABLE `s_pages` CHANGE `position` `order_num` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_pages` CHANGE `visible` `enabled` TINYINT(1) NOT NULL DEFAULT '0';

ALTER IGNORE TABLE `s_menu` CHANGE `position` `fixed` TINYINT(1) NULL DEFAULT '0';

ALTER IGNORE TABLE `s_images` DROP `id`;
ALTER IGNORE TABLE `s_images` DROP `name`;
ALTER IGNORE TABLE `s_images` ADD `foto_id` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_images` DROP `position`;

ALTER IGNORE TABLE `s_comments` CHANGE `text` `comment` VARCHAR(1024) NOT NULL;
ALTER IGNORE TABLE `s_comments` CHANGE `object_id` `product_id` INT(11) NOT NULL;
ALTER IGNORE TABLE `s_comments` DROP `type`;
ALTER IGNORE TABLE `s_comments` DROP `approved`;

ALTER IGNORE TABLE `s_features` ADD `in_product` INT(1) NOT NULL;
ALTER IGNORE TABLE `s_features` ADD `in_compare` INT(1) NOT NULL;
ALTER IGNORE TABLE `s_features` ADD `enabled` INT(1) NOT NULL DEFAULT '1';
ALTER IGNORE TABLE `s_features` ADD `options` TEXT NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_features` CHANGE `position` `order_num` INT(11) NOT NULL;

ALTER IGNORE TABLE `s_currencies` ADD `main` TINYINT(1) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_currencies` ADD `def` TINYINT(1) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_currencies` DROP `cents`;
ALTER IGNORE TABLE `s_currencies` DROP `position`;
ALTER IGNORE TABLE `s_currencies` DROP `enabled`;
ALTER IGNORE TABLE `s_currencies` CHANGE `rate_from` `rate_from` FLOAT(10, 2) NOT NULL DEFAULT '1.000';
ALTER IGNORE TABLE `s_currencies` CHANGE `rate_to` `rate_to` FLOAT(10, 2) NOT NULL DEFAULT '1.000';

ALTER IGNORE TABLE `s_delivery` DROP `position`;
ALTER IGNORE TABLE `s_delivery` DROP `separate_payment`;

ALTER IGNORE TABLE `s_categories` CHANGE `parent_id` `parent` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_categories` ADD `single_name` VARCHAR(256) NOT NULL DEFAULT '';
ALTER IGNORE TABLE `s_categories` DROP `external_id`;
ALTER IGNORE TABLE `s_categories` CHANGE `position` `order_num` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_categories` CHANGE `visible` `enabled` TINYINT(1) NOT NULL DEFAULT '1';

ALTER IGNORE TABLE `s_blog` CHANGE `name` `header` VARCHAR(255) NOT NULL;
ALTER IGNORE TABLE `s_blog` CHANGE `text` `body` TEXT NOT NULL;
ALTER IGNORE TABLE `s_blog` ADD `created` DATETIME NOT NULL;
ALTER IGNORE TABLE `s_blog` ADD `modified` DATETIME NOT NULL;
ALTER IGNORE TABLE `s_blog` CHANGE `visible` `enabled` TINYINT(1) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_blog` CHANGE `date` `date` DATE NOT NULL DEFAULT '0000-00-00';

ALTER IGNORE TABLE `s_users` CHANGE `id` `user_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_variants` CHANGE `id` `variant_id` BIGINT(20) NOT NULL AUTO_INCREMENT;

ALTER IGNORE TABLE `s_purchases` DROP `id`;

ALTER IGNORE TABLE `s_blog` CHANGE `id` `news_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_brands` CHANGE `id` `brand_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_categories` CHANGE `id` `category_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_categories_features` CHANGE `feature_id` `property_id` INT(11) NOT NULL;
ALTER IGNORE TABLE `s_comments` CHANGE `id` `comment_id` BIGINT(20) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_currencies` CHANGE `id` `currency_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_delivery` CHANGE `id` `delivery_method_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_delivery_payment` CHANGE `delivery_id` `delivery_method_id` INT(11) NOT NULL;
ALTER IGNORE TABLE `s_features` CHANGE `id` `property_id` BIGINT(20) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_feedbacks` CHANGE `id` `feedback_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_groups` CHANGE `id` `group_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_menu` CHANGE `id` `menu_id` INT(11) NOT NULL DEFAULT '0';
ALTER IGNORE TABLE `s_orders` CHANGE `id` `order_id` BIGINT(20) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_pages` CHANGE `id` `section_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_payment_methods` CHANGE `id` `payment_method_id` INT(11) NOT NULL AUTO_INCREMENT;
ALTER IGNORE TABLE `s_products` CHANGE `id` `product_id` INT(11) NOT NULL AUTO_INCREMENT;

RENAME TABLE `s_brands` TO `brands`;
RENAME TABLE `s_categories` TO `categories`;
RENAME TABLE `s_currencies` TO `currencies`;
RENAME TABLE `s_delivery` TO `delivery_methods`;
RENAME TABLE `s_delivery_payment` TO `delivery_payment`;
RENAME TABLE `s_feedbacks` TO `feedback`;
RENAME TABLE `s_groups` TO `groups`;
RENAME TABLE `s_menu` TO `menu`;
RENAME TABLE `s_blog` TO `news`;
RENAME TABLE `s_orders` TO `orders`;
RENAME TABLE `s_purchases` TO `orders_products`;
RENAME TABLE `s_payment_methods` TO `payment_methods`;
RENAME TABLE `s_products` TO `products`;
RENAME TABLE `s_products_categories` TO `products_categories`;
RENAME TABLE `s_comments` TO `products_comments`;
RENAME TABLE `s_images` TO `products_fotos`;
RENAME TABLE `s_variants` TO `products_variants`;
RENAME TABLE `s_features` TO `properties`;
RENAME TABLE `s_categories_features` TO `properties_categories`;
RENAME TABLE `s_options` TO `properties_values`;
RENAME TABLE `s_related_products` TO `related_products`;
RENAME TABLE `s_pages` TO `sections`;
RENAME TABLE `s_settings` TO `settings`;
RENAME TABLE `s_users` TO `users`;
15:58
07 ноя
#
написал:

Vasi1ion, спасибо. Я проверил Ваш скрипт следующим образом:


1. Создал на локальном компьютере пустую базу данных test. Установил на компьютер Simpla CMS версии 2.1.5. Проверил клиентскую сторону и админпанель - работают.


2. Зашел в phpMyAdmin, выбрал базу данных test, нажал ссылку Импорт. В поле Месторасположение текстового файла нажал кнопку Обзор... и выбрал Ваш скрипт otkat.sql. Нажал кнопку Пошел. В конце работы скрипта появилось сообщение: Импорт успешно завершен, запросов выполнено: 144.


3. Для пущей уверенности посмотрел в phpMyAdmin на изменившуюся базу данных test. Вроде похожа на базу от версии 1.4.


4. Удалил с компьютера Simpla CMS (просто файловым мененджером удалил все, кроме папки http://сайт/files, где хранятся картинки). Поставил на компьютер Impera CMS, но без последних шагов создания демо базы, чтобы не затереть базу test. Так как в этой базе в таблице настроек изначально был прописан другой шаблон (в данном случае это был default), то в папку http://сайт/design/default чисто для проверки скопировал содержимое шаблона simpla2, ранее портированного в Impera CMS.


5. Открыл клиентскую сторону - товаров нет, категорий нет, верхней менюшки нет, бренды на месте (но товары в них не показывает), валюты на месте, новости на месте. Все остальные страницы работают, кроме тех, что связаны с товарами, категориями и специальными страницами.


6. Открыл админпанель. Все на месте, кроме товаров. Попробовал по шагам разобраться в косяках, возникших после работы откатного скрипта. На самом деле проблемы эти есть следствие того, что Simpla CMS версии 2.x предельно упростили, отказавшись от полезных деталей. При переходе с версии 1.4 на 2.x сведения о таких подробностях в базе данных естественным образом были удалены. Как правильно сказал Ваш Симпловед, возврат по версиям назад невозможен с полным восстановлением состояния базы данных.


7. Шаг 1. Страница менюшек сайта в админпанели. Здесь надо исправить название меню Основное меню на Верхнее меню. На клиентской стороне сразу появилась менюшка сверху.


8. Шаг 2. Ссылки в верхнем меню не работают. Проблема связана с тем, что при откате по версиям назад в специальных страницах потеряно значение поля Тип контента - пришлось в админпанели каждую специальную страницу вызывать на редактирование и ставить соответствующий тип контента: Контакты - это тип Обратная связь, страницы Оплата и Доставка - это тип Статические страницы, страница Блог - это тип Новости, страница Главная - это тип Товары. И так далее. На клиентской стороне сразу заработали ссылки в верхнем меню.


9. Шаг 3. В админпанели на странице валют потеряны признаки Базовая валюта, Валюта по умолчанию для клиентской стороны, Валюта по умолчанию для админпанели. Выставляем эти признаки согласно нашим предпочтениям.


10. Шаг 4. Потеряны связи товаров с категориями. Решение состоит в том, чтобы в phpMyAdmin выполнить для текущей базы данных следующий набор команд. На клиентской стороне сразу появятся товары и категории. В админпанели тоже появятся товары. То есть в phpMyAdmin выбираем текущую базу данных, нажимаем ссылку SQL, вставляем в поле команд нижеследующий фрагмент и нажимаем кнопку Пошел. В ответ должны получить такое сообщение: Ваш SQL-запрос был успешно выполнен.

UPDATE products p, products_categories c SET p.category_id = c.category_id WHERE p.product_id = c.product_id;
DROP TABLE cache_brands;
DROP TABLE cache_categories;
DROP TABLE cache_cbproducts_sv;
DROP TABLE cache_menus_sv;
DROP TABLE cache_users_sv;


11. Шаг 5. Не показываются вообще или частично показываются фотографии товаров. Проблема состоит в том, что сравнительно к Simpla CMS 1.4 в версии 2.x фотографии товаров переместили в папку http://сайт/files/originals, а в папку http://сайт/files/products динамически масштабируются фотографии в разных размерах. Решение заключено в копировании (можно даже переместить) всех файлов, кроме файла .htaccess, из папки originals в папку http://сайт/files/products. Везде по сайту сразу появились фотографии товаров.


12. Шаг 6. В таблице вариантов товаров потеряны значения поля Количество на складе для некоторых (возможно даже всех) товаров. Проблема в том, что Simpla CMS 2.x в этом поле хранит также значение Бесконечно, которое преобразовывается в 0 откатным скриптом. Решение состоит в применении к текущей базе данных следующей команды (число 1000 можете заменить на нужное Вам количество) посредством phpMyAdmin.

UPDATE products_variants p SET p.stock = 1000 WHERE p.stock = 0;


Вот собственно весь набор действий по ручному переводу сайта с Simpla CMS 2.x на Impera CMS. Не исключено, что какие-то нюансы остались незамеченными мной при проверке откатного скрипта. Во всяком случае у меня на локальном компьютере мигрированный сайт работал без заметных изъянов.


Вдобавок придется также поправить тот шаблон, который использовали до миграции. В основном поправки заключаются в изменении имен некоторых переменных или их полей внутри tpl-файлов шаблона и именовании самих файлов согласно сравнительной таблице различий в шаблонах. Например в Simpla CMS 2.x поле visible в записи о товаре соответствует полю enabled в Impera CMS. И тому подобное. Рекомендуется пофайлово сравнивать свой шаблон с портированным шаблоном simpla2.

17:47
12 мар
#
?
написал:

Здравствуйте!

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

Подскажите в чем может быть проблема?

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.