diff --git a/classes/Referrer.php b/classes/Referrer.php index bf90593eb..8639443c7 100644 --- a/classes/Referrer.php +++ b/classes/Referrer.php @@ -252,6 +252,7 @@ class ReferrerCore extends ObjectModel * * @param array $referrers * @param int $employee + * @return true */ public static function refreshCache($referrers = null, $employee = null) { @@ -265,7 +266,6 @@ class ReferrerCore extends ObjectModel if (!$referrer->isAssociatedToShop($shop_id)) continue; - $shop = new Shop($shop_id); $stats_visits = $referrer->getStatsVisits(null, $employee); $registrations = $referrer->getRegistrations(null, $employee); $stats_sales = $referrer->getStatsSales(null, $employee); diff --git a/classes/controller/Controller.php b/classes/controller/Controller.php index 7d56d2a02..af4861b19 100644 --- a/classes/controller/Controller.php +++ b/classes/controller/Controller.php @@ -313,12 +313,12 @@ abstract class ControllerCore /** * Add a new javascript file in page header. * - * @param mixed $js_uri + * @param mixed $name + * @param mixed $folder * @return void */ public function addJqueryPlugin($name, $folder = null) { - $plugin_path = array(); if (is_array($name)) { foreach ($name as $plugin) @@ -334,10 +334,10 @@ abstract class ControllerCore { $plugin_path = Media::getJqueryPluginPath($name, $folder); - if(!empty($plugin_path['css'])) - $this->addCSS($plugin_path['css']); - if(!empty($plugin_path['js'])) - $this->addJS($plugin_path['js']); + if(!empty($plugin_path['css'])) + $this->addCSS($plugin_path['css']); + if(!empty($plugin_path['js'])) + $this->addJS($plugin_path['js']); } } diff --git a/classes/controller/FrontController.php b/classes/controller/FrontController.php index 943ee39cd..5771606de 100644 --- a/classes/controller/FrontController.php +++ b/classes/controller/FrontController.php @@ -273,7 +273,7 @@ class FrontControllerCore extends Controller else { $page_name = Dispatcher::getInstance()->getController(); - $page_name = (preg_match('/^[0-9]/', $page_name)) ? 'page_'.$page_name : $page_name; + $page_name = (preg_match('/^[0-9]/', $page_name) ? 'page_'.$page_name : $page_name); } $this->context->smarty->assign(Meta::getMetaTags($this->context->language->id, $page_name)); @@ -346,7 +346,8 @@ class FrontControllerCore extends Controller 'PS_STOCK_MANAGEMENT' => Configuration::get('PS_STOCK_MANAGEMENT'), 'quick_view' => Configuration::get('PS_QUICK_VIEW'), 'shop_phone' => Configuration::get('PS_SHOP_PHONE'), - 'compared_products' => is_array($compared_products) ? $compared_products : array() + 'compared_products' => is_array($compared_products) ? $compared_products : array(), + 'comparator_max_item' => (int)Configuration::get('PS_COMPARATOR_MAX_ITEM') )); // Add the tpl files directory for mobile @@ -757,6 +758,8 @@ class FrontControllerCore extends Controller $this->addjqueryPlugin('fancybox'); $this->addJS(_THEME_JS_DIR_.'quick-view.js'); } + if (Configuration::get('PS_COMPARATOR_MAX_ITEM') > 0) + $this->addJS(_THEME_JS_DIR_.'products-comparison.js'); // Execute Hook FrontController SetMedia Hook::exec('actionFrontControllerSetMedia', array()); diff --git a/controllers/admin/AdminModulesController.php b/controllers/admin/AdminModulesController.php index 34ca493ff..94c66caa4 100644 --- a/controllers/admin/AdminModulesController.php +++ b/controllers/admin/AdminModulesController.php @@ -705,7 +705,6 @@ class AdminModulesControllerCore extends AdminController $disable_link = $this->context->link->getAdminLink('AdminModules').'&module_name='.$module->name.'&enable=0&tab_module='.$module->tab; $uninstall_link = $this->context->link->getAdminLink('AdminModules').'&module_name='.$module->name.'&uninstall='.$module->name.'&tab_module='.$module->tab; $reset_link = $this->context->link->getAdminLink('AdminModules').'&module_name='.$module->name.'&reset&tab_module='.$module->tab; - $update_link = $this->context->link->getAdminLink('AdminModules').'&check_and_update='.$module->name.'&module_name='.$module->name.'&reset&tab_module='.$module->tab; $this->context->smarty->assign(array( 'module_name' => $module->name, @@ -715,7 +714,7 @@ class AdminModulesControllerCore extends AdminController 'module_disable_link' => $disable_link, 'module_uninstall_link' => $uninstall_link, 'module_reset_link' => $reset_link, - 'module_update_link' => (Module::needUpgrade($module) ? $update_link : null), + 'module_update_link' => null, //TODO 'trad_link' => $trad_link, 'module_languages' => Language::getLanguages(false), 'theme_language_dir' => _THEME_LANG_DIR_ @@ -751,7 +750,7 @@ class AdminModulesControllerCore extends AdminController // Display module configuration $header = $this->context->smarty->fetch('controllers/modules/configure.tpl'); $configuration_bar = $this->context->smarty->fetch('controllers/modules/configuration_bar.tpl'); - $this->context->smarty->assign('module_content', $header.$configuration_bar.$echo ); + $this->context->smarty->assign('module_content', $header.$echo.$configuration_bar ); } elseif ($echo === true) { diff --git a/controllers/admin/AdminTranslationsController.php b/controllers/admin/AdminTranslationsController.php index 781581eca..02f8a238f 100644 --- a/controllers/admin/AdminTranslationsController.php +++ b/controllers/admin/AdminTranslationsController.php @@ -207,8 +207,8 @@ class AdminTranslationsControllerCore extends AdminController $packs_to_update = array(); $token = Tools::getAdminToken('AdminLanguages'.(int)Tab::getIdFromClassName('AdminLanguages').(int)$this->context->employee->id); $file_name = $this->link_lang_pack.'?version='._PS_VERSION_; - $array_stream_context = array('http' => array('method' => 'GET', 'timeout' => 5)); - if ($lang_packs = Tools::file_get_contents($file_name, false, @stream_context_create($array_stream_context))) + $array_stream_context = @stream_context_create(array('http' => array('method' => 'GET', 'timeout' => 8))); + if ($lang_packs = Tools::file_get_contents($file_name, false, $array_stream_context)) // Notice : for php < 5.2 compatibility, Tools::jsonDecode. The second parameter to true will set us if ($lang_packs != '' && $lang_packs = Tools::jsonDecode($lang_packs, true)) foreach ($lang_packs as $key => $lang_pack) @@ -768,7 +768,8 @@ class AdminTranslationsControllerCore extends AdminController $arr_import_lang = explode('|', Tools::getValue('params_import_language')); /* 0 = Language ISO code, 1 = PS version */ if (Validate::isLangIsoCode($arr_import_lang[0])) { - $content = Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/gzip/'.$arr_import_lang[1].'/'.Tools::strtolower($arr_import_lang[0]).'.gzip'); + $array_stream_context = @stream_context_create(array('http' => array('method' => 'GET', 'timeout' => 10))); + $content = Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/gzip/'.$arr_import_lang[1].'/'.Tools::strtolower($arr_import_lang[0]).'.gzip', false, $array_stream_context); if ($content) { $file = _PS_TRANSLATIONS_DIR_.$arr_import_lang[0].'.gzip'; diff --git a/install-dev/classes/xmlLoader.php b/install-dev/classes/xmlLoader.php index c2ca37576..8e3bd7a6a 100644 --- a/install-dev/classes/xmlLoader.php +++ b/install-dev/classes/xmlLoader.php @@ -84,7 +84,7 @@ class InstallXmlLoader public function setFixturesPath($path = null) { if ($path === null) - $path = _PS_INSTALL_FIXTURES_PATH_.'apple/'; + $path = _PS_INSTALL_FIXTURES_PATH_.'fashion/'; $this->path_type = 'fixture'; $this->data_path = $path.'data/'; @@ -595,7 +595,7 @@ class InstallXmlLoader $dst_path = _PS_IMG_DIR_.$p.'/'; $entity_id = $this->retrieveId($entity, $identifier); - if (!copy($from_path.$identifier.'.'.$extension, $dst_path.$entity_id.'.'.$extension)) + if (!@copy($from_path.$identifier.'.'.$extension, $dst_path.$entity_id.'.'.$extension)) { $this->setError($this->language->l('Cannot create image "%1$s" for entity "%2$s"', $identifier, $entity)); return; diff --git a/install-dev/controllers/http/process.php b/install-dev/controllers/http/process.php index 49aaf5a3e..ab165af68 100644 --- a/install-dev/controllers/http/process.php +++ b/install-dev/controllers/http/process.php @@ -392,4 +392,3 @@ class InstallControllerHttpProcess extends InstallControllerHttp $this->displayTemplate('process'); } } - diff --git a/install-dev/data/theme.sql b/install-dev/data/theme.sql index 6e746f123..ad8ed728e 100644 --- a/install-dev/data/theme.sql +++ b/install-dev/data/theme.sql @@ -49,8 +49,8 @@ UPDATE `PREFIX_configuration` SET value = '1' WHERE name = 'FOOTER_POWEREDBY'; UPDATE `PREFIX_configuration` SET value = 'http://www.prestashop.com' WHERE name = 'BLOCKADVERT_LINK'; UPDATE `PREFIX_configuration` SET value = 'store.jpg' WHERE name = 'BLOCKSTORE_IMG'; UPDATE `PREFIX_configuration` SET value = 'jpg' WHERE name = 'BLOCKADVERT_IMG_EXT'; -UPDATE `PREFIX_configuration` SET value = 'CAT2,CAT3,CAT4' WHERE name = 'MOD_BLOCKTOPMENU_ITEMS'; -UPDATE `PREFIX_configuration` SET value = '' WHERE name = 'MOD_BLOCKTOPMENU_SEARCH'; +UPDATE `PREFIX_configuration` SET value = 'CAT3,CAT26' WHERE name = 'MOD_BLOCKTOPMENU_ITEMS'; +UPDATE `PREFIX_configuration` SET value = '0' WHERE name = 'MOD_BLOCKTOPMENU_SEARCH'; UPDATE `PREFIX_configuration` SET value = 'http://www.facebook.com/prestashop' WHERE name = 'blocksocial_facebook'; UPDATE `PREFIX_configuration` SET value = 'http://www.twitter.com/prestashop' WHERE name = 'blocksocial_twitter'; UPDATE `PREFIX_configuration` SET value = 'http://www.prestashop.com/blog/en/feed/' WHERE name = 'blocksocial_rss'; @@ -90,9 +90,14 @@ UPDATE `PREFIX_hook_module` SET position = 4 WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blockcart') AND id_hook = @id_hook; +UPDATE `PREFIX_hook_module` SET position = 5 +WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'homeslider') +AND id_hook = @id_hook; + /* displayHomeTab && displayHomeTabContent */ SET @id_hook = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHomeTab'); SET @id_hook2 = (SELECT id_hook FROM `PREFIX_hook` WHERE name = 'displayHomeTabContent'); + UPDATE `PREFIX_hook_module` SET position = 1 WHERE id_module = (SELECT id_module FROM `PREFIX_module` WHERE name = 'blocknewproducts') AND id_hook IN (@id_hook, @id_hook2); diff --git a/install-dev/data/xml/image_type.xml b/install-dev/data/xml/image_type.xml index aca196f03..45ccb3a62 100644 --- a/install-dev/data/xml/image_type.xml +++ b/install-dev/data/xml/image_type.xml @@ -18,7 +18,7 @@ - + diff --git a/install-dev/fixtures/fashion/data/category.xml b/install-dev/fixtures/fashion/data/category.xml index b0abca3d3..9cc28d7a4 100644 --- a/install-dev/fixtures/fashion/data/category.xml +++ b/install-dev/fixtures/fashion/data/category.xml @@ -7,11 +7,11 @@ - - - - - + + + + + @@ -28,6 +28,6 @@ - + diff --git a/install-dev/fixtures/fashion/data/category_product.xml b/install-dev/fixtures/fashion/data/category_product.xml index f8cb99c4f..cecf2efcb 100644 --- a/install-dev/fixtures/fashion/data/category_product.xml +++ b/install-dev/fixtures/fashion/data/category_product.xml @@ -6,16 +6,55 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/fixtures/fashion/data/generate_attribute.php b/install-dev/fixtures/fashion/data/generate_attribute.php new file mode 100644 index 000000000..2e002a59f --- /dev/null +++ b/install-dev/fixtures/fashion/data/generate_attribute.php @@ -0,0 +1,53 @@ + array( + 'Color' => array('Grey'), + 'Size' => array('S', 'M', 'L') + ) +); + +$content_product_attribute = ''; +$content_product_attribute_combination = ''; + +foreach ($products as $product => $attribute_groups) +{ + $default_on = 1; + $pa_id = 1; + $combinations = createCombinations($attribute_groups); + + $pa_id = 1; + $pac_id = 1; + foreach ($combinations as $attributes) + { + foreach ($attributes as $attribute_value) + { + $content_product_attribute_combination .= ''."\n"; + ++$pac_id; + } + $content_product_attribute .= ''."\n"; + $default_on = 0; + + ++$pa_id; + } +} + +echo "This is an XML file, look at the source!\n\n"; +echo $content_product_attribute; +echo "\n\n"; +echo $content_product_attribute_combination; + +function createCombinations($list) +{ + if (count($list) <= 1) + return count($list) ? array_map(create_function('$v', 'return (array($v));'), array_shift($list)) : $list; + $res = array(); + $first = array_pop($list); + foreach ($first as $attribute) + { + $tab = createCombinations($list); + foreach ($tab as $to_add) + $res[] = is_array($to_add) ? array_merge($to_add, array($attribute)) : array($to_add, $attribute); + } + return $res; +} \ No newline at end of file diff --git a/install-dev/fixtures/fashion/data/image.xml b/install-dev/fixtures/fashion/data/image.xml index bf36816ab..4d2703162 100644 --- a/install-dev/fixtures/fashion/data/image.xml +++ b/install-dev/fixtures/fashion/data/image.xml @@ -6,7 +6,7 @@ - + diff --git a/install-dev/fixtures/fashion/data/product.xml b/install-dev/fixtures/fashion/data/product.xml index ea24d0e17..532d4ce28 100644 --- a/install-dev/fixtures/fashion/data/product.xml +++ b/install-dev/fixtures/fashion/data/product.xml @@ -43,183 +43,183 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/install-dev/fixtures/fashion/data/product_attribute.xml b/install-dev/fixtures/fashion/data/product_attribute.xml index a6fc0763e..be67991f9 100644 --- a/install-dev/fixtures/fashion/data/product_attribute.xml +++ b/install-dev/fixtures/fashion/data/product_attribute.xml @@ -18,86 +18,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/install-dev/fixtures/fashion/data/product_attribute_combination.xml b/install-dev/fixtures/fashion/data/product_attribute_combination.xml index 3c6f67ff2..d248b609a 100644 --- a/install-dev/fixtures/fashion/data/product_attribute_combination.xml +++ b/install-dev/fixtures/fashion/data/product_attribute_combination.xml @@ -4,57 +4,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + diff --git a/install-dev/fixtures/fashion/img/c/Accessories.jpg b/install-dev/fixtures/fashion/img/c/Accessories.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Accessories.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Belts.jpg b/install-dev/fixtures/fashion/img/c/Belts.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Belts.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Blazers.jpg b/install-dev/fixtures/fashion/img/c/Blazers.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Blazers.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Blouses.jpg b/install-dev/fixtures/fashion/img/c/Blouses.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Blouses.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Casual_Dresses.jpg b/install-dev/fixtures/fashion/img/c/Casual_Dresses.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Casual_Dresses.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Coats.jpg b/install-dev/fixtures/fashion/img/c/Coats.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Coats.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Coats_and_Jackets.jpg b/install-dev/fixtures/fashion/img/c/Coats_and_Jackets.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Coats_and_Jackets.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Dresses.jpg b/install-dev/fixtures/fashion/img/c/Dresses.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Dresses.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Evening_Dresses.jpg b/install-dev/fixtures/fashion/img/c/Evening_Dresses.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Evening_Dresses.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Handbags.jpg b/install-dev/fixtures/fashion/img/c/Handbags.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Handbags.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Hats.jpg b/install-dev/fixtures/fashion/img/c/Hats.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Hats.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Jackets.jpg b/install-dev/fixtures/fashion/img/c/Jackets.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Jackets.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Leather_Jackets.jpg b/install-dev/fixtures/fashion/img/c/Leather_Jackets.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Leather_Jackets.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Men.jpg b/install-dev/fixtures/fashion/img/c/Men.jpg new file mode 100644 index 000000000..cac9d4776 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Men.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Pants.jpg b/install-dev/fixtures/fashion/img/c/Pants.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Pants.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Puffer_Jackets.jpg b/install-dev/fixtures/fashion/img/c/Puffer_Jackets.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Puffer_Jackets.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Shoes.jpg b/install-dev/fixtures/fashion/img/c/Shoes.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Shoes.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Skinny_Cut.jpg b/install-dev/fixtures/fashion/img/c/Skinny_Cut.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Skinny_Cut.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Straight_Cut.jpg b/install-dev/fixtures/fashion/img/c/Straight_Cut.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Straight_Cut.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Summer_Dresses.jpg b/install-dev/fixtures/fashion/img/c/Summer_Dresses.jpg new file mode 100644 index 000000000..565d00aa1 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Summer_Dresses.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/T-shirts.jpg b/install-dev/fixtures/fashion/img/c/T-shirts.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/T-shirts.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Tops.jpg b/install-dev/fixtures/fashion/img/c/Tops.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Tops.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Tops_2.jpg b/install-dev/fixtures/fashion/img/c/Tops_2.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Tops_2.jpg differ diff --git a/install-dev/fixtures/fashion/img/c/Women.jpg b/install-dev/fixtures/fashion/img/c/Women.jpg new file mode 100644 index 000000000..9fa79bb96 Binary files /dev/null and b/install-dev/fixtures/fashion/img/c/Women.jpg differ diff --git a/install-dev/fixtures/fashion/img/m/Fashion_Manufacturer.jpg b/install-dev/fixtures/fashion/img/m/Fashion_Manufacturer.jpg new file mode 100644 index 000000000..ee8c80dd8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/m/Fashion_Manufacturer.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562-cart_default.jpg b/install-dev/fixtures/fashion/img/p/51748562-cart_default.jpg new file mode 100644 index 000000000..83bcf1672 Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562-cart_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562-home_default.jpg b/install-dev/fixtures/fashion/img/p/51748562-home_default.jpg new file mode 100644 index 000000000..0a08f4e11 Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562-home_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562-large_default.jpg b/install-dev/fixtures/fashion/img/p/51748562-large_default.jpg new file mode 100644 index 000000000..001c80248 Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562-large_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562-medium_default.jpg b/install-dev/fixtures/fashion/img/p/51748562-medium_default.jpg new file mode 100644 index 000000000..76a78a25d Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562-small_default.jpg b/install-dev/fixtures/fashion/img/p/51748562-small_default.jpg new file mode 100644 index 000000000..996e71f4c Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562-small_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562-thickbox_default.jpg b/install-dev/fixtures/fashion/img/p/51748562-thickbox_default.jpg new file mode 100644 index 000000000..d6fea3ebf Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562-thickbox_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/51748562.jpg b/install-dev/fixtures/fashion/img/p/51748562.jpg new file mode 100644 index 000000000..d6fea3ebf Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/51748562.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654-cart_default.jpg b/install-dev/fixtures/fashion/img/p/52817654-cart_default.jpg new file mode 100644 index 000000000..d1b55754b Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654-cart_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654-home_default.jpg b/install-dev/fixtures/fashion/img/p/52817654-home_default.jpg new file mode 100644 index 000000000..770499a63 Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654-home_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654-large_default.jpg b/install-dev/fixtures/fashion/img/p/52817654-large_default.jpg new file mode 100644 index 000000000..70a2528e2 Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654-large_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654-medium_default.jpg b/install-dev/fixtures/fashion/img/p/52817654-medium_default.jpg new file mode 100644 index 000000000..739c21a3f Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654-small_default.jpg b/install-dev/fixtures/fashion/img/p/52817654-small_default.jpg new file mode 100644 index 000000000..a3675b10a Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654-small_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654-thickbox_default.jpg b/install-dev/fixtures/fashion/img/p/52817654-thickbox_default.jpg new file mode 100644 index 000000000..49107858e Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654-thickbox_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/p/52817654.jpg b/install-dev/fixtures/fashion/img/p/52817654.jpg new file mode 100644 index 000000000..49107858e Binary files /dev/null and b/install-dev/fixtures/fashion/img/p/52817654.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/Coconut_Grove-medium_default.jpg b/install-dev/fixtures/fashion/img/st/Coconut_Grove-medium_default.jpg new file mode 100644 index 000000000..cbdb7a7d8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/Coconut_Grove-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/Coconut_Grove.jpg b/install-dev/fixtures/fashion/img/st/Coconut_Grove.jpg new file mode 100644 index 000000000..34b45eee6 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/Coconut_Grove.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/Dade_County-medium_default.jpg b/install-dev/fixtures/fashion/img/st/Dade_County-medium_default.jpg new file mode 100644 index 000000000..cbdb7a7d8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/Dade_County-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/Dade_County.jpg b/install-dev/fixtures/fashion/img/st/Dade_County.jpg new file mode 100644 index 000000000..34b45eee6 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/Dade_County.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/E_Fort_Lauderdale-medium_default.jpg b/install-dev/fixtures/fashion/img/st/E_Fort_Lauderdale-medium_default.jpg new file mode 100644 index 000000000..cbdb7a7d8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/E_Fort_Lauderdale-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/E_Fort_Lauderdale.jpg b/install-dev/fixtures/fashion/img/st/E_Fort_Lauderdale.jpg new file mode 100644 index 000000000..34b45eee6 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/E_Fort_Lauderdale.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/N_Miami_Biscayne-medium_default.jpg b/install-dev/fixtures/fashion/img/st/N_Miami_Biscayne-medium_default.jpg new file mode 100644 index 000000000..cbdb7a7d8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/N_Miami_Biscayne-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/N_Miami_Biscayne.jpg b/install-dev/fixtures/fashion/img/st/N_Miami_Biscayne.jpg new file mode 100644 index 000000000..34b45eee6 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/N_Miami_Biscayne.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/Pembroke_Pines-medium_default.jpg b/install-dev/fixtures/fashion/img/st/Pembroke_Pines-medium_default.jpg new file mode 100644 index 000000000..cbdb7a7d8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/Pembroke_Pines-medium_default.jpg differ diff --git a/install-dev/fixtures/fashion/img/st/Pembroke_Pines.jpg b/install-dev/fixtures/fashion/img/st/Pembroke_Pines.jpg new file mode 100644 index 000000000..34b45eee6 Binary files /dev/null and b/install-dev/fixtures/fashion/img/st/Pembroke_Pines.jpg differ diff --git a/install-dev/fixtures/fashion/img/su/Fashion_Supplier.jpg b/install-dev/fixtures/fashion/img/su/Fashion_Supplier.jpg new file mode 100644 index 000000000..ee8c80dd8 Binary files /dev/null and b/install-dev/fixtures/fashion/img/su/Fashion_Supplier.jpg differ diff --git a/install-dev/fixtures/fashion/langs/en/data/attribute.xml b/install-dev/fixtures/fashion/langs/en/data/attribute.xml new file mode 100644 index 000000000..80cd9b225 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/attribute.xml @@ -0,0 +1,72 @@ + + + + S + + + M + + + L + + + One size + + + Grey + + + Taupe + + + Beige + + + White + + + Off White + + + Red + + + Black + + + Camel + + + Orange + + + Blue + + + Green + + + Yellow + + + Brown + + + 35 + + + 36 + + + 37 + + + 38 + + + 39 + + + 40 + + diff --git a/install-dev/fixtures/fashion/langs/en/data/attribute_group.xml b/install-dev/fixtures/fashion/langs/en/data/attribute_group.xml new file mode 100644 index 000000000..17c82c65f --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/attribute_group.xml @@ -0,0 +1,15 @@ + + + + Size + Size + + + Shoes Size + Size + + + Color + Color + + diff --git a/install-dev/fixtures/fashion/langs/en/data/attributegroup.xml b/install-dev/fixtures/fashion/langs/en/data/attributegroup.xml new file mode 100644 index 000000000..09da13fde --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/attributegroup.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/carrier.xml b/install-dev/fixtures/fashion/langs/en/data/carrier.xml new file mode 100644 index 000000000..c59766e73 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/carrier.xml @@ -0,0 +1,6 @@ + + + + Delivery next day! + + diff --git a/install-dev/fixtures/fashion/langs/en/data/category.xml b/install-dev/fixtures/fashion/langs/en/data/category.xml new file mode 100644 index 000000000..2d38f25cc --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/category.xml @@ -0,0 +1,193 @@ + + + + Women + You will find here all woman fashion collections. This category includes all the basics of your wardrobe and much more: shoes, accessories, printed t-shirts, feminine dresses, women's jeans! + women + + + + + + Coats and Jackets + Coats, jackets, blazers, puffer jackets and leather jackets! Enjoy our wide choice of coat to pick the one who will keep you warm during winter. + coats-jackets + + + + + + Coats + Choose the perfect coat that best suits your style. Casual, classic, modern, timeless coats you will find everyting here! + coats + + + + + + Jackets + Get your wardrobe covered with our wide range of jackets! + jackets + + + + + + Blazers + Opt for a modern silhouette by selecting from our wide range of blazers. + blazers + + + + + + Puffer Jackets + The must have of winter, find the perfect puffer jacket to keep you warm and stylish during winter. + puffer-jackets + + + + + + Leather Jackets + Perfect for the beginning of the season, the leather jacket will give you a rock style for any occasion. + leather-jackets + + + + + + Tops + Choose from t-shirts, tops, blouses, short sleeves, long sleeves, tank tops, 3/4 sleeves and more. Find the cut that suits you the best! + tops + + + + + + T-shirts + The must have of your wardrobe, take a look at our different colors, shapes and style of our collection! + tshirts + + + + + + Tops + Choose the top that best suits you from the wide variety of tops we have. + top + + + + + + Blouses + Match your favorites blouses with the right accessories for the perfect look. + blouses + + + + + + Pants + How to choose a fashion woman pants? Skinny cut, straight cut, benefit from a wide choice and choose your pants here! + pants + + + + + + Skinny Cut + To get the perfect minimalist silhouette, take a look to our skinny cut jeans! + skinny-cut + + + + + Straight Cut + Opt for a straight cut jean to have the perfect classic look; + straight-cut + + + + + Dresses + Find your favorites dresses from our wide choice of evening, casual or summer dresses! We offer dresses for every day, every style and every occasion. + dresses + + + + + + Casual Dresses + You are looking for a dress for every day? Take a look at our selection of dresses to find one that suits you. + casual-dresses + + + + + + Evening Dresses + Browse our different dresses to choose the perfect dress for an unforgettable evening! + evening-dresses + + + + + + Summer Dresses + Short dress, long dress, silk dress, printed dress, you will find the perfect dress for summer. + summer-dresses + + + + + + Accessories + Shoes, bags, belts, hats... Our range of accessories will enhance your silhouette and make you more feminine + accessories + + + + + + Belts + thin skinny belts, leather waist belts and hip belts... Choose among our wide collection to accessorize your outfit. + belts + + + + + + Hats + Accessorize your look with our range of hats. In every color, style, shape and size, you're sure to find your perfect topper outfit here. + hats + + + + + + Handbags + The bag is an essential accessory in the wardrobe of a woman. Find a bag that will go perfectly with your outfit of the day! + handbags + + + + + + Shoes + A wide variety of women's shoes is available. You will find boots, shoes, slippers, sandals and sneakers to go with your outfit of the day. + shoes + + + + + + Men + + men + + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/feature.xml b/install-dev/fixtures/fashion/langs/en/data/feature.xml new file mode 100644 index 000000000..47137f188 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/feature.xml @@ -0,0 +1,18 @@ + + + + Height + + + Width + + + Depth + + + Weight + + + Compositions + + diff --git a/install-dev/fixtures/fashion/langs/en/data/feature_value.xml b/install-dev/fixtures/fashion/langs/en/data/feature_value.xml new file mode 100644 index 000000000..cf7b3c287 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/feature_value.xml @@ -0,0 +1,66 @@ + + + + Polyester + + + Wool + + + Viscose + + + Elastane + + + Cotton + + + Silk + + + Suede + + + Straw + + + Leather + + + 2.75 in + + + 2.06 in + + + 49.2 g + + + 0.26 in + + + 1.07 in + + + 1.62 in + + + 15.5 g + + + 0.41 in (clip included) + + + 4.33 in + + + 2.76 in + + + 120g + + + 0.31 in + + diff --git a/install-dev/fixtures/fashion/langs/en/data/featurevalue.xml b/install-dev/fixtures/fashion/langs/en/data/featurevalue.xml new file mode 100644 index 000000000..7f943c0a4 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/featurevalue.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/image.xml b/install-dev/fixtures/fashion/langs/en/data/image.xml new file mode 100644 index 000000000..096903bf7 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/image.xml @@ -0,0 +1,91 @@ + + + Fur Coat + Fut Coat + Textured Trench Coat + Textured Trench Coat + Slim Cut Coat + Slim Cut Coat + Quilted Jacket + Quilted Jacket + Suit Blazer + Suit Blazer + Suit Blazer + Short Blazer + Puffer Jacket + Puffer Jacket + Puffer Jacket + Leather Jacket + Leather Jacket + Leather Jacket + Leather Jacket + Leather Jacket + Leather Jacket + Leather Jacket + Short Sleeve T-shirts + Short Sleeve T-shirts + Faded Short Sleeve T-shirts + Faded Short Sleeve T-shirts + Faded Short Sleeve T-shirts + Faded Short Sleeve T-shirts + Cami Tank Top + Cami Tank Top + Cami Tank Top + Blouse + Blouse + Blouse + Leapoard Printed Blouse + Leapoard Printed Blouse + Faded Jeans + Faded Jeans + 5 Pocket Jean + 5 Pocket Jean + 5 Pocket Jean + 5 Pocket Jean + 5 Pocket Jean + Dress Gathered At The Waist + Dress Gathered At The Waist + Printed Dress + Printed Dress + Floral Dress + Floral Dress + Floral Dress + Strapless Dress + Strapless Dress + Long Evening Dress + Long Evening Dress + Short Evening Dress + Short Evening Dress + Strapless Dress + Strapless Dress + Dress with Sleeves + Dress with Sleeves + Printed Dress + Printed Dress + Printed Summer Dress + Printed Summer Dress + Printed Summer Dress + Printed Summer Dress + Long Printed Dress + Long Printed Dress + Printed Summer Dress + Printed Summer Dress + Printed Summer Dress + Printed Summer Dress + Printed Chiffon Dress + Printed Chiffon Dress + Printed Chiffon Dress + Printed Chiffon Dress + Studded Leather Belt + Studded Leather Belt + Braided Belt + Bucket Hat + Floppy Hat + Men Straw Hat + Bowling Bag + Leather Bag + Snake Skin Bag + Quilted Bag + Suede Bag + Wedge Shoe + diff --git a/install-dev/fixtures/fashion/langs/en/data/manufacturer.xml b/install-dev/fixtures/fashion/langs/en/data/manufacturer.xml new file mode 100644 index 000000000..2f09cb629 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/manufacturer.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/order_message.xml b/install-dev/fixtures/fashion/langs/en/data/order_message.xml new file mode 100644 index 000000000..93ad3b501 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/order_message.xml @@ -0,0 +1,12 @@ + + + + Delay + Hi, + +Unfortunately, an item on your order is currently out of stock. This may cause a slight delay in delivery. +Please accept our apologies and rest assured that we are working hard to rectify this. + +Best regards, + + diff --git a/install-dev/fixtures/fashion/langs/en/data/ordermessage.xml b/install-dev/fixtures/fashion/langs/en/data/ordermessage.xml new file mode 100644 index 000000000..e743f5d97 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/ordermessage.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/product.xml b/install-dev/fixtures/fashion/langs/en/data/product.xml new file mode 100644 index 000000000..0a905fbfd --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/product.xml @@ -0,0 +1,464 @@ + + + + + This stylish short sleeve faux fur coat will keep you warm this winter. The thick knit collar adds an orginal touch to this elegant coat. + fur-coat + + + + Fur Coat + In stock + + + + + This flattering fitted trench coat is the ideal piece for the season. The warm collar will keep you warm for any winter occasion. + textured-trench-coat + + + + Textured Trench Coat + In stock + + + + + A stylish double-breasted coat with a high collar. Slim cut and belted to emphasize your waist and your femininity! + slim-cut-coat + + + + Slim Cut Coat + In stock + + + + + This quilted jacket with zipper detail and built-in hood is perfect for Fall. Comfortable fit with silver sleeves and shoulders. + quilted-jacket + + + + Quilted Jacket + In stock + + + + + Suit style blazer with structured shoulders and front side gold engraved buttons. Ideal for the mid-season. + suit-blazer + + + + Suit Blazer + In stock + + + + + Short cotton blazer with black and white polka dots. Front side button closures and three quarter length sleeves. Complete the look with a delicate necklace. + short-blazer + + + + Short Blazer + In stock + + + + + Puffer jacket with treated fabric and a removable faur fux hood. Flattering fit with a belt buckle and loops. Fitting for winter fashion. + Puffer_Jacket + + + + Puffer Jacket + In stock + + + + + Biker style jacket with asymmetrical zipper front. Side pockets and zippered cuffs. + leather-jacket + + + + Leather Jacket + In stock + + + + + Zip up biker inspired leather jacket with collar. The two zippered pockets on the front gives this jacket rock style flare. + leather-jacket + + + + Leather Jacket + In stock + + + + + Biker leather jacket with padded and tie-up detailed sleeves. The structured shoulders makes this jacket super stylish. + leather-jacket + + + + Leather Jacket + In stock + + + + + Soft stretch jersey v-neck tee with short sleeves. A delightful green for a colorful summer. + short-sleeve-tshirts + + + + Short Sleeve T-shirts + In stock + + + + + Faded short sleeve t-shirt with high neckline. Soft and stretchy material for a comfortable fit. Accessorize with a straw hat and you're ready for summer! + faded-short-sleeve-tshirts + + + + Faded Short Sleeve T-shirts + In stock + + + + + Pure cotton printed top with waist elastic band for a perfect fit. The thin straps will highlight chest on a hot summer day. + Cami_Tank_Top + + + + Cami Tank Top + In stock + + + + Short sleeved blouse with feminine draped sleeve detail. + blouse + + + + Blouse + In stock + + + + + Elegant leopard print silky blouse with chiffon puffed sleeves. + leapoard_printed_blouse + + + + Leapoard Printed Blouse + In stock + + + + + 5-pocket washed denim stretchy jeans with low waist and just the right cut. + faded-jeans + + + + Faded Jeans + In stock + + + + + 5-pocket blue jean with zipper and button closure. Straight cut fit. + 5-pocket-jean + + + + 5 Pocket Jean + In stock + + + + + 5-pocket blue jean with zipper and button closure. Straight cut fit. + 5-pocket-jean + + + + 5 Pocket Jean + In stock + + + + + V-neck cut dress gathered at the waist for a flattering waistline. 3/4 sleeves and draped. + Dress_Gathered_At_The_Waist + + + + Dress gathered at the waist + In stock + + + + + 100% cotton double printed dress. Black and white striped top and orange high waisted skater skirt bottom. + printed-dress + + + + Printed Dress + In stock + + + + + Lace embroidered dress with floral detail. Tie-up spaghetti straps . + floral-dress + + + + Floral Dress + In stock + + + + + Strapless cinched waist dress with floral print. + strapless-dress + + + + Strapless Dress + In stock + + + + + Long sleeve jersey dress. Mid knee length. + long-evening-dress + + + + Long Evening Dress + In stock + + + + + Short baby doll dress with neckline bow. Detailed finishes at the bottom of the dress. + short-evening-dress + + + + Short Evening Dress + In stock + + + + + Ruffle strapless dress with floral prints and knotted blue waist belt. + strapless-dress + + + + Strapless Dress + In stock + + + + + Black evening dress with puffed sleeve accents. Leather lining on frontside of the dress. + dress-with-sleeves + + + + Dress with Sleeves + In stock + + + + + Printed evening dress with straight sleeves with black thin waist belt and ruffled linings. + printed-dress + + + + Printed Dress + In stock + + + + + Long printed dress with thin adjustable straps. V-neckline and wiring under the bust with ruffles at the bottom of the dress. + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + + Long printed empire waist dress with behind the neck tie straps. + long-printed-dress + + + + Long Printed Dress + In stock + + + + + Sleeveless knee-length chiffon dress. V-neckline with elastic under the bust lining. + printed-summer-dress + + + + Printed Summer Dress + In stock + + + + + Printed chiffon knee length dress with tank straps. Deep v-neckline. + printed-chiffon-dress + + + + Printed Chiffon Dress + In stock + + + + + Brown accent studded belt with gold buckle + studded-leather-belt + + + + Studded Leather Belt + In stock + + + + + Black and gold braided leather belt + braided-belt + + + + Braided Belt + In stock + + + + + Soft felted knit bucket hat + bucket-hat + + + + Bucket Hat + In stock + + + + + Black straw floppy hat + floppy-hat + + + + Floppy Hat + In stock + + + + + Men's beige straw fedora + men-straw-hat + + + + Men Straw Hat + In stock + + + + + Red bowling style bag. Fancy lining with metal buckle strap + bowling-bag + + + + Bowling Bag + In stock + + + + + Genuine leather bag with leather handles and adjustable and removable shoulder strap. + leather-bag + + + + Leather Bag + In stock + + + + + Snake skin shoulder bag with straps and handle. Front pocket with gold flap buckle. + Snake_Skin_Bag + + + + Snake Skin Bag + In stock + + + + + Quilted leather bag with silver braided straps. Adjustable long handle and zipper on top and side pocket. + quilted-bag + + + + Quilted Bag + In stock + + + + + Suede camel colored bag with belted front flap. + Suede_Bag + + + + Suede Bag + In stock + + + + + High heeled cork wedge with cross over leather straps. + Wedge_Shoe + + + + Wedge Shoe + In stock + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/profile.xml b/install-dev/fixtures/fashion/langs/en/data/profile.xml new file mode 100644 index 000000000..04e65582f --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/profile.xml @@ -0,0 +1,12 @@ + + + + Logistician + + + Translator + + + Salesman + + diff --git a/install-dev/fixtures/fashion/langs/en/data/scene.xml b/install-dev/fixtures/fashion/langs/en/data/scene.xml new file mode 100644 index 000000000..708079e52 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/scene.xml @@ -0,0 +1,8 @@ + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/supplier.xml b/install-dev/fixtures/fashion/langs/en/data/supplier.xml new file mode 100644 index 000000000..0c375e8d4 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/supplier.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/install-dev/fixtures/fashion/langs/en/data/tag.xml b/install-dev/fixtures/fashion/langs/en/data/tag.xml new file mode 100644 index 000000000..d413861a0 --- /dev/null +++ b/install-dev/fixtures/fashion/langs/en/data/tag.xml @@ -0,0 +1,11 @@ + + + + diff --git a/install-dev/langs/en/data/cms.xml b/install-dev/langs/en/data/cms.xml index 37edee2c4..f966a34b3 100644 --- a/install-dev/langs/en/data/cms.xml +++ b/install-dev/langs/en/data/cms.xml @@ -18,19 +18,55 @@ Terms and conditions of use Our terms and conditions of use conditions, terms, use, sell - <h2>Your terms and conditions of use</h2><h3>Rule 1</h3><p>Here is the rule 1 content</p> -<h3>Rule 2</h3><p>Here is the rule 2 content</p> -<h3>Rule 3</h3><p>Here is the rule 3 content</p> + <h1 class="page-heading">Terms and conditions of use</h1> +<h3 class="page-subheading">Rule 1</h3> +<p class="bottom-indent">Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> +<h3 class="page-subheading">Rule 2</h3> +<p class="bottom-indent">Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam&#1102;</p> +<h3 class="page-subheading">Rule 3</h3> +<p class="bottom-indent">Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam&#1102;</p> terms-and-conditions-of-use About us Learn more about us about us, informations - <h2>About us</h2> -<h3>Our company</h3><p>Our company</p> -<h3>Our team</h3><p>Our team</p> -<h3>Informations</h3><p>Informations</p> + <h1 class="page-heading bottom-indent">About us</h1> +<div class="row"> +<div class="col-xs-12 col-sm-4"> +<div class="cms-block"> +<h3 class="page-subheading">Our company</h3> +<p><strong class="dark">Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididun.</strong></p> +<p>Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. Lorem ipsum dolor sit amet conse ctetur adipisicing elit.</p> +<ul class="list-1"> +<li><em class="icon-ok"></em>Top quality products</li> +<li><em class="icon-ok"></em>Best customer service</li> +<li><em class="icon-ok"></em>30-days money back guarantee</li> +</ul> +</div> +</div> +<div class="col-xs-12 col-sm-4"> +<div class="cms-box"> +<h3 class="page-subheading">Our team</h3> +<img title="cms-img" src="http://192.168.9.41/prestashop1601/img/cms/cms-img.jpg" alt="cms-img" width="370" height="192" /> +<p><strong class="dark">Lorem set sint occaecat cupidatat non </strong></p> +<p>Eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.</p> +</div> +</div> +<div class="col-xs-12 col-sm-4"> +<div class="cms-box"> +<h3 class="page-subheading">Testimonials</h3> +<div class="testimonials"> +<div class="inner"><span class="before">“</span>Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim.<span class="after">”</span></div> +</div> +<p><strong class="dark">Lorem ipsum dolor sit</strong></p> +<div class="testimonials"> +<div class="inner"><span class="before">“</span>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet conse ctetur adipisicing elit. Lorem ipsum dolor sit amet conse ctetur adipisicing elit, sed do eiusmod.<span class="after">”</span></div> +</div> +<p><strong class="dark">Ipsum dolor sit</strong></p> +</div> +</div> +</div> about-us diff --git a/install-dev/langs/ru/install.php b/install-dev/langs/ru/install.php index b077f8b24..3b45452c8 100644 --- a/install-dev/langs/ru/install.php +++ b/install-dev/langs/ru/install.php @@ -212,7 +212,7 @@ return array( 'Contact us' => 'Свяжитесь с нами', 'PrestaShop Installation Assistant' => 'Помощник установки PrestaShop', 'Installation Assistant' => 'Помощник установки', - 'License Agreements' => 'Лицензионное соглшение', + 'License Agreements' => 'Лицензионное соглашение', 'Print my login information' => 'Распечатать информацию о моем аккаунте', 'To use PrestaShop, you must create a database to collect all of your store\'s data-related activities.' => 'Для использования PrestaShop, Вам следует создать базу данных , чтобы сгруппировать информацию Вашего магазина.', 'Please complete the fields below in order for PrestaShop to connect to your database. ' => 'Заполните поля ниже, чтобы PrestaShop смог установить соединение с Вашей с базой данных.', diff --git a/install-dev/models/install.php b/install-dev/models/install.php index b064861a5..edeb0e402 100644 --- a/install-dev/models/install.php +++ b/install-dev/models/install.php @@ -509,14 +509,17 @@ class InstallModelInstall extends InstallAbstractModel { // @todo THIS CODE NEED TO BE REMOVED WHEN MODULES API IS COMMITED $modules = array( + 'blockbanner', 'bankwire', 'blockadvertising', 'blockbestsellers', 'blockcart', 'blocksocial', 'blockcategories', + 'blockfacebook', 'blocklayered', 'blockcms', + 'blockcmsinfo', 'blockcontact', 'blockcontactinfos', 'blockmanufacturer', @@ -540,8 +543,8 @@ class InstallModelInstall extends InstallAbstractModel 'dashproducts', 'graphnvd3', 'gridhtml', - 'homefeatured', 'homeslider', + 'homefeatured', 'pagesnotfound', 'sekeywords', 'statsbestcategories', @@ -565,6 +568,7 @@ class InstallModelInstall extends InstallAbstractModel 'statssearch', 'statsstock', 'statsvisits', + 'themeconfigurator', ); } return $modules; @@ -646,8 +650,8 @@ class InstallModelInstall extends InstallAbstractModel */ public function installFixtures($entity = null, array $data = array()) { - $fixtures_path = _PS_INSTALL_FIXTURES_PATH_.'apple/'; - $fixtures_name = 'apple'; + $fixtures_path = _PS_INSTALL_FIXTURES_PATH_.'fashion/'; + $fixtures_name = 'fashion'; $zip_file = _PS_ROOT_DIR_.'/download/fixtures.zip'; $temp_dir = _PS_ROOT_DIR_.'/download/fixtures/'; diff --git a/modules/blockbanner/blockbanner.php b/modules/blockbanner/blockbanner.php index d0685ec70..7642b835b 100644 --- a/modules/blockbanner/blockbanner.php +++ b/modules/blockbanner/blockbanner.php @@ -46,7 +46,7 @@ class BlockBanner extends Module public function install() { - Configuration::updateValue('BLOCKBANNER_IMG', 'store.jpg'); + Configuration::updateValue('BLOCKBANNER_IMG', 'sale70.gif'); Configuration::updateValue('BLOCKBANNER_LINK', ''); Configuration::updateValue('BLOCKBANNER_DESC', ''); return parent::install() && $this->registerHook('displayTop') && $this->registerHook('header'); diff --git a/modules/blockbanner/cde397c130d468ca53313a09bbb5f9aa.gif b/modules/blockbanner/sale70.gif similarity index 100% rename from modules/blockbanner/cde397c130d468ca53313a09bbb5f9aa.gif rename to modules/blockbanner/sale70.gif diff --git a/modules/blockcmsinfo/blockcmsinfo.php b/modules/blockcmsinfo/blockcmsinfo.php index e8ce8fbb9..e10c662e4 100644 --- a/modules/blockcmsinfo/blockcmsinfo.php +++ b/modules/blockcmsinfo/blockcmsinfo.php @@ -69,7 +69,7 @@ class Blockcmsinfo extends Module `text` text NOT NULL, PRIMARY KEY (`id_info`, `id_lang`) ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8 ;'); - + return $return; } @@ -299,8 +299,29 @@ class Blockcmsinfo extends Module { $return = true; $tab_texts = array( - array('text' => $this->l('Custom text.')), - array('text' => $this->l('Custom text.')), + array('text' => '
    +
  • +
    +

    Free Shipping

    +

    Lorem ipsum dolor sit amet conse ctetur voluptate velit esse cillum dolore eu

    +
    +
  • +
  • +
    +

    Call us: (800)2345-6789

    +

    Lorem ipsum dolor sit amet conse ctetur voluptate velit esse cillum dolore eu

    +
    +
  • +
  • +
    +

    Gift cards

    +

    Lorem ipsum dolor sit amet conse ctetur voluptate velit esse cillum dolore eu

    +
    +
  • +
