2. 1. Контейнер, необхідність апгрейду.
Суть і призначення контейнера
●
●
●
Уніфікована структура для всіх типів інтернет-магазинів;
Є проміжним елементом між експортом і імпортом даних;
Об'єкт з масивом атрибутів.
Container
Import
Export
Container
Source
Container
Target
4. 2. Загальні зміни
Абстрактний клас
●
●
●
●
Робота через коди: “магічні методи” +
set/get з вказанням коду;
Attribute flags поділено на 3 групи:
1. Тип атрибута (required, internal,
additional, custom);
2. Тип даних (string, int, float,
timestamp, bool і т. д.);
3. Формат поля вводу (text, textarea,
select, checkbox і т. д.);
Можливість створення/видалення
атрибута в процесі міграції;
Додаткові властивості атрибутів.
value
flags
name
options
extra
Attribute
5. Розширення контейнера
New Container
Structure
Product
Base
attributes
Attribute 1
Attribute 2
Attribute 3
..............
Attribute N
+
Additional
attributes
Attribute 1
Attribute 2
..............
Attribute M
+
Custom
attributes
Entity,
[AttrSet,
AttrCache]
Attribute 1
Attribute 2
..............
Attribute M
Accessory
Export
New
Container
6. 3. Зміни в контейнері продукта
Опції продуктів
Змінено назви
Attribute -> Option;
Option -> OptionItem.
●
●
Додано нові типи опцій:
Multiselect;
Multicheckbox.
●
●
Product
Option
Attribute 1
Attribute 2
Attribute 3
name
..............
type
Options
id
description
items
position
Χ
N
7. Product Child Items
Типи підтримуваних
продуктів:
●
●
●
Configurable;
Bundle;
Grouped.
Product
Child Item
Attribute 1
Attribute 2
Attribute 3
link
..............
link_type
Child Items
id
Simple products
id's/ options
combination
link_name
items
position
Χ
N
Simple products
8. Зв'язки продуктів
Типи підтримуваних звязків:
●
●
●
●
Related;
Up-sell;
Cross-sell;
Інші.
Product
Attribute 1
Attribute 2
Attribute 3
..............
Relations
Relation
id
type
linked_id
position
Χ
N
Linked
product
id
9. 4. Робота з старим контейнером
Конвертація
●
●
●
●
Визначення напрямку конвертації;
Конвертація кожного контейнера;
Окремий конвертер для кожного ентіті;
Обмеження (втрати при конвертації).
Export
Import
Conversion
Container 1
Source
Container 2
Container 1
Container 2
Container 1
Container 2
Target