// MERGE product_multistore branch : product fields are now editable per shop

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14682 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2012-04-17 13:32:12 +00:00
parent d4d1c35cb9
commit 0c2dd0cd2f
134 changed files with 3185 additions and 1789 deletions
+1 -1
View File
@@ -661,7 +661,7 @@ class InstallXmlLoader
{
$table = current($row);
if (preg_match('#^'._DB_PREFIX_.'(.+?)(_lang)?$#i', $table, $m))
if (preg_match('#^'._DB_PREFIX_.'(.+?)(_group_shop|_shop)$#i', $table, $m2) && !isset($tables[$m2[1]]))
if (preg_match('#^'._DB_PREFIX_.'(.+?)_shop$#i', $table, $m2) && !isset($tables[$m2[1]]))
$tables[$m[1]] = (isset($m[2]) && $m[2]) ? true : false;
else
$tables[$m[1]] = (isset($m[2]) && $m[2]) ? true : false;
+97 -75
View File
@@ -167,7 +167,7 @@ CREATE TABLE `PREFIX_carrier_zone` (
CREATE TABLE `PREFIX_cart` (
`id_cart` int(10) unsigned NOT NULL auto_increment,
`id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_carrier` int(10) unsigned NOT NULL,
`delivery_option` varchar(100),
@@ -192,7 +192,7 @@ CREATE TABLE `PREFIX_cart` (
KEY `id_lang` (`id_lang`),
KEY `id_currency` (`id_currency`),
KEY `id_guest` (`id_guest`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_shop_group` (`id_shop_group`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
@@ -414,7 +414,7 @@ CREATE TABLE `PREFIX_compare_product` (
CREATE TABLE `PREFIX_configuration` (
`id_configuration` int(10) unsigned NOT NULL auto_increment,
`id_group_shop` INT(11) UNSIGNED DEFAULT NULL,
`id_shop_group` INT(11) UNSIGNED DEFAULT NULL,
`id_shop` INT(11) UNSIGNED DEFAULT NULL,
`name` varchar(32) NOT NULL,
`value` text,
@@ -423,7 +423,7 @@ CREATE TABLE `PREFIX_configuration` (
PRIMARY KEY (`id_configuration`),
KEY `name` (`name`),
KEY `id_shop` (`id_shop`),
KEY `id_group_shop` (`id_group_shop`)
KEY `id_shop_group` (`id_shop_group`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_configuration_lang` (
@@ -436,7 +436,7 @@ CREATE TABLE `PREFIX_configuration_lang` (
CREATE TABLE `PREFIX_connections` (
`id_connections` int(10) unsigned NOT NULL auto_increment,
`id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_guest` int(10) unsigned NOT NULL,
`id_page` int(10) unsigned NOT NULL,
@@ -528,7 +528,7 @@ CREATE TABLE `PREFIX_currency` (
CREATE TABLE `PREFIX_customer` (
`id_customer` int(10) unsigned NOT NULL auto_increment,
`id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_gender` int(10) unsigned NOT NULL,
`id_default_group` int(10) unsigned NOT NULL DEFAULT '1',
@@ -563,7 +563,7 @@ CREATE TABLE `PREFIX_customer` (
KEY `customer_login` (`email`,`passwd`),
KEY `id_customer_passwd` (`id_customer`,`passwd`),
KEY `id_gender` (`id_gender`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_shop_group` (`id_shop_group`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
@@ -667,7 +667,7 @@ CREATE TABLE `PREFIX_date_range` (
CREATE TABLE `PREFIX_delivery` (
`id_delivery` int(10) unsigned NOT NULL auto_increment,
`id_shop` INT UNSIGNED NULL DEFAULT NULL,
`id_group_shop` INT UNSIGNED NULL DEFAULT NULL,
`id_shop_group` INT UNSIGNED NULL DEFAULT NULL,
`id_carrier` int(10) unsigned NOT NULL,
`id_range_price` int(10) unsigned default NULL,
`id_range_weight` int(10) unsigned default NULL,
@@ -1022,7 +1022,7 @@ CREATE TABLE `PREFIX_operating_system` (
CREATE TABLE `PREFIX_orders` (
`id_order` int(10) unsigned NOT NULL auto_increment,
`reference` VARCHAR(9),
`id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_carrier` int(10) unsigned NOT NULL,
`id_lang` int(10) unsigned NOT NULL,
@@ -1072,7 +1072,7 @@ CREATE TABLE `PREFIX_orders` (
KEY `id_currency` (`id_currency`),
KEY `id_address_delivery` (`id_address_delivery`),
KEY `id_address_invoice` (`id_address_invoice`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_shop_group` (`id_shop_group`),
KEY `id_shop` (`id_shop`),
INDEX `date_add`(`date_add`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
@@ -1308,7 +1308,7 @@ CREATE TABLE `PREFIX_page_type` (
CREATE TABLE `PREFIX_page_viewed` (
`id_page` int(10) unsigned NOT NULL,
`id_group_shop` INT UNSIGNED NOT NULL DEFAULT '1',
`id_shop_group` INT UNSIGNED NOT NULL DEFAULT '1',
`id_shop` INT UNSIGNED NOT NULL DEFAULT '1',
`id_date_range` int(10) unsigned NOT NULL,
`counter` int(10) unsigned NOT NULL,
@@ -1338,6 +1338,7 @@ CREATE TABLE `PREFIX_product` (
`id_supplier` int(10) unsigned default NULL,
`id_manufacturer` int(10) unsigned default NULL,
`id_category_default` int(10) unsigned default NULL,
`id_tax_rules_group` INT(11) UNSIGNED NOT NULL,
`on_sale` tinyint(1) unsigned NOT NULL default '0',
`online_only` tinyint(1) unsigned NOT NULL default '0',
`ean13` varchar(13) default NULL,
@@ -1383,6 +1384,38 @@ CREATE TABLE `PREFIX_product` (
KEY `date_add` (`date_add`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_product_shop` (
`id_product` int(10) unsigned NOT NULL,
`id_shop` int(10) unsigned NOT NULL,
`id_category_default` int(10) unsigned DEFAULT NULL,
`id_tax_rules_group` INT(11) UNSIGNED NOT NULL,
`on_sale` tinyint(1) unsigned NOT NULL DEFAULT '0',
`online_only` tinyint(1) unsigned NOT NULL DEFAULT '0',
`ecotax` decimal(17,6) NOT NULL DEFAULT '0.000000',
`minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1',
`price` decimal(20,6) NOT NULL DEFAULT '0.000000',
`wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000',
`unity` varchar(255) DEFAULT NULL,
`unit_price_ratio` decimal(20,6) NOT NULL DEFAULT '0.000000',
`additional_shipping_cost` decimal(20,2) NOT NULL DEFAULT '0.00',
`customizable` tinyint(2) NOT NULL DEFAULT '0',
`text_fields` tinyint(4) NOT NULL DEFAULT '0',
`active` tinyint(1) unsigned NOT NULL DEFAULT '0',
`available_for_order` tinyint(1) NOT NULL DEFAULT '1',
`available_date` date NOT NULL,
`condition` enum('new','used','refurbished') NOT NULL DEFAULT 'new',
`show_price` tinyint(1) NOT NULL DEFAULT '1',
`indexed` tinyint(1) NOT NULL DEFAULT '0',
`visibility` enum('both','catalog','search','none') NOT NULL DEFAULT 'both',
`cache_default_attribute` int(10) unsigned DEFAULT NULL,
`advanced_stock_management` tinyint(1) default '0' NOT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
PRIMARY KEY (`id_product`, `id_shop`),
KEY `id_category_default` (`id_category_default`),
KEY `date_add` (`date_add`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_product_attribute` (
`id_product_attribute` int(10) unsigned NOT NULL auto_increment,
`id_product` int(10) unsigned NOT NULL,
@@ -1408,6 +1441,19 @@ CREATE TABLE `PREFIX_product_attribute` (
KEY `id_product_id_product_attribute` (`id_product_attribute` , `id_product`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_product_attribute_shop` (
`id_product_attribute` int(10) unsigned NOT NULL,
`id_shop` int(10) unsigned NOT NULL,
`wholesale_price` decimal(20,6) NOT NULL default '0.000000',
`price` decimal(20,6) NOT NULL default '0.000000',
`ecotax` decimal(17,6) NOT NULL default '0.00',
`unit_price_impact` decimal(17,2) NOT NULL default '0.00',
`default_on` tinyint(1) unsigned NOT NULL default '0',
`minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1',
`available_date` date NOT NULL,
PRIMARY KEY (`id_product_attribute`, `id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_product_attribute_combination` (
`id_attribute` int(10) unsigned NOT NULL,
`id_product_attribute` int(10) unsigned NOT NULL,
@@ -1620,7 +1666,7 @@ CREATE TABLE `PREFIX_specific_price` (
`id_cart` INT(11) UNSIGNED NOT NULL,
`id_product` INT UNSIGNED NOT NULL,
`id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_group_shop` INT(11) UNSIGNED NOT NULL,
`id_shop_group` INT(11) UNSIGNED NOT NULL,
`id_currency` INT UNSIGNED NOT NULL,
`id_country` INT UNSIGNED NOT NULL,
`id_group` INT UNSIGNED NOT NULL,
@@ -1866,27 +1912,27 @@ CREATE TABLE `PREFIX_import_match` (
PRIMARY KEY (`id_import_match`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_group_shop` (
`id_group_shop` int(11) unsigned NOT NULL AUTO_INCREMENT,
CREATE TABLE IF NOT EXISTS `PREFIX_shop_group` (
`id_shop_group` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) CHARACTER SET utf8 NOT NULL,
`share_customer` TINYINT(1) NOT NULL,
`share_order` TINYINT(1) NOT NULL,
`share_stock` TINYINT(1) NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_group_shop`)
PRIMARY KEY (`id_shop_group`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_shop` (
`id_shop` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_group_shop` int(11) unsigned NOT NULL,
`id_shop_group` int(11) unsigned NOT NULL,
`name` varchar(64) CHARACTER SET utf8 NOT NULL,
`id_category` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_theme` INT(1) UNSIGNED NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_shop`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_shop_group` (`id_shop_group`),
KEY `id_category` (`id_category`),
KEY `id_theme` (`id_theme`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
@@ -1976,60 +2022,60 @@ CREATE TABLE `PREFIX_image_shop` (
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_attribute_group_shop` (
CREATE TABLE `PREFIX_attribute_shop` (
`id_attribute` INT(11) UNSIGNED NOT NULL,
`id_group_shop` INT(11) UNSIGNED NOT NULL,
PRIMARY KEY (`id_attribute`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT(11) UNSIGNED NOT NULL,
PRIMARY KEY (`id_attribute`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_feature_group_shop` (
CREATE TABLE `PREFIX_feature_shop` (
`id_feature` INT(11) UNSIGNED NOT NULL,
`id_group_shop` INT(11) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_feature`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT(11) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_feature`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_group_group_shop` (
CREATE TABLE `PREFIX_group_shop` (
`id_group` INT( 11 ) UNSIGNED NOT NULL,
`id_group_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_group`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_group`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_attribute_group_group_shop` (
CREATE TABLE `PREFIX_attribute_group_shop` (
`id_attribute_group` INT( 11 ) UNSIGNED NOT NULL ,
`id_group_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_attribute_group`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_attribute_group`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_tax_rules_group_group_shop` (
CREATE TABLE `PREFIX_tax_rules_group_shop` (
`id_tax_rules_group` INT( 11 ) UNSIGNED NOT NULL,
`id_group_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_tax_rules_group`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_tax_rules_group`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_zone_group_shop` (
CREATE TABLE `PREFIX_zone_shop` (
`id_zone` INT( 11 ) UNSIGNED NOT NULL ,
`id_group_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_zone`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_zone`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_manufacturer_group_shop` (
CREATE TABLE `PREFIX_manufacturer_shop` (
`id_manufacturer` INT( 11 ) UNSIGNED NOT NULL ,
`id_group_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_manufacturer`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_manufacturer`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_supplier_group_shop` (
CREATE TABLE `PREFIX_supplier_shop` (
`id_supplier` INT( 11 ) UNSIGNED NOT NULL,
`id_group_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_supplier`, `id_group_shop`),
KEY `id_group_shop` (`id_group_shop`)
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_supplier`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_store_shop` (
@@ -2039,14 +2085,6 @@ PRIMARY KEY (`id_store`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_product_shop` (
`id_product` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
`id_category_default` INT( 11 ) UNSIGNED DEFAULT NULL,
PRIMARY KEY ( `id_shop` , `id_product` ),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_module_shop` (
`id_module` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
@@ -2165,13 +2203,13 @@ CREATE TABLE `PREFIX_stock_available` (
`id_product` INT(11) UNSIGNED NOT NULL,
`id_product_attribute` INT(11) UNSIGNED NOT NULL,
`id_shop` INT(11) UNSIGNED NOT NULL,
`id_group_shop` INT(11) UNSIGNED NOT NULL,
`id_shop_group` INT(11) UNSIGNED NOT NULL,
`quantity` INT(10) NOT NULL DEFAULT '0',
`depends_on_stock` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`out_of_stock` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id_stock_available`),
KEY `id_shop` (`id_shop`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_shop_group` (`id_shop_group`),
KEY `id_product` (`id_product`),
KEY `id_product_attribute` (`id_product_attribute`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
@@ -2291,15 +2329,6 @@ CREATE TABLE `PREFIX_product_supplier` (
UNIQUE KEY `id_product` (`id_product`,`id_product_attribute`,`id_supplier`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_supplier_rates` (
`id_product_supplier` INT(11) UNSIGNED NOT NULL,
`id_currency` INT(11) UNSIGNED NOT NULL,
`quantity_min` INT(11) UNSIGNED NOT NULL,
`quantity_max` INT(11) UNSIGNED NOT NULL,
`price_te` DECIMAL(20,6) DEFAULT '0.000000',
PRIMARY KEY (`id_product_supplier`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `PREFIX_accounting_export` (
`id_accounting_export` int(11) NOT NULL AUTO_INCREMENT,
`begin_to` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -2410,13 +2439,6 @@ CREATE TABLE `PREFIX_module_preference` (
UNIQUE KEY `employee_module` (`id_employee`, `module`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_product_tax_rules_group_shop` (
`id_product` INT(11) UNSIGNED NOT NULL,
`id_tax_rules_group` INT(11) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY ( `id_product` , `id_tax_rules_group` , `id_shop` )
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
CREATE TABLE `PREFIX_carrier_tax_rules_group_shop` (
`id_carrier` int( 11 ) unsigned NOT NULL,
`id_tax_rules_group` int(11) unsigned NOT NULL,
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<entity_configuration>
<fields id="name" sql="a.name &lt;&gt; 'PS_LANG_DEFAULT' AND a.id_shop IS NULL AND a.id_group_shop IS NULL" null="1">
<fields id="name" sql="a.name &lt;&gt; 'PS_LANG_DEFAULT' AND a.id_shop IS NULL AND a.id_shop_group IS NULL" null="1">
<field name="name"/>
<field name="value"/>
</fields>
+1 -1
View File
@@ -2,7 +2,7 @@
<entity_delivery>
<fields class="Delivery" sql="a.id_carrier = 1">
<field name="id_shop"/>
<field name="id_group_shop"/>
<field name="id_shop_group"/>
<field name="id_carrier" relation="carrier"/>
<field name="id_range_price" relation="range_price"/>
<field name="id_range_weight" relation="range_weight"/>
+1 -1
View File
@@ -295,7 +295,7 @@
<class_name>AdminShop</class_name>
</tab>
<tab id="Group_Shops" id_parent="Shops" active="1">
<class_name>AdminGroupShop</class_name>
<class_name>AdminShopGroup</class_name>
</tab>
<tab id="Shop_Urls" id_parent="Shops" active="1">
<class_name>AdminShopUrl</class_name>
+5 -5
View File
@@ -2,7 +2,7 @@
<entity_delivery>
<fields class="Delivery" sql="a.id_carrier &gt; 1" null="1">
<field name="id_shop"/>
<field name="id_group_shop"/>
<field name="id_shop_group"/>
<field name="id_carrier" relation="carrier"/>
<field name="id_range_price" relation="range_price"/>
<field name="id_range_weight" relation="range_weight"/>
@@ -10,9 +10,9 @@
<field name="price"/>
</fields>
<entities>
<delivery id="delivery_1" id_shop="" id_group_shop="" id_carrier="My_carrier" id_range_price="" id_range_weight="range_weight_1" id_zone="Europe" price="5.000000"/>
<delivery id="delivery_2" id_shop="" id_group_shop="" id_carrier="My_carrier" id_range_price="" id_range_weight="range_weight_1" id_zone="North_America" price="5.000000"/>
<delivery id="delivery_4" id_shop="" id_group_shop="" id_carrier="My_carrier" id_range_price="range_price_1" id_range_weight="" id_zone="Europe" price="5.000000"/>
<delivery id="delivery_5" id_shop="" id_group_shop="" id_carrier="My_carrier" id_range_price="range_price_1" id_range_weight="" id_zone="North_America" price="5.000000"/>
<delivery id="delivery_1" id_shop="" id_shop_group="" id_carrier="My_carrier" id_range_price="" id_range_weight="range_weight_1" id_zone="Europe" price="5.000000"/>
<delivery id="delivery_2" id_shop="" id_shop_group="" id_carrier="My_carrier" id_range_price="" id_range_weight="range_weight_1" id_zone="North_America" price="5.000000"/>
<delivery id="delivery_4" id_shop="" id_shop_group="" id_carrier="My_carrier" id_range_price="range_price_1" id_range_weight="" id_zone="Europe" price="5.000000"/>
<delivery id="delivery_5" id_shop="" id_shop_group="" id_carrier="My_carrier" id_range_price="range_price_1" id_range_weight="" id_zone="North_America" price="5.000000"/>
</entities>
</entity_delivery>
+2 -2
View File
@@ -2,7 +2,7 @@
<entity_orders>
<fields primary="id_order" class="Order">
<field name="reference"/>
<field name="id_group_shop"/>
<field name="id_shop_group"/>
<field name="id_shop"/>
<field name="id_carrier" relation="carrier"/>
<field name="id_customer" relation="customer"/>
@@ -41,7 +41,7 @@
<field name="valid"/>
</fields>
<entities>
<orders id="orders_1" reference="XKBKNABJ" id_group_shop="1" id_shop="1" id_carrier="My_carrier" id_customer="John" id_cart="cart_1" id_currency="1" id_address_delivery="Mon_adresse" id_address_invoice="Mon_adresse" current_state="1" secure_key="47ce86627c1f3c792a80773c5d2deaf8" conversion_rate="1.000000" recyclable="0" gift="0" shipping_number="" total_discounts="0.00" total_discounts_tax_incl="0.00" total_paid="626.37" total_paid_tax_incl="626.37" total_paid_tax_excl="523.72" total_paid_real="626.37" total_products="516.72" total_products_wt="618.00" total_shipping="7.98" total_shipping_tax_incl="8.37" total_shipping_tax_excl="7.00" carrier_tax_rate="19.600" total_wrapping="0.00" total_wrapping_tax_incl="0.00" total_wrapping_tax_excl="0.00" invoice_number="0" delivery_number="0" invoice_date="0000-00-00 00:00:00" delivery_date="0000-00-00 00:00:00" valid="0">
<orders id="orders_1" reference="XKBKNABJ" id_shop_group="1" id_shop="1" id_carrier="My_carrier" id_customer="John" id_cart="cart_1" id_currency="1" id_address_delivery="Mon_adresse" id_address_invoice="Mon_adresse" current_state="1" secure_key="47ce86627c1f3c792a80773c5d2deaf8" conversion_rate="1.000000" recyclable="0" gift="0" shipping_number="" total_discounts="0.00" total_discounts_tax_incl="0.00" total_paid="626.37" total_paid_tax_incl="626.37" total_paid_tax_excl="523.72" total_paid_real="626.37" total_products="516.72" total_products_wt="618.00" total_shipping="7.98" total_shipping_tax_incl="8.37" total_shipping_tax_excl="7.00" carrier_tax_rate="19.600" total_wrapping="0.00" total_wrapping_tax_incl="0.00" total_wrapping_tax_excl="0.00" invoice_number="0" delivery_number="0" invoice_date="0000-00-00 00:00:00" delivery_date="0000-00-00 00:00:00" valid="0">
<payment>Chèque</payment>
<module>cheque</module>
<gift_message/>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<entity_product_attribute>
<fields>
<fields class="Combination">
<field name="id_product" relation="product"/>
<field name="reference"/>
<field name="supplier_reference"/>
@@ -1,17 +0,0 @@
<?xml version="1.0"?>
<entity_product_tax_rules_group_shop>
<fields primary="id_product,id_tax_rules_group,id_shop">
<field name="id_product" relation="product"/>
<field name="id_tax_rules_group"/>
<field name="id_shop"/>
</fields>
<entities>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_1_1_1" id_product="iPod_Nano" id_tax_rules_group="1" id_shop="1"/>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_2_1_1" id_product="iPod_shuffle" id_tax_rules_group="1" id_shop="1"/>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_3_1_1" id_product="MacBook_Air" id_tax_rules_group="1" id_shop="1"/>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_4_1_1" id_product="MacBook" id_tax_rules_group="1" id_shop="1"/>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_5_1_1" id_product="iPod_touch" id_tax_rules_group="1" id_shop="1"/>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_6_1_1" id_product="Belkin_Leather_Folio_for_iPod_nano_-_Black_Chocolate" id_tax_rules_group="1" id_shop="1"/>
<product_tax_rules_group_shop id="product_tax_rules_group_shop_7_1_1" id_product="Shure_SE210_Sound-Isolating_Earphones_for_iPod_and_iPhone" id_tax_rules_group="1" id_shop="1"/>
</entities>
</entity_product_tax_rules_group_shop>
@@ -4,7 +4,7 @@
<field name="id_cart" relation="cart"/>
<field name="id_product" relation="product"/>
<field name="id_shop"/>
<field name="id_group_shop"/>
<field name="id_shop_group"/>
<field name="id_currency"/>
<field name="id_country" relation="country"/>
<field name="id_group" relation="group"/>
@@ -18,6 +18,6 @@
<field name="to"/>
</fields>
<entities>
<specific_price id="specific_price_1" id_cart="" id_product="iPod_Nano" id_shop="0" id_group_shop="0" id_currency="0" id_country="" id_group="" id_customer="" id_product_attribute="" price="0.000000" from_quantity="1" reduction="0.050000" reduction_type="percentage" from="0000-00-00 00:00:00" to="0000-00-00 00:00:00"/>
<specific_price id="specific_price_1" id_cart="" id_product="iPod_Nano" id_shop="0" id_shop_group="0" id_currency="0" id_country="" id_group="" id_customer="" id_product_attribute="" price="0.000000" from_quantity="1" reduction="0.050000" reduction_type="percentage" from="0000-00-00 00:00:00" to="0000-00-00 00:00:00"/>
</entities>
</entity_specific_price>
@@ -4,45 +4,45 @@
<field name="id_product" relation="product"/>
<field name="id_product_attribute" relation="product_attribute"/>
<field name="id_shop"/>
<field name="id_group_shop"/>
<field name="id_shop_group"/>
<field name="quantity"/>
<field name="depends_on_stock"/>
<field name="out_of_stock"/>
</fields>
<entities>
<stock_available id="stock_available_2" id_product="iPod_Nano" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="160" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_1" id_product="iPod_Nano" id_product_attribute="product_attribute_25" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_3" id_product="iPod_Nano" id_product_attribute="product_attribute_26" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_4" id_product="iPod_Nano" id_product_attribute="product_attribute_27" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_5" id_product="iPod_Nano" id_product_attribute="product_attribute_28" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_6" id_product="iPod_Nano" id_product_attribute="product_attribute_29" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_7" id_product="iPod_Nano" id_product_attribute="product_attribute_30" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_8" id_product="iPod_Nano" id_product_attribute="product_attribute_31" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_9" id_product="iPod_Nano" id_product_attribute="product_attribute_32" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_10" id_product="iPod_Nano" id_product_attribute="product_attribute_33" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_11" id_product="iPod_Nano" id_product_attribute="product_attribute_34" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_12" id_product="iPod_Nano" id_product_attribute="product_attribute_35" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_13" id_product="iPod_Nano" id_product_attribute="product_attribute_36" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_14" id_product="iPod_Nano" id_product_attribute="product_attribute_39" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_15" id_product="iPod_Nano" id_product_attribute="product_attribute_40" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_16" id_product="iPod_Nano" id_product_attribute="product_attribute_41" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_17" id_product="iPod_Nano" id_product_attribute="product_attribute_42" id_shop="1" id_group_shop="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_19" id_product="MacBook_Air" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="400" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_18" id_product="MacBook_Air" id_product_attribute="product_attribute_12" id_shop="1" id_group_shop="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_20" id_product="MacBook_Air" id_product_attribute="product_attribute_13" id_shop="1" id_group_shop="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_21" id_product="MacBook_Air" id_product_attribute="product_attribute_14" id_shop="1" id_group_shop="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_22" id_product="MacBook_Air" id_product_attribute="product_attribute_15" id_shop="1" id_group_shop="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_23" id_product="Belkin_Leather_Folio_for_iPod_nano_-_Black_Chocolate" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="25" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_25" id_product="iPod_shuffle" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="120" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_24" id_product="iPod_shuffle" id_product_attribute="product_attribute_7" id_shop="1" id_group_shop="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_26" id_product="iPod_shuffle" id_product_attribute="product_attribute_8" id_shop="1" id_group_shop="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_27" id_product="iPod_shuffle" id_product_attribute="product_attribute_9" id_shop="1" id_group_shop="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_28" id_product="iPod_shuffle" id_product_attribute="product_attribute_10" id_shop="1" id_group_shop="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_29" id_product="Shure_SE210_Sound-Isolating_Earphones_for_iPod_and_iPhone" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="15" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_30" id_product="MacBook" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="75" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_32" id_product="iPod_touch" id_product_attribute="" id_shop="1" id_group_shop="0" quantity="120" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_31" id_product="iPod_touch" id_product_attribute="product_attribute_19" id_shop="1" id_group_shop="0" quantity="40" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_33" id_product="iPod_touch" id_product_attribute="product_attribute_22" id_shop="1" id_group_shop="0" quantity="40" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_34" id_product="iPod_touch" id_product_attribute="product_attribute_23" id_shop="1" id_group_shop="0" quantity="40" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_2" id_product="iPod_Nano" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="160" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_1" id_product="iPod_Nano" id_product_attribute="product_attribute_25" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_3" id_product="iPod_Nano" id_product_attribute="product_attribute_26" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_4" id_product="iPod_Nano" id_product_attribute="product_attribute_27" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_5" id_product="iPod_Nano" id_product_attribute="product_attribute_28" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_6" id_product="iPod_Nano" id_product_attribute="product_attribute_29" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_7" id_product="iPod_Nano" id_product_attribute="product_attribute_30" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_8" id_product="iPod_Nano" id_product_attribute="product_attribute_31" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_9" id_product="iPod_Nano" id_product_attribute="product_attribute_32" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_10" id_product="iPod_Nano" id_product_attribute="product_attribute_33" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_11" id_product="iPod_Nano" id_product_attribute="product_attribute_34" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_12" id_product="iPod_Nano" id_product_attribute="product_attribute_35" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_13" id_product="iPod_Nano" id_product_attribute="product_attribute_36" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_14" id_product="iPod_Nano" id_product_attribute="product_attribute_39" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_15" id_product="iPod_Nano" id_product_attribute="product_attribute_40" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_16" id_product="iPod_Nano" id_product_attribute="product_attribute_41" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_17" id_product="iPod_Nano" id_product_attribute="product_attribute_42" id_shop="1" id_shop_group="0" quantity="10" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_19" id_product="MacBook_Air" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="400" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_18" id_product="MacBook_Air" id_product_attribute="product_attribute_12" id_shop="1" id_shop_group="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_20" id_product="MacBook_Air" id_product_attribute="product_attribute_13" id_shop="1" id_shop_group="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_21" id_product="MacBook_Air" id_product_attribute="product_attribute_14" id_shop="1" id_shop_group="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_22" id_product="MacBook_Air" id_product_attribute="product_attribute_15" id_shop="1" id_shop_group="0" quantity="100" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_23" id_product="Belkin_Leather_Folio_for_iPod_nano_-_Black_Chocolate" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="25" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_25" id_product="iPod_shuffle" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="120" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_24" id_product="iPod_shuffle" id_product_attribute="product_attribute_7" id_shop="1" id_shop_group="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_26" id_product="iPod_shuffle" id_product_attribute="product_attribute_8" id_shop="1" id_shop_group="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_27" id_product="iPod_shuffle" id_product_attribute="product_attribute_9" id_shop="1" id_shop_group="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_28" id_product="iPod_shuffle" id_product_attribute="product_attribute_10" id_shop="1" id_shop_group="0" quantity="30" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_29" id_product="Shure_SE210_Sound-Isolating_Earphones_for_iPod_and_iPhone" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="15" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_30" id_product="MacBook" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="75" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_32" id_product="iPod_touch" id_product_attribute="" id_shop="1" id_shop_group="0" quantity="120" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_31" id_product="iPod_touch" id_product_attribute="product_attribute_19" id_shop="1" id_shop_group="0" quantity="40" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_33" id_product="iPod_touch" id_product_attribute="product_attribute_22" id_shop="1" id_shop_group="0" quantity="40" depends_on_stock="0" out_of_stock="0"/>
<stock_available id="stock_available_34" id_product="iPod_touch" id_product_attribute="product_attribute_23" id_shop="1" id_shop_group="0" quantity="40" depends_on_stock="0" out_of_stock="0"/>
</entities>
</entity_stock_available>
+5 -5
View File
@@ -223,10 +223,10 @@ class InstallModelInstall extends InstallAbstractModel
public function createShop($shop_name)
{
// Create default group shop
$group_shop = new GroupShop();
$group_shop->name = 'Default';
$group_shop->active = true;
if (!$group_shop->add())
$shop_group = new ShopGroup();
$shop_group->name = 'Default';
$shop_group->active = true;
if (!$shop_group->add())
{
$this->setError($this->language->l('Cannot create group shop'));
return false;
@@ -235,7 +235,7 @@ class InstallModelInstall extends InstallAbstractModel
// Create default shop
$shop = new Shop();
$shop->active = true;
$shop->id_group_shop = $group_shop->id;
$shop->id_shop_group = $shop_group->id;
$shop->id_category = 2;
$shop->id_theme = 1;
$shop->name = $shop_name;
@@ -54,17 +54,17 @@ function create_multistore()
VALUES(1, \''.pSQL($shop_domain).'\', \''.pSQL($shop_domain_ssl).'\', \''.pSQL($_PS_DIRECTORY_).'\', \'\', 1, 1)');
// Stock conversion
$sql = 'INSERT INTO `'._DB_PREFIX_.'.stock` (`id_product`, `id_product_attribute`, `id_group_shop`, `id_shop`, `quantity`)
$sql = 'INSERT INTO `'._DB_PREFIX_.'.stock` (`id_product`, `id_product_attribute`, `id_shop_group`, `id_shop`, `quantity`)
VALUES (SELECT `p.id_product`, 0, 1, 1, `p.quantity` FROM `'._DB_PREFIX_.'.product` p);';
$res &= Db::getInstance()->execute($sql);
$sql = 'INSERT INTO `'._DB_PREFIX_.'.stock` (`id_product`, `id_product_attribute`, `id_group_shop`, `id_shop`, `quantity`)
$sql = 'INSERT INTO `'._DB_PREFIX_.'.stock` (`id_product`, `id_product_attribute`, `id_shop_group`, `id_shop`, `quantity`)
VALUES (SELECT `id_product`, `id_product_attribute`, 1, 1, `quantity` FROM `'._DB_PREFIX_.'product_attribute` p);';
$res &= Db::getInstance()->execute($sql);
// Add admin tabs
$shopTabId = add_new_tab('AdminShop', 'it:Shops|es:Shops|fr:Boutiques|de:Shops|en:Shops', 0, true);
add_new_tab('AdminGroupShop', 'it:Group Shops|es:Group Shops|fr:Groupes de boutique|de:Group Shops|en:Group Shops', $shopTabId);
add_new_tab('AdminShopGroup', 'it:Group Shops|es:Group Shops|fr:Groupes de boutique|de:Group Shops|en:Group Shops', $shopTabId);
add_new_tab('AdminShopUrl', 'it:Shop Urls|es:Shop Urls|fr:URLs de boutique|de:Shop Urls|en:Shop Urls', $shopTabId);
return $res;
@@ -32,7 +32,7 @@ function module_blockwishlist_multishop()
{
$res = Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'wishlist`
ADD `id_shop` INTEGER NOT NULL default \'1\' AFTER `counter`,
ADD `id_group_shop` INTEGER NOT NULL default \'1\' AFTER `id_shop`');
ADD `id_shop_group` INTEGER NOT NULL default \'1\' AFTER `id_shop`');
return $res;
}
@@ -28,7 +28,7 @@ function set_stock_available()
//add stock available for attributes
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'stock_available`
(`id_product`, `id_product_attribute`, `id_shop`, `id_group_shop`, `quantity`, `depends_on_stock`, `out_of_stock`)
(`id_product`, `id_product_attribute`, `id_shop`, `id_shop_group`, `quantity`, `depends_on_stock`, `out_of_stock`)
VALUES
("'.(int)$row['id_product'].'", "'.(int)$attribute['id_product_attribute'].'", "1", "0", "'.(int)$attribute['quantity'].'", "0", "'.(int)$row['out_of_stock'].'")
');
@@ -43,7 +43,7 @@ function set_stock_available()
//Add stock available for product
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'stock_available`
(`id_product`, `id_product_attribute`, `id_shop`, `id_group_shop`, `quantity`, `depends_on_stock`, `out_of_stock`)
(`id_product`, `id_product_attribute`, `id_shop`, `id_shop_group`, `quantity`, `depends_on_stock`, `out_of_stock`)
VALUES
("'.(int)$row['id_product'].'", "0", "1", "0", "'.(int)$quantity.'", "0", "'.(int)$row['out_of_stock'].'")
');
+10 -10
View File
@@ -1,38 +1,38 @@
SET NAMES 'utf8';
CREATE TABLE IF NOT EXISTS `PREFIX_group_shop` (
`id_group_shop` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_shop_group` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) CHARACTER SET utf8 NOT NULL,
`share_customer` TINYINT(1) NOT NULL,
`share_order` TINYINT(1) NOT NULL,
`share_stock` TINYINT(1) NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_group_shop`)
PRIMARY KEY (`id_shop_group`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
INSERT INTO `PREFIX_group_shop` (`id_group_shop`, `name`, `active`, `deleted`, `share_stock`, `share_customer`, `share_order`) VALUES (1, 'Default', 1, 0, 0, 0, 0);
INSERT INTO `PREFIX_group_shop` (`id_shop_group`, `name`, `active`, `deleted`, `share_stock`, `share_customer`, `share_order`) VALUES (1, 'Default', 1, 0, 0, 0, 0);
CREATE TABLE IF NOT EXISTS `PREFIX_shop` (
`id_shop` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id_group_shop` int(11) unsigned NOT NULL,
`id_shop_group` int(11) unsigned NOT NULL,
`name` varchar(64) CHARACTER SET utf8 NOT NULL,
`id_category` INT(11) UNSIGNED NOT NULL DEFAULT '1',
`id_theme` INT(1) UNSIGNED NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
`deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id_shop`),
KEY `id_group_shop` (`id_group_shop`),
KEY `id_shop_group` (`id_shop_group`),
KEY `id_category` (`id_category`),
KEY `id_theme` (`id_theme`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
INSERT INTO `PREFIX_shop`
(`id_shop`, `id_group_shop`, `name`, `id_category`, `id_theme`, `active`, `deleted`)
(`id_shop`, `id_shop_group`, `name`, `id_category`, `id_theme`, `active`, `deleted`)
VALUES
(1, 1, (SELECT value FROM `PREFIX_configuration` WHERE name = 'PS_SHOP_NAME'), 1, 1, 1, 0);
ALTER TABLE `PREFIX_configuration` ADD `id_group_shop` INT(11) UNSIGNED DEFAULT NULL AFTER `id_configuration` , ADD `id_shop` INT(11) UNSIGNED DEFAULT NULL AFTER `id_group_shop`;
ALTER TABLE `PREFIX_configuration` ADD `id_shop_group` INT(11) UNSIGNED DEFAULT NULL AFTER `id_configuration` , ADD `id_shop` INT(11) UNSIGNED DEFAULT NULL AFTER `id_shop_group`;
ALTER TABLE `PREFIX_configuration` DROP INDEX `name` , ADD INDEX `name` ( `name` ) ;
ALTER TABLE `PREFIX_configuration` ADD INDEX (`id_group_shop`);
ALTER TABLE `PREFIX_configuration` ADD INDEX (`id_shop_group`);
ALTER TABLE `PREFIX_configuration` ADD INDEX (`id_shop`);
INSERT INTO `PREFIX_configuration` (`id_configuration`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, 'PS_SHOP_DEFAULT', '1', NOW(), NOW());
@@ -123,9 +123,9 @@ CREATE TABLE `PREFIX_currency_shop` (
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
INSERT INTO `PREFIX_currency_shop` (id_shop, id_currency) (SELECT 1, id_currency FROM PREFIX_currency);
ALTER TABLE `PREFIX_cart` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_cart` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`, ADD INDEX `id_group_shop` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`);
ALTER TABLE `PREFIX_cart` ADD `id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_cart` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_shop_group`, ADD INDEX `id_shop_group` (`id_shop_group`), ADD INDEX `id_shop` (`id_shop`);
ALTER TABLE `PREFIX_customer` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_customer` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`, ADD INDEX `id_group_shop` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`);
ALTER TABLE `PREFIX_customer` ADD `id_shop_group` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_customer` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_shop_group`, ADD INDEX `id_shop_group` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`);
ALTER TABLE `PREFIX_orders` ADD `id_group_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_order` , ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_group_shop`, ADD INDEX `id_group_shop` (`id_group_shop`), ADD INDEX `id_shop` (`id_shop`);
+138 -1
View File
@@ -2,4 +2,141 @@
ALTER TABLE `PREFIX_supplier` DROP `id_address`;
UPDATE `PREFIX_meta` SET `page` = 'contact' WHERE `page` = 'contact-form';
UPDATE `PREFIX_meta` SET `page` = 'contact' WHERE `page` = 'contact-form';
RENAME TABLE `PREFIX_group_shop` TO `PREFIX_shop_group`;
ALTER TABLE `PREFIX_shop_group` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `PREFIX_shop` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_stock_available` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_cart` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_configuration` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_connections` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_customer` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_delivery` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_orders` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_page_viewed` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_specific_price` CHANGE `id_group_shop` `id_shop_group` INT( 11 ) UNSIGNED NOT NULL;
ALTER TABLE `PREFIX_product` ADD `id_tax_rules_group` int(10) unsigned NOT NULL;
CREATE TABLE IF NOT EXISTS `PREFIX_product_shop_TMP` (
`id_product` int(10) unsigned NOT NULL,
`id_shop` int(10) unsigned NOT NULL,
`id_category_default` int(10) unsigned DEFAULT NULL,
`id_tax_rules_group` INT(11) UNSIGNED NOT NULL,
`on_sale` tinyint(1) unsigned NOT NULL DEFAULT '0',
`online_only` tinyint(1) unsigned NOT NULL DEFAULT '0',
`ecotax` decimal(17,6) NOT NULL DEFAULT '0.000000',
`minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1',
`price` decimal(20,6) NOT NULL DEFAULT '0.000000',
`wholesale_price` decimal(20,6) NOT NULL DEFAULT '0.000000',
`unity` varchar(255) DEFAULT NULL,
`unit_price_ratio` decimal(20,6) NOT NULL DEFAULT '0.000000',
`additional_shipping_cost` decimal(20,2) NOT NULL DEFAULT '0.00',
`customizable` tinyint(2) NOT NULL DEFAULT '0',
`text_fields` tinyint(4) NOT NULL DEFAULT '0',
`active` tinyint(1) unsigned NOT NULL DEFAULT '0',
`available_for_order` tinyint(1) NOT NULL DEFAULT '1',
`available_date` date NOT NULL,
`condition` enum('new','used','refurbished') NOT NULL DEFAULT 'new',
`show_price` tinyint(1) NOT NULL DEFAULT '1',
`indexed` tinyint(1) NOT NULL DEFAULT '0',
`visibility` enum('both','catalog','search','none') NOT NULL DEFAULT 'both',
`cache_default_attribute` int(10) unsigned DEFAULT NULL,
`advanced_stock_management` tinyint(1) default '0' NOT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
PRIMARY KEY (`id_product`, `id_shop`),
KEY `id_category_default` (`id_category_default`),
KEY `date_add` (`date_add`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
INSERT INTO `PREFIX_product_shop_TMP` (`id_product`, `id_shop`, `id_category_default`, `on_sale`, `online_only`, `ecotax`, `minimal_quantity`, `price`, `wholesale_price`, `unity`, `unit_price_ratio`, `additional_shipping_cost`, `customizable`, `text_fields`, `active`, `available_for_order`, `available_date`, `condition`, `show_price`, `indexed`, `visibility`, `cache_default_attribute`, `advanced_stock_management`, `date_add`, `date_upd`, `id_tax_rules_group`)
(SELECT a.`id_product`, a.`id_shop`, b.`id_category_default`, b.`on_sale`, b.`online_only`, b.`ecotax`, b.`minimal_quantity`, b.`price`, b.`wholesale_price`, b.`unity`, b.`unit_price_ratio`, b.`additional_shipping_cost`, b.`customizable`, b.`text_fields`, b.`active`, b.`available_for_order`, b.`available_date`, b.`condition`, b.`show_price`, b.`indexed`, b.`visibility`, b.`cache_default_attribute`, b.`advanced_stock_management`, b.`date_add`, b.`date_upd`, c.`id_tax_rules_group` FROM `PREFIX_product_shop` a INNER JOIN `PREFIX_product` b ON a.id_product = b.id_product LEFT JOIN `PREFIX_product_tax_rules_group_shop` c ON b.id_product = c.id_product AND a.id_shop = c.id_shop);
DROP TABLE `PREFIX_product_shop`;
DROP TABLE `PREFIX_product_tax_rules_group_shop`;
RENAME TABLE `PREFIX_product_shop_TMP` TO `PREFIX_product_shop`;
CREATE TABLE `PREFIX_product_attribute_shop` (
`id_product_attribute` int(10) unsigned NOT NULL,
`id_shop` int(10) unsigned NOT NULL,
`wholesale_price` decimal(20,6) NOT NULL default '0.000000',
`price` decimal(20,6) NOT NULL default '0.000000',
`ecotax` decimal(17,6) NOT NULL default '0.00',
`unit_price_impact` decimal(17,2) NOT NULL default '0.00',
`default_on` tinyint(1) unsigned NOT NULL default '0',
`minimal_quantity` int(10) unsigned NOT NULL DEFAULT '1',
`available_date` date NOT NULL,
PRIMARY KEY (`id_product_attribute`, `id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
INSERT INTO `PREFIX_product_attribute_shop` (`id_product_attribute`, `id_shop`, `wholesale_price`, `price`, `ecotax`, `unit_price_impact`, `default_on`, `minimal_quantity`, `available_date`) (SELECT `id_product_attribute`, (SELECT `value` FROM `PREFIX_configuration` WHERE `name` = 'PS_SHOP_DEFAULT'), `wholesale_price`, `price`, `ecotax`, `unit_price_impact`, `default_on`, `minimal_quantity`, `available_date` FROM `PREFIX_product_attribute`);
INSERT INTO `PREFIX_attribute_shop` (`id_attribute`, `id_shop`) (SELECT a.id_attribute, c.id_shop FROM PREFIX_attribute_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_attribute_shop` (
`id_attribute` INT(11) UNSIGNED NOT NULL,
`id_shop` INT(11) UNSIGNED NOT NULL,
PRIMARY KEY (`id_attribute`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_attribute_group_shop`;
INSERT INTO `PREFIX_feature_shop` (`id_feature`, `id_shop`) (SELECT a.id_feature, c.id_shop FROM PREFIX_feature_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_feature_shop` (
`id_feature` INT(11) UNSIGNED NOT NULL,
`id_shop` INT(11) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_feature`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_feature_group_shop`;
INSERT INTO `PREFIX_group_shop` (`id_group`, `id_shop`) (SELECT a.id_group, c.id_shop FROM PREFIX_group_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_group_shop` (
`id_group` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_group`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_group_group_shop`;
INSERT INTO `PREFIX_attribute_group_shop` (`id_attribute_group`, `id_shop`) (SELECT a.id_attribute_group, c.id_shop FROM PREFIX_attribute_group_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_attribute_group_shop` (
`id_attribute_group` INT( 11 ) UNSIGNED NOT NULL ,
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_attribute_group`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_attribute_group_group_shop`;
INSERT INTO `PREFIX_tax_rules_group_shop` (`id_tax_rules_group`, `id_shop`) (SELECT a.id_tax_rules_group, c.id_shop FROM PREFIX_tax_rules_group_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_tax_rules_group_shop` (
`id_tax_rules_group` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_tax_rules_group`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_tax_rules_group_group_shop`;
INSERT INTO `PREFIX_zone_shop` (`id_zone`, `id_shop`) (SELECT a.id_zone, c.id_shop FROM PREFIX_zone_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_zone_shop` (
`id_zone` INT( 11 ) UNSIGNED NOT NULL ,
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_zone`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_zone_group_shop`;
INSERT INTO `PREFIX_manufacturer_shop` (`id_manufacturer`, `id_shop`) (SELECT a.id_manufacturer, c.id_shop FROM PREFIX_manufacturer_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_manufacturer_shop` (
`id_manufacturer` INT( 11 ) UNSIGNED NOT NULL ,
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_manufacturer`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_manufacturer_group_shop`;
INSERT INTO `PREFIX_supplier_shop` (`id_supplier`, `id_shop`) (SELECT a.id_supplier, c.id_shop FROM PREFIX_supplier_group_shop a LEFT JOIN PREFIX_shop_group b ON a.id_group_shop = b.id_shop_group INNER JOIN PREFIX_shop c ON b.id_shop_group = c.id_shop_group);
CREATE TABLE `PREFIX_supplier_shop` (
`id_supplier` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL,
PRIMARY KEY (`id_supplier`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
DROP TABLE `PREFIX_supplier_group_shop`;
-1
View File
@@ -19,7 +19,6 @@ CREATE TABLE `PREFIX_product_tax_rules_group_shop` (
INSERT INTO `PREFIX_product_tax_rules_group_shop` (`id_product`, `id_tax_rules_group`, `id_shop`)
(SELECT `id_product`, `id_tax_rules_group`, `id_shop` FROM `PREFIX_product`, `PREFIX_shop`);
ALTER TABLE `PREFIX_product` DROP `id_tax_rules_group`;
CREATE TABLE `PREFIX_carrier_tax_rules_group_shop` (
`id_carrier` int( 11 ) unsigned NOT NULL,