'), + array('text' => '

Custom Block

+

Lorem ipsum dolor sit amet conse ctetu

+

Sit amet conse ctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit.

'), ); foreach($tab_texts as $tab) { diff --git a/modules/blockquickview/blockquickview.php b/modules/blockquickview/blockquickview.php deleted file mode 100644 index 5e0119588..000000000 --- a/modules/blockquickview/blockquickview.php +++ /dev/null @@ -1,133 +0,0 @@ - -* @copyright 2007-2013 PrestaShop SA -* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) -* International Registered Trademark & Property of PrestaShop SA -*/ - -if (!defined('_PS_VERSION_')) - exit; - -class Blockquickview extends Module -{ - public function __construct() - { - $this->name = 'blockquickview'; - $this->tab = 'front_office_features'; - $this->version = '1.0'; - parent::__construct(); - $this->displayName = $this->l('Quick view'); - $this->description = $this->l('Add Quick information about product.'); - } - - public function install() - { - Configuration::updateValue('PS_QUICK_VIEW',1); - if (!parent::install()) - return false; - return true; - } - - public function uninstall() - { - if (!parent::uninstall() OR - !Configuration::deleteByName('PS_QUICK_VIEW')) - return false; - else return true; - } - - - public function getContent() - { - $html = ''; - // If we try to update the settings - if (Tools::isSubmit('submitModule')) - { - Configuration::updateValue('PS_QUICK_VIEW', Tools::getValue('PS_QUICK_VIEW')); - $html .= $this->displayConfirmation($this->l('Configuration updated')); - } - $html .= $this->renderForm(); - return $html; - } - - public function renderForm() - { - $fields_form = array( - 'form' => array( - 'legend' => array( - 'title' => $this->l('Settings'), - 'icon' => 'icon-cogs' - ), - 'input' => array( - array( - 'type' => 'switch', - 'label' => $this->l('Display Quick view'), - 'name' => 'PS_QUICK_VIEW', - 'values' => array( - array( - 'id' => 'active_on', - 'value' => 1, - 'label' => $this->l('Enabled') - ), - array( - 'id' => 'active_off', - 'value' => 0, - 'label' => $this->l('Disabled') - ) - ), - ), - ), - 'submit' => array( - 'title' => $this->l('Save'), - 'class' => 'btn btn-primary') - ), - ); - - $helper = new HelperForm(); - $helper->show_toolbar = false; - $helper->table = $this->table; - $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); - $helper->default_form_language = $lang->id; - $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; - $this->fields_form = array(); - - $helper->identifier = $this->identifier; - $helper->submit_action = 'submitModule'; - $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; - $helper->token = Tools::getAdminTokenLite('AdminModules'); - $helper->tpl_vars = array( - 'fields_value' => $this->getConfigFieldsValues(), - 'languages' => $this->context->controller->getLanguages(), - 'id_language' => $this->context->language->id - ); - - return $helper->generateForm(array($fields_form)); - } - - public function getConfigFieldsValues() - { - return array( - 'PS_QUICK_VIEW' => Tools::getValue('PS_QUICK_VIEW', Configuration::get('PS_QUICK_VIEW')), - ); - - } -} \ No newline at end of file diff --git a/modules/blockquickview/config.xml b/modules/blockquickview/config.xml deleted file mode 100644 index 5d75d80b9..000000000 --- a/modules/blockquickview/config.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - blockquickview - - - - - - 1 - 1 - - \ No newline at end of file diff --git a/modules/blockquickview/logo.gif b/modules/blockquickview/logo.gif deleted file mode 100644 index bc0ae8b2c..000000000 Binary files a/modules/blockquickview/logo.gif and /dev/null differ diff --git a/modules/blockquickview/logo.png b/modules/blockquickview/logo.png deleted file mode 100644 index 3702fd527..000000000 Binary files a/modules/blockquickview/logo.png and /dev/null differ diff --git a/modules/blocktopmenu/blocktopmenu.php b/modules/blocktopmenu/blocktopmenu.php index db961a7fb..324c65b77 100644 --- a/modules/blocktopmenu/blocktopmenu.php +++ b/modules/blocktopmenu/blocktopmenu.php @@ -66,7 +66,7 @@ class Blocktopmenu extends Module { if (!parent::install() || !$this->registerHook('displayTop') || - !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_ITEMS', 'CAT1,CMS1,CMS2,PRD1') || + !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_ITEMS', 'CAT3,CAT26') || !Configuration::updateGlobalValue('MOD_BLOCKTOPMENU_SEARCH', '1') || !$this->registerHook('actionObjectCategoryUpdateAfter') || !$this->registerHook('actionObjectCategoryDeleteAfter') || diff --git a/modules/blockwishlist/blockwishlist.php b/modules/blockwishlist/blockwishlist.php index 83142f8f6..2eb63f795 100644 --- a/modules/blockwishlist/blockwishlist.php +++ b/modules/blockwishlist/blockwishlist.php @@ -118,6 +118,38 @@ class BlockWishList extends Module public function hookTop($params) { + + global $errors; + + require_once(dirname(__FILE__).'/WishList.php'); + if ($this->context->customer->isLogged()) + { + $wishlists = Wishlist::getByIdCustomer($this->context->customer->id); + if (empty($this->context->cookie->id_wishlist) === true || + WishList::exists($this->context->cookie->id_wishlist, $this->context->customer->id) === false) + { + if (!sizeof($wishlists)) + $id_wishlist = false; + else + { + $id_wishlist = (int)($wishlists[0]['id_wishlist']); + $this->context->cookie->id_wishlist = (int)($id_wishlist); + } + } + else + $id_wishlist = $this->context->cookie->id_wishlist; + + + $this->smarty->assign(array( + 'id_wishlist' => $id_wishlist, + 'isLogged' => true, + 'wishlist_products' => ($id_wishlist == false ? false : WishList::getProductByIdCustomer($id_wishlist, $this->context->customer->id, $this->context->language->id, null, true)), + 'wishlists' => $wishlists, + 'ptoken' => Tools::getToken(false))); + } + else + $this->smarty->assign(array('wishlist_products' => false, 'wishlists' => false)); + return $this->display(__FILE__, 'blockwishlist_top.tpl'); } diff --git a/modules/dashactivity/dashactivity.php b/modules/dashactivity/dashactivity.php index 11043100d..a2eb1beb4 100644 --- a/modules/dashactivity/dashactivity.php +++ b/modules/dashactivity/dashactivity.php @@ -392,14 +392,14 @@ class Dashactivity extends Module $fields_form['form']['input'][] = array( 'label' => $this->l('Cart abandoned (min)'), 'desc' => $this->l('Default time range (min) to consider a Shopping cart as abandoned (default 24hrs)'), - 'name' => 'DASHACTIVITY_CART_ABANDONED', + 'name' => 'DASHACTIVITY_CART_ABANDONED_MIN', 'type' => 'text', 'suffix' => $this->l('hrs'), ); $fields_form['form']['input'][] = array( 'label' => $this->l('Cart abandoned (max)'), 'desc' => $this->l('Default time range (max) to consider a Shopping cart as abandoned (default 48hrs)'), - 'name' => 'DASHACTIVITY_CART_ABANDONED', + 'name' => 'DASHACTIVITY_CART_ABANDONED_MAX', 'type' => 'text', 'suffix' => $this->l('hrs'), ); diff --git a/modules/homeslider/homeslider.php b/modules/homeslider/homeslider.php index 29daad463..b7cff3d6c 100644 --- a/modules/homeslider/homeslider.php +++ b/modules/homeslider/homeslider.php @@ -60,11 +60,11 @@ class HomeSlider extends Module public function install() { /* Adds Module */ - if (parent::install() && $this->registerHook('displayHome') && $this->registerHook('actionShopDataDuplication')) + if (parent::install() && $this->registerHook('displayTop') && $this->registerHook('actionShopDataDuplication')) { /* Sets up configuration */ - $res = Configuration::updateValue('HOMESLIDER_WIDTH', '535'); - $res &= Configuration::updateValue('HOMESLIDER_HEIGHT', '300'); + $res = Configuration::updateValue('HOMESLIDER_WIDTH', '779'); + $res &= Configuration::updateValue('HOMESLIDER_HEIGHT', '448'); $res &= Configuration::updateValue('HOMESLIDER_SPEED', '500'); $res &= Configuration::updateValue('HOMESLIDER_PAUSE', '3000'); $res &= Configuration::updateValue('HOMESLIDER_LOOP', '1'); @@ -86,7 +86,7 @@ class HomeSlider extends Module private function installSamples() { $languages = Language::getLanguages(false); - for ($i = 1; $i <= 5; ++$i) + for ($i = 1; $i <= 3; ++$i) { $slide = new HomeSlide(); $slide->position = $i; @@ -660,7 +660,7 @@ class HomeSlider extends Module return true; } - public function hookDisplayHome() + public function hookDisplayTop() { if(!$this->_prepareHook()) return; @@ -675,10 +675,13 @@ class HomeSlider extends Module return $this->display(__FILE__, 'homeslider.tpl', $this->getCacheId()); } - public function hookTop() + public function getCacheId($name = null) { - return $this->hookDisplayHome(); + if ($name === null && isset($this->context->smarty->tpl_vars['page_name'])) + return parent::getCacheId($this->context->smarty->tpl_vars['page_name']->value); + return parent::getCacheId($name); } + public function clearCache() { $this->_clearCache('homeslider.tpl'); diff --git a/modules/homeslider/images/32fcdb2dfcdde00ac046b0b3b5f69170.jpg b/modules/homeslider/images/32fcdb2dfcdde00ac046b0b3b5f69170.jpg deleted file mode 100644 index 673b89940..000000000 Binary files a/modules/homeslider/images/32fcdb2dfcdde00ac046b0b3b5f69170.jpg and /dev/null differ diff --git a/modules/homeslider/images/3a7640ba4e3975b54126c6aa69a2bbc1.jpg b/modules/homeslider/images/3a7640ba4e3975b54126c6aa69a2bbc1.jpg deleted file mode 100644 index 673b89940..000000000 Binary files a/modules/homeslider/images/3a7640ba4e3975b54126c6aa69a2bbc1.jpg and /dev/null differ diff --git a/modules/homeslider/images/611a2b3ae96bde7ea3f8ca97c00ffe8c.jpg b/modules/homeslider/images/611a2b3ae96bde7ea3f8ca97c00ffe8c.jpg deleted file mode 100644 index 673b89940..000000000 Binary files a/modules/homeslider/images/611a2b3ae96bde7ea3f8ca97c00ffe8c.jpg and /dev/null differ diff --git a/modules/homeslider/images/sample-1.jpg b/modules/homeslider/images/sample-1.jpg index 883636a50..673b89940 100644 Binary files a/modules/homeslider/images/sample-1.jpg and b/modules/homeslider/images/sample-1.jpg differ diff --git a/modules/homeslider/images/sample-2.jpg b/modules/homeslider/images/sample-2.jpg index 5c0b8035d..673b89940 100644 Binary files a/modules/homeslider/images/sample-2.jpg and b/modules/homeslider/images/sample-2.jpg differ diff --git a/modules/homeslider/images/sample-3.jpg b/modules/homeslider/images/sample-3.jpg index c94958858..673b89940 100644 Binary files a/modules/homeslider/images/sample-3.jpg and b/modules/homeslider/images/sample-3.jpg differ diff --git a/modules/homeslider/images/sample-4.jpg b/modules/homeslider/images/sample-4.jpg deleted file mode 100644 index b7da0ddad..000000000 Binary files a/modules/homeslider/images/sample-4.jpg and /dev/null differ diff --git a/modules/homeslider/images/sample-5.jpg b/modules/homeslider/images/sample-5.jpg deleted file mode 100644 index 26cb2a230..000000000 Binary files a/modules/homeslider/images/sample-5.jpg and /dev/null differ diff --git a/modules/productcomments/productcomments.php b/modules/productcomments/productcomments.php index caea20fb4..0537f4e19 100644 --- a/modules/productcomments/productcomments.php +++ b/modules/productcomments/productcomments.php @@ -709,6 +709,7 @@ class ProductComments extends Module $this->smarty->assign(array( 'product' => $params['product'], 'averageTotal' => round($average['grade']), + 'nbComments' => (int)(ProductComment::getCommentNumber((int)$params['product']['id_product'])) )); return $this->display(__FILE__, 'productcomments_reviews.tpl'); } diff --git a/modules/themeconfigurator/css/live_configurator.css b/modules/themeconfigurator/css/live_configurator.css index f7cd40dc2..dea2d743f 100644 --- a/modules/themeconfigurator/css/live_configurator.css +++ b/modules/themeconfigurator/css/live_configurator.css @@ -29,7 +29,7 @@ height: 50px; left: 215px; position: fixed; - top: 90px; + top: 150px; width: 50px; z-index: 20; } @@ -43,7 +43,7 @@ #tool_customization{ position: fixed; left: 0; - top: 90px; + top: 150px; z-index: 20; height: auto; width: 215px; diff --git a/modules/themeconfigurator/images/banner-img1.jpg b/modules/themeconfigurator/images/banner-img1.jpg new file mode 100644 index 000000000..129537267 Binary files /dev/null and b/modules/themeconfigurator/images/banner-img1.jpg differ diff --git a/modules/themeconfigurator/images/banner-img2.jpg b/modules/themeconfigurator/images/banner-img2.jpg new file mode 100644 index 000000000..11c6a882c Binary files /dev/null and b/modules/themeconfigurator/images/banner-img2.jpg differ diff --git a/modules/themeconfigurator/images/banner-img3.jpg b/modules/themeconfigurator/images/banner-img3.jpg new file mode 100644 index 000000000..c56df8429 Binary files /dev/null and b/modules/themeconfigurator/images/banner-img3.jpg differ diff --git a/modules/themeconfigurator/images/banner-img4.jpg b/modules/themeconfigurator/images/banner-img4.jpg new file mode 100644 index 000000000..a8d8d49a5 Binary files /dev/null and b/modules/themeconfigurator/images/banner-img4.jpg differ diff --git a/modules/themeconfigurator/images/banner-img5.jpg b/modules/themeconfigurator/images/banner-img5.jpg new file mode 100644 index 000000000..9e5a537b5 Binary files /dev/null and b/modules/themeconfigurator/images/banner-img5.jpg differ diff --git a/modules/themeconfigurator/images/banner-img6.jpg b/modules/themeconfigurator/images/banner-img6.jpg new file mode 100644 index 000000000..ce59045d5 Binary files /dev/null and b/modules/themeconfigurator/images/banner-img6.jpg differ diff --git a/modules/themeconfigurator/images/banner-img7.jpg b/modules/themeconfigurator/images/banner-img7.jpg new file mode 100644 index 000000000..297a18902 Binary files /dev/null and b/modules/themeconfigurator/images/banner-img7.jpg differ diff --git a/modules/themeconfigurator/js/live_configurator.js b/modules/themeconfigurator/js/live_configurator.js index e44a7502c..8fc73ad37 100644 --- a/modules/themeconfigurator/js/live_configurator.js +++ b/modules/themeconfigurator/js/live_configurator.js @@ -30,6 +30,7 @@ $(document).ready( function() { $('#theme').val($(this).attr('class')); + $(this).closest('form').submit(); } ); @@ -80,5 +81,20 @@ $(document).ready( } } ); + + $('#font').change( + function() + { + $(document).find('*:not(i)').css('font-family', $('#font option:selected').text()); + } + ); + + $('#reset').click( + function() + { + $('#theme').val(''); + $(this).closest('form').submit(); + } + ); } ); \ No newline at end of file diff --git a/modules/themeconfigurator/sass/theme-style1.scss b/modules/themeconfigurator/sass/theme-style1.scss new file mode 100644 index 000000000..993336649 --- /dev/null +++ b/modules/themeconfigurator/sass/theme-style1.scss @@ -0,0 +1,172 @@ +@import 'compass'; +@import 'bootstrap_lib/_variables'; +$header-background:#dadada; +$color-style1:#f44051; +$color1-style1:#333; +$color2-style1:#b7b7b7; + +body{background:#282828} +.header-container, +.columns-container{background:#f6f6f6} + + //-------- HEADER + #header { + background:none; + .header-row { + background:$header-background; + .shop-phone{ + color:$color1-style1; + i, + strong{color:$color-style1} + + } + } + + #currencies-block-top, + #languages-block-top, + .header-row #header_user_info{ + border-color:#c6c6c6; + } + + #currencies-block-top div.current, + #languages-block-top div.current, + .header-row #header_user_info a + { + color:$color1-style1; + &:hover, &.active { + background:$color2-style1; + color:white + } + + } + #currencies-block-top div.current, + #languages-block-top div.current{ + strong{color:$color1-style1;} + } + + #currencies-block-top div.current, + #languages-block-top div.current + {&:hover, + &.active { + strong, + &:after + { + background:$color2-style1; + color:white} + } + } + + #contact-link{ + border-color:#c6c6c6; + a{color:$color1-style1; + &:hover, &.active { + background:$color2-style1; + color:white + } + } + } + +} + + + #search_block_top .btn.button-search{background:$color-style1; + &:hover{color:white; + background:$color1-style1} + } + + #header_right #header_user #shopping_cart a{ + background:$color-style1; + color:white; + &:after{color:white} + &:hover{color:white; + background:$color1-style1} + } + + .sf-menu{ + background:white; + border-bottom:3px solid #e8e8e8; + >li{ + border-right:1px solid #e8e8e8; + a{border-bottom: 3px solid #e8e8e8;} + &.sfHover > a, > a:hover, &.sfHoverForce > a + {color:#fff;background:$color-style1; + border-bottom-color:#ce2434;} + } + } + + + +//-------- columns-container + + #home-page-tabs{ + background:#f6f6f6; + > li.active a, + > li a:hover{ + background:$color-style1; + color:white + } + + } + + + .new, + .sale + {background:$color-style1; + &:before, + &:after{ + border-color: #ad2b34 transparent transparent transparent ; + } + } + + + ul.product_list.grid > li .product-container{ + background:#f6f6f6; + .product-image-container{ + background:white; + .product_img_link{background:#fbfbfb; + img{background:#fbfbfb;} + } + } + } + + + + .button.lnk_view { + text-shadow:none; + padding:0; + border:none; + span { + border:none; + padding:12px 16px; + background:$color1-style1; + color:white; + } + + &:hover { + span { + background:$color-style1; + } + } + } + + + #cmsinfo_block em{background:$color-style1;} + #facebook_block, #cmsinfo_block{background:#e8e8e8} + #cmsinfo_block, + #cmsinfo_block > div + div{border-color:#d0d0d0;} + + .footer-container #footer #social_block { background:#1b1b1b;padding-bottom:15px;} + .footer-container { + background:#1b1b1b; + @media (min-width: $screen-sm) { // min 768px + background:url(../img/footer-bg1.gif) repeat-x; + } +} + #footer #newsletter_block_left .form-group{ + .form-control{background:#1b1b1b;} + .button-small {color:$color-style1;} + } + + .footer-container #footer #social_block ul li a:hover{color:$color-style1;} + + \ No newline at end of file diff --git a/modules/themeconfigurator/sass/theme-style2.scss b/modules/themeconfigurator/sass/theme-style2.scss new file mode 100644 index 000000000..bf0198bf1 --- /dev/null +++ b/modules/themeconfigurator/sass/theme-style2.scss @@ -0,0 +1,180 @@ +@import 'compass'; +@import 'bootstrap_lib/_variables'; +$header-background:#545454; +$color-style1:#666; +$color1-style1:#333; +$color2-style1:#b7b7b7; + +body{background:#232323} +.header-container, +.columns-container{background:$color1-style1} + +//-------- HEADER +#header { + background:none; + .header-row { + background:$header-background; + .shop-phone{ + color:white; + text-shadow:0 1px #404040; + i, + strong{color:#aaaaaa;text-shadow:0 1px #404040;} + + } + } + + #currencies-block-top, + #languages-block-top, + .header-row #header_user_info{ + border-color:#656565; + } + + #currencies-block-top div.current, + #languages-block-top div.current, + .header-row #header_user_info a + { + color:white; + &:hover, &.active { + color:white + } + + } + #currencies-block-top div.current, + #languages-block-top div.current{ + padding-bottom:11px; + strong, + &:after{color:white;} + } + + #currencies-block-top div.current, + #languages-block-top div.current + {&:hover, + &.active { + strong, + &:after + { + background:#2b2b2b; + color:white} + } + } + + #contact-link{ + border-color:#656565; + a{color:white; + &:hover, &.active { + background:#2b2b2b; + color:white + } + } + } + +} + + + + #search_block_top .btn.button-search{ + background:$color-style1; + + &:hover{color:white; + background:$color1-style1} + + + } + #search_block_top #search_query_top {background:white;color:$color1-style1} + + + + #header_right #header_user #shopping_cart a{ + background:$color-style1; + color:white; + &:after{color:white} + &:hover{color:white; + background:$color1-style1} + } + + + .sf-menu{ + background:white; + border:1px solid #f2f2f2; + border-bottom:3px solid #f2f2f2; + >li{ + border-right:1px solid #d6d4d4; + a{border-bottom: 3px solid #f2f2f2;} + &.sfHover > a, > a:hover, &.sfHoverForce > a + {color:#fff;background:$color-style1; + border-bottom-color:$color-style1;} + } + } + + + +//-------- columns-container + + #home-page-tabs{ + background:white; + > li.active a, + > li a:hover{ + background:$color1-style1; + color:white + } + + } + + + .new, + .sale + {background:#f44051; + &:before, + &:after{ + border-color: #f44051 transparent transparent transparent ; + } + } + + + ul.product_list.grid > li .product-container{ + background:white; + .product-image-container{ + background:#474747; + .product_img_link{background:#474747; + img{background:#474747;} + } + } + } + + ul.product_list.grid > li:hover .product-container{background:#5c5c5c; + .product-name{color:#aaa} + .functional-buttons div a, ul.product_list.grid > li .product-container .functional-buttons div label{color:#aaa; + + &:hover{color:#fff} + } + + } + + + #cmsinfo_block em{background:$color-style1;} + #facebook_block, #cmsinfo_block{background:#454545; + h4{color:white} + + } + #cmsinfo_block h3, + #cmsinfo_block .dark + {color:white} + + #cmsinfo_block, + #cmsinfo_block > div + div{border-color:#1b1b1b;} + .footer-container { + background:#1b1b1b; + @media (min-width: $screen-sm) { // min 768px + background:url(../img/footer-bg1.gif) repeat-x; + } +} +.footer-container #footer #social_block{ background:#1b1b1b;} + + #footer #newsletter_block_left .form-group{ + .form-control{background:#1b1b1b;} + .button-small {color:$color-style1;} + } + + .footer-container #footer #social_block ul li a:hover{color:white;} + + \ No newline at end of file diff --git a/modules/themeconfigurator/sass/theme-style3.scss b/modules/themeconfigurator/sass/theme-style3.scss new file mode 100644 index 000000000..e38d6b14a --- /dev/null +++ b/modules/themeconfigurator/sass/theme-style3.scss @@ -0,0 +1,197 @@ +@import 'compass'; +@import 'bootstrap_lib/_variables'; +$color-style1:#719f41; +$color1-style1:#333; +$color2-style1:#b7b7b7; + +body{background:$color1-style1} +.header-container, +.columns-container{background:#fff} + + //-------- HEADER + #header { + background:none; + .header-row { + background:$color1-style1; + .shop-phone{ + color:#777; + i, + strong{color:$color-style1} + + } + } + + #currencies-block-top, + #languages-block-top, + .header-row #header_user_info{ + border-color:#515151; + } + + #currencies-block-top div.current, + #languages-block-top div.current, + .header-row #header_user_info a + { + color:white; + &:hover, &.active { + background:#2b2b2b; + color:white + } + + } + #currencies-block-top div.current, + #languages-block-top div.current{ + strong{color:$color1-style1;} + } + + + #currencies-block-top div.current, + #languages-block-top div.current{ + &:after, + strong{color:white} + + } + + #currencies-block-top div.current, + #languages-block-top div.current + {&:hover, + &.active { + strong, + &:after + { + color:white} + } + } + + #contact-link{ + border-color:#515151; + a{color:white; + &:hover, &.active { + background:#2b2b2b; + color:white + } + } + } + +} + + + #search_block_top .btn.button-search{ + background:$color-style1; + text-shadow:0 1px #567931; + &:hover{color:white; + background:$color1-style1; + text-shadow:0 1px #333;} + } + + #search_block_top #search_query_top{color:#686666} + + + #header_right #header_user #shopping_cart a{ + background:$color-style1; + color:white; + text-shadow:0 1px #567931; + &:after{color:white} + &:hover{color:white; + text-shadow:0 1px #333; + background:$color1-style1} + } + + .sf-menu{ + background:#f6f6f6; + border-bottom:3px solid #e9e9e9; + >li{ + border-right:1px solid #d6d4d4; + a{border-bottom: 3px solid #e9e9e9;} + &.sfHover > a, > a:hover, &.sfHoverForce > a + {color:#fff;background:$color-style1; + border-bottom-color:#598b24;} + } + } + + + +//-------- columns-container + + #home-page-tabs{ + background:white; + > li.active a, + > li a:hover{ + background:$color-style1; + color:white + } + + } + + + .new, + .sale + {background:$color-style1; + &:before, + &:after{ + border-color: #719f41 transparent transparent transparent ; + } + } + + + ul.product_list.grid > li .product-container{ + background:white; + .product-image-container{ + background:white; + .product_img_link{background:white; + img{background:white;} + } + } + } + +.price.product-price{color:$color-style1;} +.price-percent-reduction{background:$color-style1;border-color:$color-style1} + .button.lnk_view { + text-shadow:none; + padding:0; + border:none; + span { + border:none; + padding:12px 16px; + background:$color1-style1; + color:white; + } + + &:hover { + span { + background:$color-style1; + } + } + } + + + #cmsinfo_block em{background:$color1-style1;} + #facebook_block, #cmsinfo_block{background:#e8e8e8} + #cmsinfo_block, + #cmsinfo_block > div + div{border-color:#d0d0d0;} + + .footer-container #footer #social_block { background:#3f3f3f;padding-bottom:15px;} + .footer-container { + background:#3f3f3f; + @media (min-width: $screen-sm) { // min 768px + background:url(../img/footer-bg.gif) repeat-x; + } +} + .footer-container #footer #social_block ul li a:hover{color:$color-style1;} + + #footer #newsletter_block_left .form-group{ + .form-control{background:#3f3f3f;} + + } + + #footer #newsletter_block_left h4, + .footer-container #footer #social_block h4{color:#fff} + + .footer-container #footer h4, + .footer-container #footer h4 a{color:$color-style1;} + .footer-container #footer .bottom-footer{color:$color-style1; + a{color:$color-style1; + &:hover{color:#fff} + } + } + + \ No newline at end of file diff --git a/modules/themeconfigurator/sass/theme-style8.scss b/modules/themeconfigurator/sass/theme-style8.scss new file mode 100644 index 000000000..93fcc3f88 --- /dev/null +++ b/modules/themeconfigurator/sass/theme-style8.scss @@ -0,0 +1,177 @@ +@import 'compass'; +@import 'bootstrap_lib/_variables'; + +$header-background:#333333; +$color-style1:#eea200; +$color1-style1:#fff; +$color2-style1:#b7b7b7; + +body{background:#282828} +.header-container, +.columns-container{background:#f7f5eb} + + //-------- HEADER + #header { + background:none; + .header-row { + background:$header-background; + .shop-phone{ + color:$color1-style1; + i, + strong{color:$color-style1} + + } + } + + + #currencies-block-top, + #languages-block-top, + .header-row #header_user_info{ + border-color:#515151; + } + + #currencies-block-top div.current, + #languages-block-top div.current, + .header-row #header_user_info a + { + color:$color1-style1; + &:hover, &.active { + background:$color2-style1; + color:white + } + + } + #currencies-block-top div.current, + #languages-block-top div.current{ + strong{color:$color1-style1;} + } + + #currencies-block-top div.current, + #languages-block-top div.current + {&:hover, + &.active { + strong, + &:after + { + background:$color2-style1; + color:white} + } + } + + #contact-link{ + border-color:#515151; + a{color:$color1-style1; + &:hover, &.active { + background:$color2-style1; + color:white + } + } + } + +} + + + #search_block_top .btn.button-search{background:$color-style1; + &:hover{color:white; + background:$color2-style1} + } + + #header_right #header_user #shopping_cart a{ + background:$color-style1; + color:white; + &:after{color:white} + &:hover{color:white; + background:$color2-style1} + } + + .sf-menu{ + background:#fffef6; + border-bottom:3px solid #e2dec8; + >li{ + border-right:1px solid #e2dec8; + a{border-bottom: 3px solid #e2dec8;} + &.sfHover > a, > a:hover, &.sfHoverForce > a + {color:#fff;background:$color-style1; + border-bottom-color:#da9400;} + } + } + + + +//-------- columns-container + + #home-page-tabs{ + background:none; + > li.active a, + > li a:hover{ + background:$color-style1; + color:white + } + + } + + + .new, + .sale + {background:$color-style1; + &:before, + &:after{ + border-color: $color-style1 transparent transparent transparent ; + } + } + + + ul.product_list.grid > li .product-container{ + background:none; + .product-image-container{ + background:white; + .product_img_link{ + background:#f1e8e3; + img{ + background:#f1e8e3; + } + } + } + } + + + + .button.lnk_view { + text-shadow:none; + padding:0; + border:none; + span { + border:1px solid #9a9a9a; + padding:12px 16px; + background:#f2f2f2; + color:white; + } + + &:hover { + span { + background:$color2-style1; + } + } + } + + + #cmsinfo_block em{background:$color-style1;} + #facebook_block, #cmsinfo_block{background:#f0eee1} + #cmsinfo_block, + #cmsinfo_block > div + div{border-color:#e9e6d6;} + + .footer-container #footer #social_block { background:none;padding-bottom:15px;} + .footer-container { + background:#3f3f3f; + @media (min-width: $screen-sm) { // min 768px + background:url(../img/footer-bg.gif) repeat-x; + } +} + #footer #newsletter_block_left .form-group{ + .form-control{background:#3c3c3c;} + .button-small {color:$color-style1;} + } + + .footer-container #footer #social_block ul li a:hover{color:$color-style1;} + + \ No newline at end of file diff --git a/modules/themeconfigurator/themeconfigurator.php b/modules/themeconfigurator/themeconfigurator.php index ca1f0def3..868fea40a 100644 --- a/modules/themeconfigurator/themeconfigurator.php +++ b/modules/themeconfigurator/themeconfigurator.php @@ -29,15 +29,26 @@ if (!defined('_PS_VERSION_')) class ThemeConfigurator extends Module { + protected $max_image_size = 1048576; + protected $default_language; + protected $languages; + public function __construct() { $this->name = 'themeconfigurator'; $this->tab = 'front_office_features'; $this->version = '0.1'; + $this->bootstrap = true; + $this->secure_key = Tools::encrypt($this->name); + $this->default_language = Language::getLanguage(Configuration::get('PS_LANG_DEFAULT')); + $this->languages = Language::getLanguages(); parent::__construct(); $this->displayName = $this->l('Theme configurator'); $this->description = $this->l('Configure elements of your theme'); - $this->bootstrap = true; + $this->module_path = _PS_MODULE_DIR_.$this->name.'/'; + $this->uploads_path = _PS_MODULE_DIR_.$this->name.'/images/'; + $this->admin_tpl_path = _PS_MODULE_DIR_.$this->name.'/views/templates/admin/'; + $this->hooks_tpl_path = _PS_MODULE_DIR_.$this->name.'/views/templates/hooks/'; } public function install() @@ -58,207 +69,634 @@ class ThemeConfigurator extends Module '"Lucida Console", Monaco, monospace' ); - return (parent::install() - && $this->registerHook('top') - && Configuration::updateValue('PS_TC_THEMES', serialize($themes_colors)) - && Configuration::updateValue('PS_TC_THEMES_FONTS', serialize($themes_fonts))); + if (!parent::install() || + !$this->installDB() || + !$this->installFixtures() || + !$this->registerHook('displayHeader') || + !$this->registerHook('displayTop') || + !$this->registerHook('displayLeftColumn') || + !$this->registerHook('displayRightColumn') || + !$this->registerHook('displayHome') || + !$this->registerHook('displayFooter') || + !$this->registerHook('displayBackOfficeHeader') || + !Configuration::updateValue('PS_TC_THEMES', serialize($themes_colors)) || + !Configuration::updateValue('PS_TC_FONTS', serialize($themes_fonts))) + return false; + + return true; } - public function hookTop($params) + private function installDB() { - if ((int)Tools::getValue('live_configurator', 0) == 1) - { - if (Tools::isSubmit('submitLiveConfigurator')) - { - Configuration::updateValue('PS_TC_THEME', Tools::getValue('theme')); - Configuration::updateValue('PS_TC_TEXT_PAGE_FONT', Tools::getValue('text-page-font')); - Configuration::updateValue('PS_TC_TEXT_MENU_FONT', Tools::getValue('text-menu-font')); - Configuration::updateValue('PS_TC_PRODUCT_NAME_FONT', Tools::getValue('product-name-font')); - } + return ( + Db::getInstance()->Execute('DROP TABLE IF EXISTS `'._DB_PREFIX_.'themeconfigurator`') && + Db::getInstance()->Execute(' + CREATE TABLE `'._DB_PREFIX_.'themeconfigurator` ( + `id_item` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_shop` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `item_order` int(10) unsigned NOT NULL, + `title` VARCHAR(100), + `title_use` tinyint(1) unsigned NOT NULL DEFAULT \'0\', + `hook` VARCHAR(100), + `url` VARCHAR(100), + `target` tinyint(1) unsigned NOT NULL DEFAULT \'0\', + `image` VARCHAR(100), + `image_w` VARCHAR(10), + `image_h` VARCHAR(10), + `html` TEXT, + `active` tinyint(1) unsigned NOT NULL DEFAULT \'1\', + PRIMARY KEY (`id_item`) + ) ENGINE = '._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8;') + ); - $this->context->controller->addCSS($this->_path.'css/live_configurator.css'); - $this->context->controller->addJS($this->_path.'js/live_configurator.js'); - - $this->smarty->assign(array( - 'themes_colors' => unserialize(Configuration::get('PS_TC_THEMES_COLORS')), - 'themes_fonts' => unserialize(Configuration::get('PS_TC_THEMES_FONTS')), - 'advertisement_image' => $this->_path.'/img/'.$this->context->language->iso_code.'/advertisement.png', - 'advertisement_text' => $this->l('Over 500+ PrestaShop Premium Templates! Browse Now!') - )); - return $this->display(__FILE__, 'live_configurator.tpl'); - } + return true; } - public function getContent() - { - if (Tools::isSubmit('submitModule')) - { - Configuration::updateValue('PS_QUICK_VIEW', (int)Tools::getValue('quick_view')); - foreach($this->getConfigurableModules() as $module) + public function installFixtures() + { + $result = true; + + for ($i = 1; $i < 6; $i++) + { + $result &= Db::getInstance()->Execute(' + INSERT INTO `'._DB_PREFIX_.'themeconfigurator` ( + `id_shop`, `id_lang`, `item_order`, `title`, `title_use`, `hook`, `url`, `target`, `image`, `image_w`, `image_h`, `html`, `active` + ) VALUES ( + \''.(int)$this->context->shop->id.'\', + \''.(int)$this->context->language->id.'\', + \''.(int)$i.'\', + \'\', + \'0\', + \'home\', + \'\', + \'\', + \'banner-img'.$i.'.jpg\', + \'\', + \'\', + \'\', + 1) + '); + } + + for ($i = 6; $i < 8; $i++) + { + $result &= Db::getInstance()->Execute(' + INSERT INTO `'._DB_PREFIX_.'themeconfigurator` ( + `id_shop`, `id_lang`, `item_order`, `title`, `title_use`, `hook`, `url`, `target`, `image`, `image_w`, `image_h`, `html`, `active` + ) VALUES ( + \''.(int)$this->context->shop->id.'\', + \''.(int)$this->context->language->id.'\', + \''.(int)$i.'\', + \'\', + \'0\', + \'top\', + \'\', + \'\', + \'banner-img'.$i.'.jpg\', + \'\', + \'\', + \'\', + 1) + '); + } + + + return $result; + } + + public function uninstall() + { + $images = Db::getInstance()->executeS('SELECT image FROM `'._DB_PREFIX_.'themeconfigurator`'); + foreach ($images as $image) + $this->deleteImage($image['image']); + + if (!Db::getInstance()->Execute('DROP TABLE IF EXISTS `'._DB_PREFIX_.'themeconfigurator`') || + !parent::uninstall()) + return false; + + return true; + } + + public function hookDisplayBackOfficeHeader() + { + if (Tools::getValue('configure') != $this->name) + return; + $this->context->controller->addCSS($this->_path.'views/css/admin.css'); + $this->context->controller->addJquery(); + $this->context->controller->addJS($this->_path.'views/js/admin.js'); + } + + public function hookdisplayHeader($params) + { + $this->context->controller->addCss($this->_path.'views/css/hooks.css', 'all'); + + if ((int)Tools::getValue('live_configurator', 0) == 1) + { + if (Tools::getValue('theme')) + $this->context->controller->addCss($this->smarty->smarty->tpl_vars['css_dir']->value.Tools::getValue('theme').'.css', 'all'); + } + else + { + if (Configuration::get('PS_TC_THEME') != '') + $this->context->controller->addCss($this->smarty->smarty->tpl_vars['css_dir']->value.Tools::getValue('theme').'.css', 'all'); + } + } + + public function hookDisplayTop() + { + if ((int)Tools::getValue('live_configurator', 0) == 1) { - if (!isset($module['is_module']) || !$module['is_module'] || !Validate::isModuleName($module['name'])) - continue; - - $module_instance = Module::getInstanceByName($module['name']); - if ($module_instance === false || !is_object($module_instance)) - continue; - - $is_installed = (int)Validate::isLoadedObject($module_instance); - if ($is_installed) + if (Tools::isSubmit('submitLiveConfigurator')) { - if (($active = (int)Tools::getValue($module['name'])) == $module_instance->active) - continue; - - if ($active) - $module_instance->enable(); - else - $module_instance->disable(); + Configuration::updateValue('PS_TC_THEME', Tools::getValue('theme')); + Configuration::updateValue('PS_TC_FONT', Tools::getValue('font')); } - else - if ((int)Tools::getValue($module['name'])) - $module_instance->install(); - } - } - return $this->renderForm(); - } - public function renderForm() - { - $inputs = array(); - foreach ($this->getConfigurableModules() as $module) - $inputs[] = array( - 'type' => 'switch', - 'label' => $module['label'], - 'name' => $module['name'], - 'desc' => (isset($module['desc']) ? $module['desc'] : ''), - 'values' => array( - array( - 'id' => 'active_on', - 'value' => 1, - 'label' => $this->l('Enabled') - ), - array( - 'id' => 'active_off', - 'value' => 0, - 'label' => $this->l('Disabled') - ) - ), - ); - - $fields_form = array( - 'form' => array( - 'legend' => array( - 'title' => $this->l('Settings'), - 'icon' => 'icon-cogs' - ), - 'input' => $inputs, - 'submit' => array( - 'title' => $this->l('Save'), - 'class' => 'btn btn-default') - ), - ); - - $helper = new HelperForm(); - $helper->show_toolbar = false; - $helper->table = $this->table; - $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); - $helper->default_form_language = $lang->id; - $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; - $this->fields_form = array(); + $this->context->controller->addCSS($this->_path.'css/live_configurator.css'); + $this->context->controller->addJS($this->_path.'js/live_configurator.js'); - $helper->identifier = $this->identifier; - $helper->submit_action = 'submitModule'; - $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; - $helper->token = Tools::getAdminTokenLite('AdminModules'); - $helper->tpl_vars = array( - 'fields_value' => $this->getConfigFieldsValues(), - 'languages' => $this->context->controller->getLanguages(), - 'id_language' => $this->context->language->id - ); + $this->smarty->assign(array( + 'themes' => unserialize(Configuration::get('PS_TC_THEMES')), + 'fonts' => unserialize(Configuration::get('PS_TC_FONTS')), + 'theme' => Tools::getValue('theme', ''), + 'advertisement_image' => $this->_path.'/img/'.$this->context->language->iso_code.'/advertisement.png', + 'advertisement_text' => $this->l('Over 500+ PrestaShop Premium Templates! Browse Now!') + )); + return $this->display(__FILE__, 'live_configurator.tpl'); + } + + $this->context->smarty->assign(array( + 'htmlitems'=> $this->getItemsFromHook('top'), + 'hook' => 'top' + )); + return $this->display(__FILE__, 'hook.tpl'); + } - return $helper->generateForm(array($fields_form)); - } - - protected function getConfigurableModules() - { - return array( - array( - 'label' => $this->l('Display the reinsurance block'), - 'name' => 'blockreinsurance', - 'desc' => ''.$this->l('Configure the reinsurance block').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockreinsurance')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Display the social following links'), - 'name' => 'blocksocial', - 'desc' => ''.$this->l('Configure the social following links').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blocksocial')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Display contact information'), - 'name' => 'blockcontactinfos', - 'desc' => ''.$this->l('Configure the contact information of your store').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockcontactinfos')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Display social buttons on the products page'), - 'name' => 'addsharethis', - 'desc' => ''.$this->l('Configure').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('addsharethis')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Display facebook block on the home page'), - 'name' => 'blockfacebook', - 'desc' => ''.$this->l('Configure').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockfacebook')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Customer cms information block'), - 'name' => 'blockcmsinfo', - 'desc' => ''.$this->l('Configure').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockcmsinfo')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Customer banner information block'), - 'name' => 'tmhtmlcontent', - 'desc' => ''.$this->l('Configure').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('tmhtmlcontent')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Enable Quick view'), - 'name' => 'quick_view', - 'value' => (int)Tools::getValue('PS_QUICK_VIEW', Configuration::get('PS_QUICK_VIEW')) - ), - array( - 'label' => $this->l('Enable top banner'), - 'name' => 'blockbanner', - 'desc' => ''.$this->l('Configure').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockbanner')) && $module->active), - 'is_module' => true, - ), - array( - 'label' => $this->l('Enable product payment logos'), - 'name' => 'productpaymentlogos', - 'desc' => ''.$this->l('Configure').'', - 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('productpaymentlogos')) && $module->active), - 'is_module' => true, - ) - ); - } + public function hookDisplayHome() + { + $this->context->smarty->assign(array( + 'htmlitems'=> $this->getItemsFromHook('home'), + 'hook' => 'home' + )); + return $this->display(__FILE__, 'hook.tpl'); + } - public function getConfigFieldsValues() - { - $values = array(); - foreach ($this->getConfigurableModules() as $module) - $values[$module['name']] = $module['value']; - return $values; + public function hookDisplayLeftColumn() + { + $this->context->smarty->assign(array( + 'htmlitems'=> $this->getItemsFromHook('left'), + 'hook' => 'left' + )); + return $this->display(__FILE__, 'hook.tpl'); + } + + public function hookDisplayRightColumn() + { + $this->context->smarty->assign(array( + 'htmlitems'=> $this->getItemsFromHook('right'), + 'hook' => 'right' + )); + return $this->display(__FILE__, 'hook.tpl'); + } + + public function hookDisplayFooter() + { + $this->context->smarty->assign(array( + 'htmlitems'=> $this->getItemsFromHook('footer'), + 'hook' => 'footer' + )); + return $this->display(__FILE__, 'hook.tpl'); + } - } + protected function getItemsFromHook($hook) + { + if (!$hook) + return false; + + return Db::getInstance()->ExecuteS(' + SELECT * + FROM `'._DB_PREFIX_.'themeconfigurator` + WHERE id_shop = '.(int)$this->context->shop->id.' AND id_lang = '.(int)$this->context->language->id.' AND hook = \''.pSQL($hook).'\' AND active = 1 + ORDER BY item_order ASC' + ); + } + + protected function deleteImage($image) + { + $file_name = $this->uploads_path.$image; + if (realpath(dirname($file_name)) != $this->uploads_path) + die; + + if ($image != '' && is_file($file_name)) + unlink($file_name); + } + + protected function removeItem() + { + $id_item = (int)Tools::getValue('item_id'); + + if ($image = Db::getInstance()->getValue('SELECT image FROM `'._DB_PREFIX_.'themeconfigurator` WHERE id_item = '.(int)$id_item)) + $this->deleteImage($image); + + Db::getInstance()->delete(_DB_PREFIX_.'themeconfigurator', 'id_item = '.(int)$id_item); + + if (Db::getInstance()->Affected_Rows() == 1) + { + Db::getInstance()->execute(' + UPDATE `'._DB_PREFIX_.'themeconfigurator` + SET item_order = item_order-1 + WHERE ( + item_order > '.(int)Tools::getValue('item_order').' AND + id_shop = '.(int)$this->context->shop->id.' AND + hook = \''.pSQL(Tools::getValue('item_hook')).'\') + '); + + $this->context->smarty->assign('confirmation', $this->l('Successful deletion.')); + } + else + $this->context->smarty->assign('error', $this->l('Can\'t delete the slide.')); + } + + protected function updateItem() + { + $id_item = (int)Tools::getValue('item_id'); + + $title = Tools::getValue('item_title'); + $content = Tools::getValue('item_html'); + if (!Validate::isCleanHtml($title, (int)Configuration::get('PS_ALLOW_HTML_IFRAME')) || !Validate::isCleanHtml($content,(int)Configuration::get('PS_ALLOW_HTML_IFRAME'))) + { + $this->context->smarty->assign('error', $this->l('Invalid content')); + return false; + } + + $new_image = ''; + $image_w = (is_numeric(Tools::getValue('item_img_w'))) ? (int)Tools::getValue('item_img_w') : ''; + $image_h = (is_numeric(Tools::getValue('item_img_h'))) ? (int)Tools::getValue('item_img_h') : ''; + + if(!empty($_FILES['item_img']['name'])) + { + if ($old_image = Db::getInstance()->getValue('SELECT image FROM `'._DB_PREFIX_.'themeconfigurator` WHERE id_item = '.(int)$id_item)) + $this->_deleteImages($old_image); + + if (!$image = $this->uploadImage($_FILES['item_img'], $image_w, $image_h)) + return false; + + $new_image = 'image = \''.pSQL($image).'\','; + } + else + { + $image_w = ''; + $image_h = ''; + } + + if (!Db::getInstance()->execute(' + UPDATE `'._DB_PREFIX_.'themeconfigurator` SET + title = \''.pSQL($title).'\', + title_use = '.(int)Tools::getValue('item_title_use').', + hook = \''.pSQL(Tools::getValue('item_hook')).'\', + url = \''.pSQL(Tools::getValue('item_url')).'\', + target = '.(int)Tools::getValue('item_target').', + '.$new_image.' + image_w = '.(int)$image_w.', + image_h = '.(int)$image_h.', + active = '.(int)Tools::getValue('item_active').', + html = \''.pSQL($content).'\' + WHERE id_item = '.(int)Tools::getValue('item_id') + )) + { + if ($image = Db::getInstance()->getValue('SELECT image FROM `'._DB_PREFIX_.'themeconfigurator` WHERE id_item = '.(int)Tools::getValue('item_id'))) + $this->deleteImage($image); + + $this->context->smarty->assign('error', $this->l('An error occured while saving data.')); + return false; + } + $this->context->smarty->assign('confirmation', $this->l('Successfully updated.')); + return true; + } + + protected function uploadImage($image, $image_w = '', $image_h = '') + { + $res = false; + if (is_array($image) && (ImageManager::validateUpload($image, $this->max_image_size) === false) && ($tmp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS')) && move_uploaded_file($image['tmp_name'], $tmp_name)) + { + $type = Tools::strtolower(Tools::substr(strrchr($image['name'], '.'), 1)); + $img_name = Tools::encrypt($image['name'].sha1(microtime())).'.'.$type; + Configuration::set('PS_IMAGE_QUALITY','png_all'); + if (ImageManager::resize($tmp_name, dirname(__FILE__).'/images/'.$img_name, $image_w, $image_h)) + $res = true; + + } + + if (isset($temp_name)) + @unlink($tmp_name); + if (!$res) + { + $this->context->smarty->assign('error', $this->l('An error occurred during the image upload.')); + return false; + } + + return $img_name; + } + + public function getContent() + { + if (Tools::isSubmit('submitModule')) + { + Configuration::updateValue('PS_QUICK_VIEW', (int)Tools::getValue('quick_view')); + foreach($this->getConfigurableModules() as $module) + { + if (!isset($module['is_module']) || !$module['is_module'] || !Validate::isModuleName($module['name']) || !Tools::isSubmit($module['name'])) + continue; + + $module_instance = Module::getInstanceByName($module['name']); + if ($module_instance === false || !is_object($module_instance)) + continue; + + $is_installed = (int)Validate::isLoadedObject($module_instance); + if ($is_installed) + { + if (($active = (int)Tools::getValue($module['name'])) == $module_instance->active) + continue; + + if ($active) + $module_instance->enable(); + else + $module_instance->disable(); + } + else + if ((int)Tools::getValue($module['name'])) + $module_instance->install(); + } + } + + if (Tools::isSubmit('newItem')) + $this->addItem(); + elseif (Tools::isSubmit('updateItem')) + $this->updateItem(); + elseif (Tools::isSubmit('removeItem')) + $this->removeItem(); + + $html = $this->renderConfigurationForm(); + $html .= $this->renderThemeConfiguratorForm(); + + return $html; + } + + protected function addItem() + { + $title = Tools::getValue('item_title'); + $content = Tools::getValue('item_html'); + if (!Validate::isCleanHtml($title, (int)Configuration::get('PS_ALLOW_HTML_IFRAME')) || !Validate::isCleanHtml($content, (int)Configuration::get('PS_ALLOW_HTML_IFRAME'))) + { + $this->context->smarty->assign('error', $this->l('Invalid content')); + return false; + } + + + if (!$current_order = (int)Db::getInstance()->getValue(' + SELECT item_order + 1 + FROM `'._DB_PREFIX_.'themeconfigurator` + WHERE + id_shop = '.(int)$this->context->shop->id.' + AND id_lang = '.(int)Tools::getValue('id_lang').' + AND hook = \''.pSQL(Tools::getValue('item_hook')).'\' + ORDER BY item_order DESC' + )) + $current_order = 1; + + $image_w = is_numeric(Tools::getValue('item_img_w')) ? (int)Tools::getValue('item_img_w') : ''; + $image_h = is_numeric(Tools::getValue('item_img_h')) ? (int)Tools::getValue('item_img_h') : ''; + + if(!empty($_FILES['item_img']['name'])) + { + if (!$image = $this->uploadImage($_FILES['item_img'], $image_w, $image_h)) + return false; + } + else + { + $image = ''; + $image_w = ''; + $image_h = ''; + } + + if (!Db::getInstance()->Execute(' + INSERT INTO `'._DB_PREFIX_.'themeconfigurator` ( + `id_shop`, `id_lang`, `item_order`, `title`, `title_use`, `hook`, `url`, `target`, `image`, `image_w`, `image_h`, `html`, `active` + ) VALUES ( + \''.(int)$this->context->shop->id.'\', + \''.(int)Tools::getValue('id_lang').'\', + \''.(int)$current_order.'\', + \''.pSQL($title).'\', + \''.(int)Tools::getValue('item_title_use').'\', + \''.pSQL(Tools::getValue('item_hook')).'\', + \''.pSQL(Tools::getValue('item_url')).'\', + \''.(int)Tools::getValue('item_target').'\', + \''.pSQL($image).'\', + \''.pSQL($image_w).'\', + \''.pSQL($image_h).'\', + \''.pSQL($content).'\', + 1) + ')) + { + if (!Tools::isEmpty($image)) + $this->deleteImage($image); + + $this->context->smarty->assign('error', $this->l('An error occured while saving data.')); + return false; + } + + $this->context->smarty->assign('confirmation', $this->l('New item added successfull.')); + return true; + } + + public function renderConfigurationForm() + { + $inputs = array(); + foreach ($this->getConfigurableModules() as $module) + { + $desc = ''; + if (isset($module['is_module']) && $module['is_module']) + { + $module_instance = Module::getInstanceByName($module['name']); + if (Validate::isLoadedObject($module_instance) && method_exists($module_instance, 'getContent')) + $desc = ''.$this->l('Configure').''; + } + if (!$desc && isset($module['desc']) && $module['desc']) + $desc = $module['desc']; + + $inputs[] = array( + 'type' => 'switch', + 'label' => $module['label'], + 'name' => $module['name'], + 'desc' => $desc, + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ); + } + + $inputs[] = array( + 'type' => 'free', + 'label' => $this->l('Live configurator'), + 'name' => 'live-conf' + ); + + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => $inputs, + 'submit' => array( + 'title' => $this->l('Save'), + 'class' => 'btn btn-primary') + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitModule'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => array_merge($this->getConfigFieldsValues(), + array('live-conf' => ' Live configurator')), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + protected function renderThemeConfiguratorForm() + { + $id_shop = (int)$this->context->shop->id; + $items = array(); + + $this->context->smarty->assign('htmlcontent', array( + 'admin_tpl_path' => $this->admin_tpl_path, + 'hooks_tpl_path' => $this->hooks_tpl_path, + + 'info' => array( + 'module' => $this->name, + 'name' => $this->displayName, + 'version' => $this->version, + 'psVersion' => _PS_VERSION_, + 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1 + ) + )); + + foreach ($this->languages as $language) { + $hooks[$language['id_lang']] = array('home', 'top', 'left', 'right', 'footer'); + + foreach ($hooks[$language['id_lang']] as $hook) + $items[$language['id_lang']][$hook] = Db::getInstance()->ExecuteS(' + SELECT * FROM `'._DB_PREFIX_.'themeconfigurator` + WHERE id_shop = '.(int)$id_shop.' + AND id_lang = '.(int)$language['id_lang'].' + AND hook = \''.pSQL($hook).'\' + ORDER BY item_order ASC' + ); + } + + $this->context->smarty->assign('htmlitems', array( + 'items' => $items, + 'lang' => array( + 'default' => $this->default_language, + 'all' => $this->languages, + 'lang_dir' => _THEME_LANG_DIR_, + 'user' => $this->context->language->id + ), + 'postAction' => 'index.php?tab=AdminModules&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules').'&tab_module=other&module_name='.$this->name.'', + 'id_shop' => $id_shop + )); + + return $this->display(__FILE__, 'views/templates/admin/admin.tpl'); + } + + protected function getConfigurableModules() + { + return array( + array( + 'label' => $this->l('Display the reinsurance block'), + 'name' => 'blockreinsurance', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockreinsurance')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Display the social following links'), + 'name' => 'blocksocial', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blocksocial')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Display contact information'), + 'name' => 'blockcontactinfos', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockcontactinfos')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Display social buttons on the products page'), + 'name' => 'addsharethis', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('addsharethis')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Display facebook block on the home page'), + 'name' => 'blockfacebook', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockfacebook')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Customer cms information block'), + 'name' => 'blockcmsinfo', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockcmsinfo')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Enable Quick view'), + 'name' => 'quick_view', + 'value' => (int)Tools::getValue('PS_QUICK_VIEW', Configuration::get('PS_QUICK_VIEW')) + ), + array( + 'label' => $this->l('Enable top banner'), + 'name' => 'blockbanner', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockbanner')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ), + array( + 'label' => $this->l('Enable product payment logos'), + 'name' => 'productpaymentlogos', + 'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('productpaymentlogos')) && $module->isEnabledForShopContext()), + 'is_module' => true, + ) + ); + } + + public function getConfigFieldsValues() + { + $values = array(); + foreach ($this->getConfigurableModules() as $module) + $values[$module['name']] = $module['value']; + return $values; + + } } diff --git a/modules/themeconfigurator/views/templates/hook/hook.tpl b/modules/themeconfigurator/views/templates/hook/hook.tpl new file mode 100644 index 000000000..bb8eb1c42 --- /dev/null +++ b/modules/themeconfigurator/views/templates/hook/hook.tpl @@ -0,0 +1,27 @@ +{if isset($htmlitems) && $htmlitems} + +{/if} \ No newline at end of file diff --git a/modules/themeconfigurator/views/templates/hook/live_configurator.tpl b/modules/themeconfigurator/views/templates/hook/live_configurator.tpl index eb2ccdb6a..2b6449c52 100644 --- a/modules/themeconfigurator/views/templates/hook/live_configurator.tpl +++ b/modules/themeconfigurator/views/templates/hook/live_configurator.tpl @@ -26,8 +26,8 @@
-
- + +

