[*] BO : categories multishop improved

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@12557 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
vChabot committed 2012-01-19 14:03:33 +00:00
1 parent 6dfdc62f4d
commit 6806cdeab3
15 files changed
+163 -92

No files matched your search

@@ -0,0 +1,44 @@
<?php
function generate_root_category_for_multishop()
{
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'category` SET `level_depth`=`level_depth`+1
');
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'category` (`id_parent`, `level_depth`, `active`, `date_add`, `date_upd`, `is_root_category`) VALUES
(0, 0, 1, NOW(), NOW(), 0)
');
$id = Db::getInstance()->Insert_ID();
$langs = Db::getInstance()->executeS('
SELECT `id_lang`
FROM `'._DB_PREFIX_.'lang`
');
$shops = Db::getInstance()->executeS('
SELECT `id_shop`
FROM `'._DB_PREFIX_.'shop`
');
$data = array();
foreach ($langs as $lang)
foreach ($shops as $shop)
$data[] = array(
'id_lang' => $lang['id_lang'],
'id_shop' => $shop['id_shop'],
'id_category' => $id,
'name' => 'Root',
'link_rewrite' => '',
);
Db::getInstance()->autoExecute(_DB_PREFIX_.'category_lang', $data, 'INSERT');
Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'category`
SET `id_parent` = '.(int)$id.'
WHERE `id_parent` = 0 AND `id_category` <> '.(int)$id.'
');
Category::regenerateEntireNtree();
}
+11
View File
@@ -18,3 +18,14 @@ WHERE `name` = "order fenced" AND (`id_lang` = 1 OR `id_lang` = 3 OR `id_lang` =
UPDATE `PREFIX_supply_order_state_lang`
SET `name` = "Commande cloturée"
WHERE `name` = "order fenced" AND id_lang = 2;
CREATE TABLE `PREFIX_category_shop` (
`id_category` int(11) NOT NULL,
`id_shop` int(11) NOT NULL,
PRIMARY KEY (`id_category`, `id_shop`),
UNIQUE KEY `id_category_shop` (`id_category`,`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
/* PHP:generate_root_category_for_multishop(); */;