{l s='The customization tool allows you to make color and font changes in your theme.' mod='themeconfigurator'}

@@ -41,10 +41,10 @@

- {if isset($themes_colors)} + {if isset($themes)}
    - {foreach $themes_colors as $theme} + {foreach $themes as $theme}
  • @@ -60,27 +60,16 @@

-

{l s='Text page' mod='themeconfigurator'}

- -

{l s='Text menu parrent normal' mod='themeconfigurator'}

- -

{l s='Product name' mod='themeconfigurator'}

- + + {foreach $fonts as $key => $font} {/foreach}
- +
diff --git a/themes/default-bootstrap/css/contact-form.css b/themes/default-bootstrap/css/contact-form.css index b632687f2..70dc69983 100644 --- a/themes/default-bootstrap/css/contact-form.css +++ b/themes/default-bootstrap/css/contact-form.css @@ -17,9 +17,9 @@ padding: 23px 0 0 0; margin-bottom: 30px; background: url(../img/contact-form.png) repeat-x white; - -webkit-box-shadow: rgba(0, 0, 0, 0) 0px 5px 13px; - -moz-box-shadow: rgba(0, 0, 0, 0) 0px 5px 13px; - box-shadow: rgba(0, 0, 0, 0) 0px 5px 13px; + -webkit-box-shadow: rgba(0, 0, 0, 0.17) 0px 5px 13px; + -moz-box-shadow: rgba(0, 0, 0, 0.17) 0px 5px 13px; + box-shadow: rgba(0, 0, 0, 0.17) 0px 5px 13px; } .contact-form-box fieldset { padding: 0 19px 21px 19px; diff --git a/themes/default-bootstrap/css/global.css b/themes/default-bootstrap/css/global.css index c23693255..c5766fe7a 100644 --- a/themes/default-bootstrap/css/global.css +++ b/themes/default-bootstrap/css/global.css @@ -1733,7 +1733,6 @@ ul.step li em { margin: 0 1px 0 0; width: 16px; height: 16px; - text-indent: -999em; cursor: pointer; } @@ -1741,10 +1740,6 @@ ul.step li em { background: url(../../../modules/productcomments/img/delete.gif) no-repeat 0 -16px !important; } -.star, .star a { - background: url(modules/productcomments/img/star.png) no-repeat 0 0; -} - .cancel a, .star a { display: block; width: 100%; @@ -3203,25 +3198,46 @@ form#sendComment h3 { .star { position: relative; - top: 2px; + top: -1px; float: left; - height: 12px; - width: 12px; + width: 14px; overflow: hidden; - text-indent: -999em; cursor: pointer; + font-size: 14px; + font-weight: normal; } .star, .star a { - background: url(modules/productcomments/img/star.png) no-repeat 0 0; + display: block; } -div.star_on a { - background-position: 0 -13px; +.star a { + position: absolute; + text-indent: -5000px; } -div.star_hover a, div.star a:hover { - background-position: 0 -13px; +div.star:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #777676; +} + +div.star.star_on { + display: block; +} +div.star.star_on:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #ef8743; +} + +div.star.star_hover:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #ef8743; } /* ************************************************************************************************ diff --git a/themes/default-bootstrap/css/modules/productcomments/productcomments.css b/themes/default-bootstrap/css/modules/productcomments/productcomments.css index 7d81eecc8..722424fb0 100644 --- a/themes/default-bootstrap/css/modules/productcomments/productcomments.css +++ b/themes/default-bootstrap/css/modules/productcomments/productcomments.css @@ -14,7 +14,6 @@ .comments_advices li { display: inline-block; line-height: 30px; - /*min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 991px) { .comments_advices li { @@ -30,7 +29,6 @@ line-height: 30px; padding: 0; display: inline-block; - /*min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 1199px) { .comments_advices a { @@ -73,7 +71,6 @@ border-right: 1px solid #d6d4d4; padding-right: 30px; margin-right: 9px; - /* min 768px max 991px*/ } @media (min-width: 768px) and (max-width: 991px) { .comments_advices a.reviews { @@ -94,11 +91,17 @@ #product_comments_block_extra .star_content { margin-top: 1px; } -#product_comments_block_extra div.star { - background: url(img/star.png) no-repeat 0 0; +#product_comments_block_extra div.star:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #777676; } -#product_comments_block_extra div.star_on { - background: url(img/star.png) no-repeat 0 -13px; +#product_comments_block_extra div.star_on:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #ef8743; } #product_comments_block_extra .comments_advices { clear: both; @@ -125,7 +128,6 @@ overflow: hidden; color: #333333; text-align: left; - /*max 767px*/ } @media (max-width: 767px) { #new_comment_form { @@ -252,12 +254,17 @@ #product_comments_block_tab div.comment .star_content { margin: 0 0 0 5px; } -#product_comments_block_tab div.star, -#product_comments_block_tab div.star_on { - background: url(img/star.png) no-repeat 0 0; +#product_comments_block_tab div.star:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #777676; } -#product_comments_block_tab div.star_on { - background-position: 0 -13px; +#product_comments_block_tab div.star_on:after { + content: ""; + font-family: "FontAwesome"; + display: inline-block; + color: #ef8743; } #product_comments_block_tab .comment_author_infos { clear: both; @@ -273,7 +280,6 @@ #product_comments_block_tab div.comment div.comment_details { overflow: hidden; border-left: 1px solid #d6d4d4; - /*max 767px */ } @media (max-width: 991px) { #product_comments_block_tab div.comment div.comment_details { diff --git a/themes/default-bootstrap/css/product_list.css b/themes/default-bootstrap/css/product_list.css index 558e610a6..d22fb2c79 100644 --- a/themes/default-bootstrap/css/product_list.css +++ b/themes/default-bootstrap/css/product_list.css @@ -62,6 +62,17 @@ ul.product_list .product-image-container .quick-view { display: none; } } +ul.product_list .comments_note { + text-align: left; + overflow: hidden; +} +ul.product_list .comments_note .star_content { + float: left; +} +ul.product_list .comments_note .nb-comments { + overflow: hidden; + font-style: italic; +} /******************************************************* Product list(Grid) Styles @@ -113,6 +124,16 @@ ul.product_list.grid > li .product-container h5 { padding: 0 15px 7px 15px; min-height: 53px; } +@media (min-width: 1200px) { + ul.product_list.grid > li .product-container .comments_note { + display: none; + } +} +ul.product_list.grid > li .product-container .comments_note .star_content { + margin-left: 59px; + margin-right: 3px; + margin-bottom: 12px; +} ul.product_list.grid > li .product-container .product-desc { display: none; } @@ -165,11 +186,20 @@ ul.product_list.grid > li .product-container .functional-buttons div a:hover, ul ul.product_list.grid > li .product-container .functional-buttons div.wishlist { border-right: 1px solid #d6d4d4; } +ul.product_list.grid > li .product-container .functional-buttons div.wishlist a:before { + display: inline-block; + font-family: "FontAwesome"; + content: ""; + margin-right: 3px; +} +ul.product_list.grid > li .product-container .functional-buttons div.wishlist a.checked:before { + content: ""; +} @media (min-width: 992px) and (max-width: 1199px) { ul.product_list.grid > li .product-container .functional-buttons div.wishlist { border-right: 0; } - ul.product_list.grid > li .product-container .functional-buttons div.wishlist i { + ul.product_list.grid > li .product-container .functional-buttons div.wishlist a:before { display: none; } } @@ -177,32 +207,33 @@ ul.product_list.grid > li .product-container .functional-buttons div.wishlist { ul.product_list.grid > li .product-container .functional-buttons div.wishlist { border-right: 0; } - ul.product_list.grid > li .product-container .functional-buttons div.wishlist i { + ul.product_list.grid > li .product-container .functional-buttons div.wishlist a:before { display: none; } } -ul.product_list.grid > li .product-container .functional-buttons div.compare label:before { +ul.product_list.grid > li .product-container .functional-buttons div.compare a:before { content: ""; display: inline-block; font-family: "FontAwesome"; + margin-right: 3px; } @media (min-width: 992px) and (max-width: 1199px) { - ul.product_list.grid > li .product-container .functional-buttons div.compare label:before { + ul.product_list.grid > li .product-container .functional-buttons div.compare a:before { display: none; } } @media (min-width: 480px) and (max-width: 767px) { - ul.product_list.grid > li .product-container .functional-buttons div.compare label:before { + ul.product_list.grid > li .product-container .functional-buttons div.compare a:before { display: none; } } -ul.product_list.grid > li .product-container .functional-buttons div.compare label.checked:before { +ul.product_list.grid > li .product-container .functional-buttons div.compare a.checked:before { content: ""; } @media (min-width: 1200px) { ul.product_list.grid > li.hovered { margin-bottom: -300px; - padding-bottom: 250px; + padding-bottom: 226px; } ul.product_list.grid > li.hovered .product-container { -webkit-box-shadow: rgba(0, 0, 0, 0.17) 0 0 13px; @@ -220,7 +251,7 @@ ul.product_list.grid > li .product-container .functional-buttons div.compare lab ul.product_list.grid > li.hovered .product-container .product-image-container .quick-view { display: block; } - ul.product_list.grid > li.hovered .product-container .functional-buttons, ul.product_list.grid > li.hovered .product-container .button-container { + ul.product_list.grid > li.hovered .product-container .functional-buttons, ul.product_list.grid > li.hovered .product-container .button-container, ul.product_list.grid > li.hovered .product-container .comments_note { display: block; } } @@ -242,7 +273,7 @@ ul.product_list.grid > li .product-container .functional-buttons div.compare lab margin-bottom: 0; } #blockpack ul > li.last-line.hovered { - margin-bottom: -289px; + margin-bottom: -320px; padding-bottom: 250px; } } @@ -299,6 +330,9 @@ ul.product_list.list > li .product-desc { width: 100%; } } +ul.product_list.list > li .center-block .comments_note { + margin-bottom: 12px; +} @media (min-width: 992px) { ul.product_list.list > li .right-block .right-block-content { margin: 0; @@ -382,12 +416,14 @@ ul.product_list.list > li .right-block .right-block-content .button-container .b display: none !important; } } -ul.product_list.list > li .right-block .right-block-content .functional-buttons a, ul.product_list.list > li .right-block .right-block-content .functional-buttons label { +ul.product_list.list > li .right-block .right-block-content .functional-buttons a { font-weight: bold; color: #777676; cursor: pointer; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons a i, ul.product_list.list > li .right-block .right-block-content .functional-buttons label i { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .wishlist a:before { + content: ""; + font-family: "FontAwesome"; width: 30px; height: 30px; font-size: 15px; @@ -402,17 +438,22 @@ ul.product_list.list > li .right-block .right-block-content .functional-buttons -o-border-radius: 100px; border-radius: 100px; margin-right: 3px; + font-weight: normal; + margin-right: 7px; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons a:hover, ul.product_list.list > li .right-block .right-block-content .functional-buttons label:hover { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .wishlist a:hover { color: #333333; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons a:hover i, ul.product_list.list > li .right-block .right-block-content .functional-buttons label:hover i { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .wishlist a:hover:before { background: #333333; } +ul.product_list.list > li .right-block .right-block-content .functional-buttons .wishlist a.checked:before { + content: ""; +} ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare { padding-top: 10px; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare label:before { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare a:before { content: ""; display: inline-block; font-family: "FontAwesome"; @@ -430,13 +471,13 @@ ul.product_list.list > li .right-block .right-block-content .functional-buttons padding: 6px 0 0 0; color: white; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare label:hover { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare a:hover { color: #333333; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare label:hover:before { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare a:hover:before { background: #333333; } -ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare label.checked:before { +ul.product_list.list > li .right-block .right-block-content .functional-buttons .compare a.checked:before { background: white; border: 1px solid #929292; color: #929292; @@ -468,7 +509,7 @@ ul.product_list.list > li .right-block .right-block-content .functional-buttons } @media (min-width: 1200px) { #index ul.product_list.tab-pane > li.hovered { - margin-bottom: -290px; + margin-bottom: -300px; } } #index ul.product_list.tab-pane > li .availability { @@ -481,8 +522,8 @@ ul.product_list.list > li .right-block .right-block-content .functional-buttons margin-bottom: 0; } #index ul.product_list.tab-pane > li.last-line.hovered { - margin-bottom: -290px; - padding-bottom: 250px; + margin-bottom: -300px; + padding-bottom: 235px; } } @media (min-width: 480px) and (max-width: 767px) { diff --git a/themes/default-bootstrap/css/theme1.css b/themes/default-bootstrap/css/theme1.css new file mode 100644 index 000000000..e21eac6bb --- /dev/null +++ b/themes/default-bootstrap/css/theme1.css @@ -0,0 +1,183 @@ +body { + background: #282828; +} + +.header-container, +.columns-container { + background: #f6f6f6; +} + +#header { + background: none; +} +#header .header-row { + background: #dadada; +} +#header .header-row .shop-phone { + color: #333333; +} +#header .header-row .shop-phone i, +#header .header-row .shop-phone strong { + color: #f44051; +} +#header #currencies-block-top, +#header #languages-block-top, +#header .header-row #header_user_info { + border-color: #c6c6c6; +} +#header #currencies-block-top div.current, +#header #languages-block-top div.current, +#header .header-row #header_user_info a { + color: #333333; +} +#header #currencies-block-top div.current:hover, #header #currencies-block-top div.current.active, +#header #languages-block-top div.current:hover, +#header #languages-block-top div.current.active, +#header .header-row #header_user_info a:hover, +#header .header-row #header_user_info a.active { + background: #b7b7b7; + color: white; +} +#header #currencies-block-top div.current strong, +#header #languages-block-top div.current strong { + color: #333333; +} +#header #currencies-block-top div.current:hover strong, #header #currencies-block-top div.current:hover:after, #header #currencies-block-top div.current.active strong, #header #currencies-block-top div.current.active:after, +#header #languages-block-top div.current:hover strong, +#header #languages-block-top div.current:hover:after, +#header #languages-block-top div.current.active strong, +#header #languages-block-top div.current.active:after { + background: #b7b7b7; + color: white; +} +#header #contact-link { + border-color: #c6c6c6; +} +#header #contact-link a { + color: #333333; +} +#header #contact-link a:hover, #header #contact-link a.active { + background: #b7b7b7; + color: white; +} + +#search_block_top .btn.button-search { + background: #f44051; +} +#search_block_top .btn.button-search:hover { + color: white; + background: #333333; +} + +#header_right #header_user #shopping_cart a { + background: #f44051; + color: white; +} +#header_right #header_user #shopping_cart a:after { + color: white; +} +#header_right #header_user #shopping_cart a:hover { + color: white; + background: #333333; +} + +.sf-menu { + background: white; + border-bottom: 3px solid #e8e8e8; +} +.sf-menu > li { + border-right: 1px solid #e8e8e8; +} +.sf-menu > li a { + border-bottom: 3px solid #e8e8e8; +} +.sf-menu > li.sfHover > a, .sf-menu > li > a:hover, .sf-menu > li.sfHoverForce > a { + color: #fff; + background: #f44051; + border-bottom-color: #ce2434; +} + +#home-page-tabs { + background: #f6f6f6; +} +#home-page-tabs > li.active a, +#home-page-tabs > li a:hover { + background: #f44051; + color: white; +} + +.new, +.sale { + background: #f44051; +} +.new:before, .new:after, +.sale:before, +.sale:after { + border-color: #ad2b34 transparent transparent transparent; +} + +ul.product_list.grid > li .product-container { + background: #f6f6f6; +} +ul.product_list.grid > li .product-container .product-image-container { + background: white; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link { + background: #fbfbfb; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link img { + background: #fbfbfb; +} + +.button.lnk_view { + text-shadow: none; + padding: 0; + border: none; +} +.button.lnk_view span { + border: none; + padding: 12px 16px; + background: #333333; + color: white; +} +.button.lnk_view:hover span { + background: #f44051; +} + +#cmsinfo_block em { + background: #f44051; +} + +#facebook_block, #cmsinfo_block { + background: #e8e8e8; +} + +#cmsinfo_block, +#cmsinfo_block > div + div { + border-color: #d0d0d0; +} + +.footer-container #footer #social_block { + background: #1b1b1b; + padding-bottom: 15px; +} + +.footer-container { + background: #1b1b1b; +} +@media (min-width: 768px) { + .footer-container { + background: url(../img/footer-bg1.gif) repeat-x; + } +} + +#footer #newsletter_block_left .form-group .form-control { + background: #1b1b1b; +} +#footer #newsletter_block_left .form-group .button-small { + color: #f44051; +} + +.footer-container #footer #social_block ul li a:hover { + color: #f44051; +} diff --git a/themes/default-bootstrap/css/theme2.css b/themes/default-bootstrap/css/theme2.css new file mode 100644 index 000000000..fd62ffbfb --- /dev/null +++ b/themes/default-bootstrap/css/theme2.css @@ -0,0 +1,200 @@ +body { + background: #232323; +} + +.header-container, +.columns-container { + background: #333333; +} + +#header { + background: none; +} +#header .header-row { + background: #545454; +} +#header .header-row .shop-phone { + color: white; + text-shadow: 0 1px #404040; +} +#header .header-row .shop-phone i, +#header .header-row .shop-phone strong { + color: #aaaaaa; + text-shadow: 0 1px #404040; +} +#header #currencies-block-top, +#header #languages-block-top, +#header .header-row #header_user_info { + border-color: #656565; +} +#header #currencies-block-top div.current, +#header #languages-block-top div.current, +#header .header-row #header_user_info a { + color: white; +} +#header #currencies-block-top div.current:hover, #header #currencies-block-top div.current.active, +#header #languages-block-top div.current:hover, +#header #languages-block-top div.current.active, +#header .header-row #header_user_info a:hover, +#header .header-row #header_user_info a.active { + color: white; +} +#header #currencies-block-top div.current, +#header #languages-block-top div.current { + padding-bottom: 11px; +} +#header #currencies-block-top div.current strong, #header #currencies-block-top div.current:after, +#header #languages-block-top div.current strong, +#header #languages-block-top div.current:after { + color: white; +} +#header #currencies-block-top div.current:hover strong, #header #currencies-block-top div.current:hover:after, #header #currencies-block-top div.current.active strong, #header #currencies-block-top div.current.active:after, +#header #languages-block-top div.current:hover strong, +#header #languages-block-top div.current:hover:after, +#header #languages-block-top div.current.active strong, +#header #languages-block-top div.current.active:after { + background: #2b2b2b; + color: white; +} +#header #contact-link { + border-color: #656565; +} +#header #contact-link a { + color: white; +} +#header #contact-link a:hover, #header #contact-link a.active { + background: #2b2b2b; + color: white; +} + +#search_block_top .btn.button-search { + background: #666666; +} +#search_block_top .btn.button-search:hover { + color: white; + background: #333333; +} + +#search_block_top #search_query_top { + background: white; + color: #333333; +} + +#header_right #header_user #shopping_cart a { + background: #666666; + color: white; +} +#header_right #header_user #shopping_cart a:after { + color: white; +} +#header_right #header_user #shopping_cart a:hover { + color: white; + background: #333333; +} + +.sf-menu { + background: white; + border: 1px solid #f2f2f2; + border-bottom: 3px solid #f2f2f2; +} +.sf-menu > li { + border-right: 1px solid #d6d4d4; +} +.sf-menu > li a { + border-bottom: 3px solid #f2f2f2; +} +.sf-menu > li.sfHover > a, .sf-menu > li > a:hover, .sf-menu > li.sfHoverForce > a { + color: #fff; + background: #666666; + border-bottom-color: #666666; +} + +#home-page-tabs { + background: white; +} +#home-page-tabs > li.active a, +#home-page-tabs > li a:hover { + background: #333333; + color: white; +} + +.new, +.sale { + background: #f44051; +} +.new:before, .new:after, +.sale:before, +.sale:after { + border-color: #f44051 transparent transparent transparent; +} + +ul.product_list.grid > li .product-container { + background: white; +} +ul.product_list.grid > li .product-container .product-image-container { + background: #474747; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link { + background: #474747; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link img { + background: #474747; +} + +ul.product_list.grid > li:hover .product-container { + background: #5c5c5c; +} +ul.product_list.grid > li:hover .product-container .product-name { + color: #aaa; +} +ul.product_list.grid > li:hover .product-container .functional-buttons div a, ul.product_list.grid > li:hover .product-container ul.product_list.grid > li .product-container .functional-buttons div label { + color: #aaa; +} +ul.product_list.grid > li:hover .product-container .functional-buttons div a:hover, ul.product_list.grid > li:hover .product-container ul.product_list.grid > li .product-container .functional-buttons div label:hover { + color: #fff; +} + +#cmsinfo_block em { + background: #666666; +} + +#facebook_block, #cmsinfo_block { + background: #454545; +} +#facebook_block h4, #cmsinfo_block h4 { + color: white; +} + +#cmsinfo_block h3, +#cmsinfo_block .dark { + color: white; +} + +#cmsinfo_block, +#cmsinfo_block > div + div { + border-color: #1b1b1b; +} + +.footer-container { + background: #1b1b1b; +} +@media (min-width: 768px) { + .footer-container { + background: url(../img/footer-bg1.gif) repeat-x; + } +} + +.footer-container #footer #social_block { + background: #1b1b1b; +} + +#footer #newsletter_block_left .form-group .form-control { + background: #1b1b1b; +} +#footer #newsletter_block_left .form-group .button-small { + color: #666666; +} + +.footer-container #footer #social_block ul li a:hover { + color: white; +} diff --git a/themes/default-bootstrap/css/theme3.css b/themes/default-bootstrap/css/theme3.css new file mode 100644 index 000000000..ec1100819 --- /dev/null +++ b/themes/default-bootstrap/css/theme3.css @@ -0,0 +1,222 @@ +body { + background: #333333; +} + +.header-container, +.columns-container { + background: #fff; +} + +#header { + background: none; +} +#header .header-row { + background: #333333; +} +#header .header-row .shop-phone { + color: #777; +} +#header .header-row .shop-phone i, +#header .header-row .shop-phone strong { + color: #719f41; +} +#header #currencies-block-top, +#header #languages-block-top, +#header .header-row #header_user_info { + border-color: #515151; +} +#header #currencies-block-top div.current, +#header #languages-block-top div.current, +#header .header-row #header_user_info a { + color: white; +} +#header #currencies-block-top div.current:hover, #header #currencies-block-top div.current.active, +#header #languages-block-top div.current:hover, +#header #languages-block-top div.current.active, +#header .header-row #header_user_info a:hover, +#header .header-row #header_user_info a.active { + background: #2b2b2b; + color: white; +} +#header #currencies-block-top div.current strong, +#header #languages-block-top div.current strong { + color: #333333; +} +#header #currencies-block-top div.current:after, +#header #currencies-block-top div.current strong, +#header #languages-block-top div.current:after, +#header #languages-block-top div.current strong { + color: white; +} +#header #currencies-block-top div.current:hover strong, #header #currencies-block-top div.current:hover:after, #header #currencies-block-top div.current.active strong, #header #currencies-block-top div.current.active:after, +#header #languages-block-top div.current:hover strong, +#header #languages-block-top div.current:hover:after, +#header #languages-block-top div.current.active strong, +#header #languages-block-top div.current.active:after { + color: white; +} +#header #contact-link { + border-color: #515151; +} +#header #contact-link a { + color: white; +} +#header #contact-link a:hover, #header #contact-link a.active { + background: #2b2b2b; + color: white; +} + +#search_block_top .btn.button-search { + background: #719f41; + text-shadow: 0 1px #567931; +} +#search_block_top .btn.button-search:hover { + color: white; + background: #333333; + text-shadow: 0 1px #333; +} + +#search_block_top #search_query_top { + color: #686666; +} + +#header_right #header_user #shopping_cart a { + background: #719f41; + color: white; + text-shadow: 0 1px #567931; +} +#header_right #header_user #shopping_cart a:after { + color: white; +} +#header_right #header_user #shopping_cart a:hover { + color: white; + text-shadow: 0 1px #333; + background: #333333; +} + +.sf-menu { + background: #f6f6f6; + border-bottom: 3px solid #e9e9e9; +} +.sf-menu > li { + border-right: 1px solid #d6d4d4; +} +.sf-menu > li a { + border-bottom: 3px solid #e9e9e9; +} +.sf-menu > li.sfHover > a, .sf-menu > li > a:hover, .sf-menu > li.sfHoverForce > a { + color: #fff; + background: #719f41; + border-bottom-color: #598b24; +} + +#home-page-tabs { + background: white; +} +#home-page-tabs > li.active a, +#home-page-tabs > li a:hover { + background: #719f41; + color: white; +} + +.new, +.sale { + background: #719f41; +} +.new:before, .new:after, +.sale:before, +.sale:after { + border-color: #719f41 transparent transparent transparent; +} + +ul.product_list.grid > li .product-container { + background: white; +} +ul.product_list.grid > li .product-container .product-image-container { + background: white; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link { + background: white; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link img { + background: white; +} + +.price.product-price { + color: #719f41; +} + +.price-percent-reduction { + background: #719f41; + border-color: #719f41; +} + +.button.lnk_view { + text-shadow: none; + padding: 0; + border: none; +} +.button.lnk_view span { + border: none; + padding: 12px 16px; + background: #333333; + color: white; +} +.button.lnk_view:hover span { + background: #719f41; +} + +#cmsinfo_block em { + background: #333333; +} + +#facebook_block, #cmsinfo_block { + background: #e8e8e8; +} + +#cmsinfo_block, +#cmsinfo_block > div + div { + border-color: #d0d0d0; +} + +.footer-container #footer #social_block { + background: #3f3f3f; + padding-bottom: 15px; +} + +.footer-container { + background: #3f3f3f; +} +@media (min-width: 768px) { + .footer-container { + background: url(../img/footer-bg.gif) repeat-x; + } +} + +.footer-container #footer #social_block ul li a:hover { + color: #719f41; +} + +#footer #newsletter_block_left .form-group .form-control { + background: #3f3f3f; +} + +#footer #newsletter_block_left h4, +.footer-container #footer #social_block h4 { + color: #fff; +} + +.footer-container #footer h4, +.footer-container #footer h4 a { + color: #719f41; +} + +.footer-container #footer .bottom-footer { + color: #719f41; +} +.footer-container #footer .bottom-footer a { + color: #719f41; +} +.footer-container #footer .bottom-footer a:hover { + color: #fff; +} diff --git a/themes/default-bootstrap/css/theme8.css b/themes/default-bootstrap/css/theme8.css new file mode 100644 index 000000000..804038e1a --- /dev/null +++ b/themes/default-bootstrap/css/theme8.css @@ -0,0 +1,183 @@ +body { + background: #282828; +} + +.header-container, +.columns-container { + background: #f7f5eb; +} + +#header { + background: none; +} +#header .header-row { + background: #333333; +} +#header .header-row .shop-phone { + color: white; +} +#header .header-row .shop-phone i, +#header .header-row .shop-phone strong { + color: #eea200; +} +#header #currencies-block-top, +#header #languages-block-top, +#header .header-row #header_user_info { + border-color: #515151; +} +#header #currencies-block-top div.current, +#header #languages-block-top div.current, +#header .header-row #header_user_info a { + color: white; +} +#header #currencies-block-top div.current:hover, #header #currencies-block-top div.current.active, +#header #languages-block-top div.current:hover, +#header #languages-block-top div.current.active, +#header .header-row #header_user_info a:hover, +#header .header-row #header_user_info a.active { + background: #b7b7b7; + color: white; +} +#header #currencies-block-top div.current strong, +#header #languages-block-top div.current strong { + color: white; +} +#header #currencies-block-top div.current:hover strong, #header #currencies-block-top div.current:hover:after, #header #currencies-block-top div.current.active strong, #header #currencies-block-top div.current.active:after, +#header #languages-block-top div.current:hover strong, +#header #languages-block-top div.current:hover:after, +#header #languages-block-top div.current.active strong, +#header #languages-block-top div.current.active:after { + background: #b7b7b7; + color: white; +} +#header #contact-link { + border-color: #515151; +} +#header #contact-link a { + color: white; +} +#header #contact-link a:hover, #header #contact-link a.active { + background: #b7b7b7; + color: white; +} + +#search_block_top .btn.button-search { + background: #eea200; +} +#search_block_top .btn.button-search:hover { + color: white; + background: #b7b7b7; +} + +#header_right #header_user #shopping_cart a { + background: #eea200; + color: white; +} +#header_right #header_user #shopping_cart a:after { + color: white; +} +#header_right #header_user #shopping_cart a:hover { + color: white; + background: #b7b7b7; +} + +.sf-menu { + background: #fffef6; + border-bottom: 3px solid #e2dec8; +} +.sf-menu > li { + border-right: 1px solid #e2dec8; +} +.sf-menu > li a { + border-bottom: 3px solid #e2dec8; +} +.sf-menu > li.sfHover > a, .sf-menu > li > a:hover, .sf-menu > li.sfHoverForce > a { + color: #fff; + background: #eea200; + border-bottom-color: #da9400; +} + +#home-page-tabs { + background: none; +} +#home-page-tabs > li.active a, +#home-page-tabs > li a:hover { + background: #eea200; + color: white; +} + +.new, +.sale { + background: #eea200; +} +.new:before, .new:after, +.sale:before, +.sale:after { + border-color: #eea200 transparent transparent transparent; +} + +ul.product_list.grid > li .product-container { + background: none; +} +ul.product_list.grid > li .product-container .product-image-container { + background: white; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link { + background: #f1e8e3; +} +ul.product_list.grid > li .product-container .product-image-container .product_img_link img { + background: #f1e8e3; +} + +.button.lnk_view { + text-shadow: none; + padding: 0; + border: none; +} +.button.lnk_view span { + border: 1px solid #9a9a9a; + padding: 12px 16px; + background: #f2f2f2; + color: white; +} +.button.lnk_view:hover span { + background: #b7b7b7; +} + +#cmsinfo_block em { + background: #eea200; +} + +#facebook_block, #cmsinfo_block { + background: #f0eee1; +} + +#cmsinfo_block, +#cmsinfo_block > div + div { + border-color: #e9e6d6; +} + +.footer-container #footer #social_block { + background: none; + padding-bottom: 15px; +} + +.footer-container { + background: #3f3f3f; +} +@media (min-width: 768px) { + .footer-container { + background: url(../img/footer-bg.gif) repeat-x; + } +} + +#footer #newsletter_block_left .form-group .form-control { + background: #3c3c3c; +} +#footer #newsletter_block_left .form-group .button-small { + color: #eea200; +} + +.footer-container #footer #social_block ul li a:hover { + color: #eea200; +} diff --git a/themes/default-bootstrap/img/footer-bg1.gif b/themes/default-bootstrap/img/footer-bg1.gif new file mode 100644 index 000000000..1684526ba Binary files /dev/null and b/themes/default-bootstrap/img/footer-bg1.gif differ diff --git a/themes/default-bootstrap/index.tpl b/themes/default-bootstrap/index.tpl index 568caba9d..b8fc942b6 100644 --- a/themes/default-bootstrap/index.tpl +++ b/themes/default-bootstrap/index.tpl @@ -28,6 +28,18 @@ {if isset($HOOK_HOME_TAB)} {/if} +
{$HOOK_HOME_TAB_CONTENT}
diff --git a/themes/default-bootstrap/js/modules/blockwishlist/js/ajax-wishlist.js b/themes/default-bootstrap/js/modules/blockwishlist/js/ajax-wishlist.js index 1b11ab291..fc146d9d9 100644 --- a/themes/default-bootstrap/js/modules/blockwishlist/js/ajax-wishlist.js +++ b/themes/default-bootstrap/js/modules/blockwishlist/js/ajax-wishlist.js @@ -17,230 +17,257 @@ * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * -* @author PrestaShop SA -* @copyright 2007-2013 PrestaShop SA -* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) -* International Registered Trademark & Property of PrestaShop SA +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA */ /** - * Update WishList Cart by adding, deleting, updating objects - * - * @return void - */ +* Update WishList Cart by adding, deleting, updating objects +* +* @return void +*/ function WishlistCart(id, action, id_product, id_product_attribute, quantity) { - $.ajax({ - type: 'GET', - url: baseDir + 'modules/blockwishlist/cart.php', - async: true, - cache: false, - data: 'action=' + action + '&id_product=' + id_product + '&quantity=' + quantity + '&token=' + static_token + '&id_product_attribute=' + id_product_attribute, - success: function(data) - { - if (action == 'add') - { - if (isLoggedWishlist == true) { - alert ('Adedd to wishlist') - } - else { - alert ('You must be logged in to manage your wishlist.') - } - } - - if($('#' + id).length != 0) - { - $('#' + id).slideUp('normal'); - document.getElementById(id).innerHTML = data; - $('#' + id).slideDown('normal'); - } - } - }); + $.ajax({ + type: 'GET', + url: baseDir + 'modules/blockwishlist/cart.php', + async: true, + cache: false, + data: 'action=' + action + '&id_product=' + id_product + '&quantity=' + quantity + '&token=' + static_token + '&id_product_attribute=' + id_product_attribute, + success: function(data) + { + if (action == 'add') + { + if (isLoggedWishlist == true) { + wishlistProductsIdsAdd(id_product), + wishlistRefreshStatus(), + alert ('Adedd to wishlist') + } + else { + alert ('You must be logged in to manage your wishlist.') + } + } + if (action == 'delete') { + wishlistProductsIdsRemove(id_product), + wishlistRefreshStatus(); + } + if($('#' + id).length != 0) + { + $('#' + id).slideUp('normal'); + document.getElementById(id).innerHTML = data; + $('#' + id).slideDown('normal'); + } + } + }); } /** - * Change customer default wishlist - * - * @return void - */ +* Change customer default wishlist +* +* @return void +*/ function WishlistChangeDefault(id, id_wishlist) { - $.ajax({ - type: 'GET', - url: baseDir + 'modules/blockwishlist/cart.php', - async: true, - data: 'id_wishlist=' + id_wishlist + '&token=' + static_token, - cache: false, - success: function(data) - { - $('#' + id).slideUp('normal'); - document.getElementById(id).innerHTML = data; - $('#' + id).slideDown('normal'); - } - }); + $.ajax({ + type: 'GET', + url: baseDir + 'modules/blockwishlist/cart.php', + async: true, + data: 'id_wishlist=' + id_wishlist + '&token=' + static_token, + cache: false, + success: function(data) + { + $('#' + id).slideUp('normal'); + document.getElementById(id).innerHTML = data; + $('#' + id).slideDown('normal'); + } + }); } /** - * Buy Product - * - * @return void - */ +* Buy Product +* +* @return void +*/ function WishlistBuyProduct(token, id_product, id_product_attribute, id_quantity, button, ajax) { - if(ajax) - ajaxCart.add(id_product, id_product_attribute, false, button, 1, [token, id_quantity]); - else - { - $('#' + id_quantity).val(0); - WishlistAddProductCart(token, id_product, id_product_attribute, id_quantity) - document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].method='POST'; - document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].action=baseUri + '?controller=cart'; - document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].elements['token'].value = static_token; - document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].submit(); - } - return (true); + if(ajax) + ajaxCart.add(id_product, id_product_attribute, false, button, 1, [token, id_quantity]); + else + { + $('#' + id_quantity).val(0); + WishlistAddProductCart(token, id_product, id_product_attribute, id_quantity) + document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].method='POST'; + document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].action=baseUri + '?controller=cart'; + document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].elements['token'].value = static_token; + document.forms['addtocart' + '_' + id_product + '_' + id_product_attribute].submit(); + } + return (true); } function WishlistAddProductCart(token, id_product, id_product_attribute, id_quantity) { - if ($('#' + id_quantity).val() <= 0) - return (false); - $.ajax({ - type: 'GET', - url: baseDir + 'modules/blockwishlist/buywishlistproduct.php', - data: 'token=' + token + '&static_token=' + static_token + '&id_product=' + id_product + '&id_product_attribute=' + id_product_attribute, - async: true, - cache: false, - success: function(data) - { - if (data) - alert(data); - else - { - $('#' + id_quantity).val($('#' + id_quantity).val() - 1); - } - } - }); - return (true); + if ($('#' + id_quantity).val() <= 0) + return (false); + $.ajax({ + type: 'GET', + url: baseDir + 'modules/blockwishlist/buywishlistproduct.php', + data: 'token=' + token + '&static_token=' + static_token + '&id_product=' + id_product + '&id_product_attribute=' + id_product_attribute, + async: true, + cache: false, + success: function(data) + { + if (data) + alert(data); + else + { + $('#' + id_quantity).val($('#' + id_quantity).val() - 1); + } + } + }); + return (true); } /** - * Show wishlist managment page - * - * @return void - */ +* Show wishlist managment page +* +* @return void +*/ function WishlistManage(id, id_wishlist) { - $.ajax({ - type: 'GET', - async: true, - url: baseDir + 'modules/blockwishlist/managewishlist.php', - data: 'id_wishlist=' + id_wishlist + '&refresh=' + false, - cache: false, - success: function(data) - { - $('#' + id).hide(); - document.getElementById(id).innerHTML = data; - $('#' + id).fadeIn('slow'); - } - }); + $.ajax({ + type: 'GET', + async: true, + url: baseDir + 'modules/blockwishlist/managewishlist.php', + data: 'id_wishlist=' + id_wishlist + '&refresh=' + false, + cache: false, + success: function(data) + { + $('#' + id).hide(); + document.getElementById(id).innerHTML = data; + $('#' + id).fadeIn('slow'); + } + }); } /** - * Show wishlist product managment page - * - * @return void - */ +* Show wishlist product managment page +* +* @return void +*/ function WishlistProductManage(id, action, id_wishlist, id_product, id_product_attribute, quantity, priority) { - $.ajax({ - type: 'GET', - async: true, - url: baseDir + 'modules/blockwishlist/managewishlist.php', - data: 'action=' + action + '&id_wishlist=' + id_wishlist + '&id_product=' + id_product + '&id_product_attribute=' + id_product_attribute + '&quantity=' + quantity + '&priority=' + priority + '&refresh=' + true, - cache: false, - success: function(data) - { - if (action == 'delete') - $('#wlp_' + id_product + '_' + id_product_attribute).fadeOut('fast'); - else if (action == 'update') - { - $('#wlp_' + id_product + '_' + id_product_attribute).fadeOut('fast'); - $('#wlp_' + id_product + '_' + id_product_attribute).fadeIn('fast'); - } - } - }); + $.ajax({ + type: 'GET', + async: true, + url: baseDir + 'modules/blockwishlist/managewishlist.php', + data: 'action=' + action + '&id_wishlist=' + id_wishlist + '&id_product=' + id_product + '&id_product_attribute=' + id_product_attribute + '&quantity=' + quantity + '&priority=' + priority + '&refresh=' + true, + cache: false, + success: function(data) + { + if (action == 'delete') + $('#wlp_' + id_product + '_' + id_product_attribute).fadeOut('fast'); + else if (action == 'update') + { + $('#wlp_' + id_product + '_' + id_product_attribute).fadeOut('fast'); + $('#wlp_' + id_product + '_' + id_product_attribute).fadeIn('fast'); + } + } + }); } /** - * Delete wishlist - * - * @return boolean succeed - */ +* Delete wishlist +* +* @return boolean succeed +*/ function WishlistDelete(id, id_wishlist, msg) { - var res = confirm(msg); - if (res == false) - return (false); - $.ajax({ - type: 'GET', - async: true, - url: baseDir + 'modules/blockwishlist/mywishlist.php', - cache: false, - data: 'deleted&id_wishlist=' + id_wishlist, - success: function(data) - { - $('#' + id).fadeOut('slow'); - } - }); + var res = confirm(msg); + if (res == false) + return (false); + $.ajax({ + type: 'GET', + async: true, + url: baseDir + 'modules/blockwishlist/mywishlist.php', + cache: false, + data: 'deleted&id_wishlist=' + id_wishlist, + success: function(data) + { + $('#' + id).fadeOut('slow'); + } + }); } /** - * Hide/Show bought product - * - * @return void - */ +* Hide/Show bought product +* +* @return void +*/ function WishlistVisibility(bought_class, id_button) { - if ($('#hide' + id_button).css('display') == 'none') - { - $('.' + bought_class).slideDown('fast'); - $('#show' + id_button).hide(); - $('#hide' + id_button).css('display', 'block'); - } - else - { - $('.' + bought_class).slideUp('fast'); - $('#hide' + id_button).hide(); - $('#show' + id_button).css('display', 'block'); - } + if ($('#hide' + id_button).css('display') == 'none') + { + $('.' + bought_class).slideDown('fast'); + $('#show' + id_button).hide(); + $('#hide' + id_button).css('display', 'block'); + } + else + { + $('.' + bought_class).slideUp('fast'); + $('#hide' + id_button).hide(); + $('#show' + id_button).css('display', 'block'); + } } /** - * Send wishlist by email - * - * @return void - */ +* Send wishlist by email +* +* @return void +*/ function WishlistSend(id, id_wishlist, id_email) { - $.post(baseDir + 'modules/blockwishlist/sendwishlist.php', - { token: static_token, - id_wishlist: id_wishlist, - email1: $('#' + id_email + '1').val(), - email2: $('#' + id_email + '2').val(), - email3: $('#' + id_email + '3').val(), - email4: $('#' + id_email + '4').val(), - email5: $('#' + id_email + '5').val(), - email6: $('#' + id_email + '6').val(), - email7: $('#' + id_email + '7').val(), - email8: $('#' + id_email + '8').val(), - email9: $('#' + id_email + '9').val(), - email10: $('#' + id_email + '10').val() }, - function(data) - { - if (data) - alert(data); - else - WishlistVisibility(id, 'hideSendWishlist'); - }); + $.post(baseDir + 'modules/blockwishlist/sendwishlist.php', + { token: static_token, + id_wishlist: id_wishlist, + email1: $('#' + id_email + '1').val(), + email2: $('#' + id_email + '2').val(), + email3: $('#' + id_email + '3').val(), + email4: $('#' + id_email + '4').val(), + email5: $('#' + id_email + '5').val(), + email6: $('#' + id_email + '6').val(), + email7: $('#' + id_email + '7').val(), + email8: $('#' + id_email + '8').val(), + email9: $('#' + id_email + '9').val(), + email10: $('#' + id_email + '10').val() }, + function(data) + { + if (data) + alert(data); + else + WishlistVisibility(id, 'hideSendWishlist'); + }); } +function wishlistProductsIdsAdd(id){ + if ($.inArray(parseInt(id),wishlistProductsIds) == -1) + wishlistProductsIds.push(parseInt(id)) +} +function wishlistProductsIdsRemove(id){ + wishlistProductsIds.splice($.inArray(parseInt(id),wishlistProductsIds), 1) +} +function wishlistRefreshStatus(){ +$('.addToWishlist').each(function() { + if ($.inArray(parseInt($(this).prop('rel')),wishlistProductsIds)!= -1){ + $(this).addClass('checked'); + } + else + $(this).removeClass('checked'); + }); +} +$(document).ready(function() { + if (typeof wishlistProductsIds == 'undefined') { + wishlistProductsIds = []; + } + wishlistRefreshStatus(); +}); \ No newline at end of file diff --git a/themes/default-bootstrap/js/products-comparison.js b/themes/default-bootstrap/js/products-comparison.js index f3735fe30..75666fe4c 100644 --- a/themes/default-bootstrap/js/products-comparison.js +++ b/themes/default-bootstrap/js/products-comparison.js @@ -23,12 +23,55 @@ * International Registered Trademark & Property of PrestaShop SA */ +function addToCompare(productId){ + + var totalValueNow = parseInt($('.bt_compare').next('.compare_product_count').val()); + + $.inArray(parseInt(productId),comparedProductsIds) == -1?action = 'add':action = 'remove'; + + $.ajax({ + url: 'index.php?controller=products-comparison&ajax=1&action='+action+'&id_product=' + productId, + async: true, + cache: false, + success: function(data){ + if (action == 'add' && comparedProductsIds.length < comparator_max_item) { + comparedProductsIds.push(parseInt(productId)), + compareButtonsStatusRefresh(), + totalVal = totalValueNow +1, + $('.bt_compare').next('.compare_product_count').val(totalVal), + totalValue(totalVal) + } + else if (action == 'remove') { + comparedProductsIds.splice($.inArray(parseInt(productId),comparedProductsIds), 1), + compareButtonsStatusRefresh(), + totalVal = totalValueNow -1, + $('.bt_compare').next('.compare_product_count').val(totalVal), + totalValue(totalVal) + } + else { + alert(max_item) + } + }, + error: function(){} + }); +} + +function compareButtonsStatusRefresh(){ + $('.addToCompare').each(function() { + if ($.inArray(parseInt($(this).prop('rel')),comparedProductsIds)!= -1){ + $(this).addClass('checked'); + } + else { + $(this).removeClass('checked'); + } + }) +} + +function totalValue(value) { + $('.bt_compare').find('.total-compare-val').html(value); +} + reloadProductComparison = function() { - $('input:checkbox.comparator').each(function() { - var checkedCheckbox = $(this); - if (checkedCheckbox.is(':checked')) - checkedCheckbox.parent().addClass('checked'); - }); $('a.cmp_remove').click(function(){ var idProduct = $(this).prop('rel').replace('ajax_id_product_', ''); @@ -42,57 +85,8 @@ reloadProductComparison = function() { } }); }); - $('input:checkbox.comparator').click(function(){ - var totalValueNow = parseInt($('.bt_compare').next('.compare_product_count').val()); - var idProduct = $(this).prop('value').replace('comparator_item_', ''); - var checkbox = $(this); - if(checkbox.is(':checked')) - { - $.ajax({ - url: 'index.php?controller=products-comparison&ajax=1&action=add&id_product=' + idProduct, - async: true, - cache: false, - success: function(data){ - if (data === '0') - { - checkbox.prop('checked', false); - alert(max_item); - } - else { - checkbox.prop('checked', true), - checkbox.parent().addClass('checked'), - totalVal = totalValueNow +1, - $('.bt_compare').next('.compare_product_count').val(totalVal), - totalValue(totalVal) - } - }, - error: function(){ - checkbox.prop('checked', false); - } - }); - } - else - { - $.ajax({ - url: 'index.php?controller=products-comparison&ajax=1&action=remove&id_product=' + idProduct, - async: true, - cache: false, - success: function(data){ - if (data === '0') - - checkbox.prop('checked', true); - checkbox.parent().removeClass('checked'); - totalVal = totalValueNow -1; - $('.bt_compare').next('.compare_product_count').val(totalVal), - totalValue(totalVal) - }, - error: function(){ - checkbox.prop('checked', true); - } - }); - } - }); } -function totalValue(value) { - $('.bt_compare').find('.total-compare-val').html(value); -} \ No newline at end of file + +$(document).ready(function() { + compareButtonsStatusRefresh(); +}); \ No newline at end of file diff --git a/themes/default-bootstrap/lang/en.php b/themes/default-bootstrap/lang/en.php index 11136241c..10279038d 100644 --- a/themes/default-bootstrap/lang/en.php +++ b/themes/default-bootstrap/lang/en.php @@ -95,7 +95,7 @@ $_LANG['history_bd0e34e5be6447844e6f262d51f1a9dc'] = 'Price Rules'; $_LANG['history_ec53a8c4f07baed5d8825072c89799be'] = 'Status'; $_LANG['history_466eadd40b3c10580e3ab4e8061161ce'] = 'Invoice'; $_LANG['history_bcd1b68617759b1dfcff0403a6b5a8d1'] = 'PDF'; -$_LANG['history_0b3db27bc15f682e92ff250ebb167d4b'] = 'Back to your account'; +$_LANG['history_0b3db27bc15f682e92ff250ebb167d4b'] = 'Back to your account.'; $_LANG['history_8cf04a9734132302f96da8e113e80ce5'] = 'Home'; $_LANG['history_01abfc750a0c942167651c40d088531d'] = '#'; $_LANG['identity_19f823c6453c2b1ffd09cb715214813d'] = 'Required field'; diff --git a/modules/blockquickview/translations/index.php b/themes/default-bootstrap/modules/blockwishlist/blockwishlist_button.tpl similarity index 74% rename from modules/blockquickview/translations/index.php rename to themes/default-bootstrap/modules/blockwishlist/blockwishlist_button.tpl index 3f6561f72..b8ab465fe 100644 --- a/modules/blockquickview/translations/index.php +++ b/themes/default-bootstrap/modules/blockwishlist/blockwishlist_button.tpl @@ -1,5 +1,4 @@ - +{l s="Add to Wishlist"} +
\ No newline at end of file diff --git a/modules/blockquickview/index.php b/themes/default-bootstrap/modules/blockwishlist/blockwishlist_top.tpl similarity index 70% rename from modules/blockquickview/index.php rename to themes/default-bootstrap/modules/blockwishlist/blockwishlist_top.tpl index 07830d90c..6c6ef0c52 100644 --- a/modules/blockquickview/index.php +++ b/themes/default-bootstrap/modules/blockwishlist/blockwishlist_top.tpl @@ -1,35 +1,31 @@ - -* @copyright 2007-2013 PrestaShop SA -* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) -* International Registered Trademark & Property of PrestaShop SA -*/ - -header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); -header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); - -header('Cache-Control: no-store, no-cache, must-revalidate'); -header('Cache-Control: post-check=0, pre-check=0', false); -header('Pragma: no-cache'); - -header('Location: ../../'); -exit; \ No newline at end of file +{* +* 2007-2013 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +{foreach from=$wishlist_products item=product name=i} + +{/foreach} diff --git a/themes/default-bootstrap/modules/productcomments/productcomments_reviews.tpl b/themes/default-bootstrap/modules/productcomments/productcomments_reviews.tpl new file mode 100644 index 000000000..e09117cab --- /dev/null +++ b/themes/default-bootstrap/modules/productcomments/productcomments_reviews.tpl @@ -0,0 +1,39 @@ + {* +* 2007-2013 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2013 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +{if isset($nbComments) && $nbComments > 0} +
+
+ {section name="i" start=0 loop=5 step=1} + {if $averageTotal le $smarty.section.i.index} +
+ {else} +
+ {/if} + {/section} +
+ {l s='%s Review(s)'|sprintf:$nbComments mod='productcomments'} +
+{/if} \ No newline at end of file diff --git a/themes/default-bootstrap/modules/productcomments/productcomments_top.tpl b/themes/default-bootstrap/modules/productcomments/productcomments_top.tpl new file mode 100644 index 000000000..a09be2a77 --- /dev/null +++ b/themes/default-bootstrap/modules/productcomments/productcomments_top.tpl @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/themes/default-bootstrap/product-compare.tpl b/themes/default-bootstrap/product-compare.tpl index b6f704c54..07c50a610 100644 --- a/themes/default-bootstrap/product-compare.tpl +++ b/themes/default-bootstrap/product-compare.tpl @@ -29,6 +29,9 @@ // {/if} diff --git a/themes/default-bootstrap/product-list.tpl b/themes/default-bootstrap/product-list.tpl index f902f8e78..593fbedb4 100644 --- a/themes/default-bootstrap/product-list.tpl +++ b/themes/default-bootstrap/product-list.tpl @@ -29,13 +29,6 @@ {assign var='nbItemsPerLineTablet' value=2} {assign var='nbItemsPerLineMobile' value=3} {else} - {assign var='nbItemsPerLine' value=4} {assign var='nbItemsPerLineTablet' value=3} {assign var='nbItemsPerLineMobile' value=2} @@ -59,8 +52,8 @@
{$product.legend|escape:'htmlall':'UTF-8'} - {if isset($quick_view) && $quick_view}Quick view{/if} + {if isset($quick_view) && $quick_view}Quick view{/if} {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)} @@ -78,6 +71,7 @@
{if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if}{$product.name|truncate:45:'...'|escape:'htmlall':'UTF-8'}
+ {hook h='displayProductListReviews' product=$product}

{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}

{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
@@ -91,7 +85,6 @@
{/if}
- {hook h='displayProductListReviews' product=$product} {if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE} {if ($product.allow_oosp || $product.quantity > 0)} {if isset($static_token)} @@ -119,12 +112,10 @@ {/if}
- {hook h='displayProductListFunctionalButtons' product=$product} + {hook h='displayProductListFunctionalButtons' product=$product} {if isset($comparator_max_item) && $comparator_max_item}
- + {l s='Add to Compare'}
{/if}
@@ -132,8 +123,17 @@ {/foreach} - +{if $page_name == 'product'} + +{/if}