Merge pull request #977 from TMMeilleur/bootstrap

//updates and fixes 14.11.2013
This commit is contained in:
Rémi Gaillard
2013-11-14 10:28:06 -08:00
39 changed files with 999 additions and 194 deletions
+184
View File
@@ -0,0 +1,184 @@
<?php
/*
* 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 <contact@prestashop.com>
* @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 BlockBanner extends Module
{
public function __construct()
{
$this->name = 'blockbanner';
$this->tab = 'other';
$this->version = 1.0;
$this->author = 'PrestaShop';
$this->need_instance = 0;
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->l('Banner block');
$this->description = $this->l('Displays banner at the top of the store.');
}
public function install()
{
Configuration::updateValue('BLOCKBANNER_IMG', 'store.jpg');
Configuration::updateValue('BLOCKBANNER_LINK', '');
Configuration::updateValue('BLOCKBANNER_DESC', '');
return parent::install() && $this->registerHook('displayTop') && $this->registerHook('header');
}
public function uninstall()
{
Configuration::deleteByName('BLOCKBANNER_IMG');
Configuration::deleteByName('BLOCKBANNER_LINK');
Configuration::deleteByName('BLOCKBANNER_DESC');
return parent::uninstall();
}
public function hookDisplayTop($params)
{
if (!$this->isCached('blockbanner.tpl', $this->getCacheId()))
{
$this->smarty->assign('banner_img', Configuration::get('BLOCKBANNER_IMG'));
$this->smarty->assign('banner_link', Configuration::get('BLOCKBANNER_LINK'));
$this->smarty->assign('banner_desc', Configuration::get('BLOCKBANNER_DESC'));
$sql = 'SELECT COUNT(*)
FROM '._DB_PREFIX_.'store s'
.Shop::addSqlAssociation('store', 's');
$total = Db::getInstance()->getValue($sql);
if ($total <= 0)
return;
}
return $this->display(__FILE__, 'blockbanner.tpl', $this->getCacheId());
}
public function hookHeader($params)
{
$this->context->controller->addCSS($this->_path.'blockbanner.css', 'all');
}
public function postProcess()
{
if (Tools::isSubmit('submitStoreConf'))
{
if (isset($_FILES['BLOCKBANNER_IMG']) && isset($_FILES['BLOCKBANNER_IMG']['tmp_name']) && !empty($_FILES['BLOCKBANNER_IMG']['tmp_name']))
{
if ($error = ImageManager::validateUpload($_FILES['BLOCKBANNER_IMG'], 4000000))
return $this->displayError($this->l('Invalid image'));
else
{
$ext = substr($_FILES['BLOCKBANNER_IMG']['name'], strrpos($_FILES['BLOCKBANNER_IMG']['name'], '.') + 1);
$file_name = md5($_FILES['BLOCKBANNER_IMG']['name']).'.'.$ext;
if (!move_uploaded_file($_FILES['BLOCKBANNER_IMG']['tmp_name'], dirname(__FILE__).'/'.$file_name))
return $this->displayError($this->l('An error occurred while attempting to upload the file.'));
else
{
if (Configuration::hasContext('BLOCKBANNER_IMG', null, Shop::getContext()) && Configuration::get('BLOCKBANNER_IMG') != $file_name)
@unlink(dirname(__FILE__).'/'.Configuration::get('BLOCKBANNER_IMG'));
Configuration::updateValue('BLOCKBANNER_IMG', $file_name);
$this->_clearCache('blockbanner.tpl');
return $this->displayConfirmation($this->l('The settings have been updated.'));
}
}
}
Configuration::updateValue('BLOCKBANNER_LINK', Tools::getValue('BLOCKBANNER_LINK'));
Configuration::updateValue('BLOCKBANNER_DESC', Tools::getValue('BLOCKBANNER_DESC'));
}
return '';
}
public function getContent()
{
return $this->postProcess().$this->renderForm();
return $output;
}
public function renderForm()
{
$fields_form = array(
'form' => array(
'legend' => array(
'title' => $this->l('Settings'),
'icon' => 'icon-cogs'
),
'input' => array(
array(
'type' => 'file',
'label' => $this->l('Block image'),
'name' => 'BLOCKBANNER_IMG',
'desc' => $this->l('Please upload banner image'),
'thumb' => '../modules/'.$this->name.'/'.Configuration::get('BLOCKBANNER_IMG'),
),
array(
'type' => 'text',
'label' => $this->l('Image Link'),
'name' => 'BLOCKBANNER_LINK',
'desc' => $this->l('Please input banner link')
),
array(
'type' => 'text',
'label' => $this->l('Image description'),
'name' => 'BLOCKBANNER_DESC',
'desc' => $this->l('Please input banner image description')
)
),
'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;
$helper->identifier = $this->identifier;
$helper->submit_action = 'submitStoreConf';
$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(
'BLOCKBANNER_IMG' => Tools::getValue('BLOCKBANNER_IMG', Configuration::get('BLOCKBANNER_IMG')),
'BLOCKBANNER_LINK' => Tools::getValue('BLOCKBANNER_LINK', Configuration::get('BLOCKBANNER_LINK')),
'BLOCKBANNER_DESC' => Tools::getValue('BLOCKBANNER_DESC', Configuration::get('BLOCKBANNER_DESC')),
);
}
}
+36
View File
@@ -0,0 +1,36 @@
{*
* 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 <contact@prestashop.com>
* @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
*}
<!-- Block stores module -->
<div id="banner_block_top">
<div class="banner-top">
<div class="container">
<a href="{$banner_link}" title="{$banner_desc}">
<img src="{$module_dir}{$banner_img}" alt="{$banner_desc}"/>
</a>
</div>
</div>
</div>
<!-- /Block stores module -->
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>blockbanner</name>
<displayName><![CDATA[Banner block]]></displayName>
<version><![CDATA[1]]></version>
<description><![CDATA[Displays banner at the top of the store.]]></description>
<author><![CDATA[PrestaShop]]></author>
<tab><![CDATA[other]]></tab>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>
+35
View File
@@ -0,0 +1,35 @@
<?php
/*
* 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 <contact@prestashop.com>
* @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;
Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -0,0 +1,35 @@
<?php
/*
* 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 <contact@prestashop.com>
* @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;
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<module>
<name>productpaymentlogos</name>
<displayName><![CDATA[Product payment logos block]]></displayName>
<version><![CDATA[1]]></version>
<description><![CDATA[Displays payment system logos at the product page.]]></description>
<author><![CDATA[PrestaShop]]></author>
<tab><![CDATA[other]]></tab>
<is_configurable>1</is_configurable>
<need_instance>0</need_instance>
<limited_countries></limited_countries>
</module>
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+35
View File
@@ -0,0 +1,35 @@
<?php
/*
* 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 <contact@prestashop.com>
* @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;
Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -0,0 +1,184 @@
<?php
/*
* 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 <contact@prestashop.com>
* @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 ProductPaymentLogos extends Module
{
public function __construct()
{
$this->name = 'productpaymentlogos';
$this->tab = 'other';
$this->version = 1.0;
$this->author = 'PrestaShop';
$this->need_instance = 0;
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->l('Product payment logos block');
$this->description = $this->l('Displays payment system logos at the product page.');
}
public function install()
{
Configuration::updateValue('PRODUCTPAYMENTLOGOS_IMG', 'payment-logo.png');
Configuration::updateValue('PRODUCTPAYMENTLOGOS_LINK', '');
Configuration::updateValue('PRODUCTPAYMENTLOGOS_TITLE', '');
return parent::install() && $this->registerHook('displayProductButtons') && $this->registerHook('header');
}
public function uninstall()
{
Configuration::deleteByName('PRODUCTPAYMENTLOGOS_IMG');
Configuration::deleteByName('PRODUCTPAYMENTLOGOS_LINK');
Configuration::deleteByName('PRODUCTPAYMENTLOGOS_TITLE');
return parent::uninstall();
}
public function hookDisplayProductButtons($params)
{
if (!$this->isCached('productpaymentlogos.tpl', $this->getCacheId()))
{
$this->smarty->assign('banner_img', Configuration::get('PRODUCTPAYMENTLOGOS_IMG'));
$this->smarty->assign('banner_link', Configuration::get('PRODUCTPAYMENTLOGOS_LINK'));
$this->smarty->assign('banner_title', Configuration::get('PRODUCTPAYMENTLOGOS_TITLE'));
$sql = 'SELECT COUNT(*)
FROM '._DB_PREFIX_.'store s'
.Shop::addSqlAssociation('store', 's');
$total = Db::getInstance()->getValue($sql);
if ($total <= 0)
return;
}
return $this->display(__FILE__, 'productpaymentlogos.tpl', $this->getCacheId());
}
public function hookHeader($params)
{
$this->context->controller->addCSS($this->_path.'productpaymentlogos.css', 'all');
}
public function postProcess()
{
if (Tools::isSubmit('submitStoreConf'))
{
if (isset($_FILES['PRODUCTPAYMENTLOGOS_IMG']) && isset($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name']) && !empty($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name']))
{
if ($error = ImageManager::validateUpload($_FILES['PRODUCTPAYMENTLOGOS_IMG'], 4000000))
return $this->displayError($this->l('Invalid image'));
else
{
$ext = substr($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name'], strrpos($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name'], '.') + 1);
$file_name = md5($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name']).'.'.$ext;
if (!move_uploaded_file($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name'], dirname(__FILE__).'/'.$file_name))
return $this->displayError($this->l('An error occurred while attempting to upload the file.'));
else
{
if (Configuration::hasContext('PRODUCTPAYMENTLOGOS_IMG', null, Shop::getContext()) && Configuration::get('PRODUCTPAYMENTLOGOS_IMG') != $file_name)
@unlink(dirname(__FILE__).'/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'));
Configuration::updateValue('PRODUCTPAYMENTLOGOS_IMG', $file_name);
$this->_clearCache('productpaymentlogos.tpl');
return $this->displayConfirmation($this->l('The settings have been updated.'));
}
}
}
Configuration::updateValue('PRODUCTPAYMENTLOGOS_LINK', Tools::getValue('PRODUCTPAYMENTLOGOS_LINK'));
Configuration::updateValue('PRODUCTPAYMENTLOGOS_TITLE', Tools::getValue('PRODUCTPAYMENTLOGOS_TITLE'));
}
return '';
}
public function getContent()
{
return $this->postProcess().$this->renderForm();
return $output;
}
public function renderForm()
{
$fields_form = array(
'form' => array(
'legend' => array(
'title' => $this->l('Settings'),
'icon' => 'icon-cogs'
),
'input' => array(
array(
'type' => 'text',
'label' => $this->l('Logos heading'),
'name' => 'PRODUCTPAYMENTLOGOS_TITLE',
'desc' => $this->l('Please input logos heading')
),
array(
'type' => 'file',
'label' => $this->l('Block image'),
'name' => 'PRODUCTPAYMENTLOGOS_IMG',
'desc' => $this->l('Please upload banner image'),
'thumb' => '../modules/'.$this->name.'/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'),
),
array(
'type' => 'text',
'label' => $this->l('Image Link'),
'name' => 'PRODUCTPAYMENTLOGOS_LINK',
'desc' => $this->l('Please input banner link')
)
),
'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;
$helper->identifier = $this->identifier;
$helper->submit_action = 'submitStoreConf';
$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(
'PRODUCTPAYMENTLOGOS_IMG' => Tools::getValue('PRODUCTPAYMENTLOGOS_IMG', Configuration::get('PRODUCTPAYMENTLOGOS_IMG')),
'PRODUCTPAYMENTLOGOS_LINK' => Tools::getValue('PRODUCTPAYMENTLOGOS_LINK', Configuration::get('PRODUCTPAYMENTLOGOS_LINK')),
'PRODUCTPAYMENTLOGOS_TITLE' => Tools::getValue('PRODUCTPAYMENTLOGOS_TITLE', Configuration::get('PRODUCTPAYMENTLOGOS_TITLE')),
);
}
}
@@ -0,0 +1,38 @@
{*
* 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 <contact@prestashop.com>
* @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
*}
<!-- Block stores module -->
{if !$content_only}
</div>
<div id="product_payment_logos">
<div class="box-security">
<h5 class="product-heading-h5">{$banner_title}</h5>
<a href="{$banner_link}" title="{$banner_title}"><img src="{$module_dir}{$banner_img}" alt="{$banner_title}"/></a>
</div>
{/if}
<!-- /Block stores module -->
@@ -0,0 +1,35 @@
<?php
/*
* 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 <contact@prestashop.com>
* @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;
@@ -37,6 +37,7 @@ class ThemeConfigurator extends Module
parent::__construct();
$this->displayName = $this->l('Theme configurator');
$this->description = $this->l('Configure elements of your theme');
$this->bootstrap = true;
}
@@ -187,6 +188,20 @@ class ThemeConfigurator extends Module
'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' => '<a href="#">'.$this->l('Configure').'</a>',
'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('blockbanner')) && $module->active),
'is_module' => true,
),
array(
'label' => $this->l('Enable product payment logos'),
'name' => 'productpaymentlogos',
'desc' => '<a href="#">'.$this->l('Configure').'</a>',
'value' => (int)(Validate::isLoadedObject($module = Module::getInstanceByName('productpaymentlogos')) && $module->active),
'is_module' => true,
)
);
}
+1
View File
@@ -15,6 +15,7 @@ class TmHtmlContent extends Module {
$this->author = 'TemplateMonster'; // Defines module author
$this->version = '1.0'; // Defines module version
$this->secure_key = Tools::encrypt($this->name);
$this->bootstrap = true;
$this->_defaultLanguage = Language::getLanguage(Configuration::get('PS_LANG_DEFAULT'));
$this->_languages = Language::getLanguages();
+10 -48
View File
@@ -27,33 +27,13 @@
font-size:16px;
color:#090;
}
.new-item .languages {
float:left;
overflow:hidden;
}
.new-item .languages li {
float:left;
margin-right:5px;
padding:5px;
width:26px;
height:18px;
text-align:center;
}
.new-item .languages li.active {
background:#d1d1d1;
}
.lang-tabs {
position:relative;
z-index:99;
clear:both;
overflow:hidden;
margin-top:20px;
}
.lang-tabs li {
border:1px solid #f3f3f3;
border-bottom:1px solid #e9e9e9;
border-bottom:none;
background:#FAFAFA;
float:left;
padding:15px;
@@ -61,6 +41,7 @@
line-height:24px;
margin-right:5px;
cursor:pointer;
margin-bottom:0;
}
.lang-tabs li img {
vertical-align:baseline;
@@ -83,19 +64,22 @@
}
h3.hook-title {
h4.hook-title {
border:1px solid #d1d1d1;
background:#e5e5e5;
padding:10px 10px;
margin:20px 0 !important;
text-transform:capitalize;
clear:both;
}
#items {
padding-left:0;
}
.item {
margin:0 0 5px;
padding:10px;
border:1px solid #e5e5e5;
background:#F1F1F1;
background:#fff;
line-height:25px;
font-weight:bold;
color:#444;
@@ -125,15 +109,6 @@ h3.hook-title {
padding-left:10px;
font-size:18px;
}
.item .button{
float:right;
margin-left:10px;
cursor:pointer;
font-size:14px;
line-height:18px;
vertical-align: bottom;
}
.item .button i{
margin-right:5px;
font-size:16px;
@@ -175,26 +150,13 @@ h3.hook-title {
line-height:normal;
position:relative;
overflow:hidden;
padding-top:10px;
}
.new-item .item-container {
display:none;
padding:10px;
border:1px solid #ccc;
background:#F1F1F1;
line-height:normal;
position:relative;
overflow:hidden;
clear:both;
}
.item .item-field, .new-item .item-field {
padding:10px 0;
clear:both;
overflow:hidden;
}
.item .image-display, .new-item .image-display {
position:absolute;
top:20px;
right:20px;
text-align:center;
}
.item .image-display img, .new-item .image-display img {
max-width:400px;
+1 -1
View File
@@ -1,6 +1,6 @@
jQuery(document).ready(function() {
$('.button.new-item').click(function() {
var item_container = $(this).parent('.new-item');
var item_container = $(this).parent().parent('.new-item');
item_container.toggleClass('active').children('.item-container').slideToggle();
});
$('.button-edit').click(function() {
@@ -1,4 +1,4 @@
<ul class="lang-tabs">
<ul class="lang-tabs nav nav-tabs">
{foreach from=$htmlitems.lang.all item=lang}
<li id="lang-{$lang.id_lang}" class="lang-flag{if $lang.id_lang == $htmlitems.lang.default.id_lang} active{/if}"><img src="../img/l/{$lang.id_lang}.jpg" class="pointer" alt="{$lang.name}" title="{$lang.name}" /> {$lang.name}</li>
{/foreach}
@@ -9,73 +9,97 @@
<div id="items-{$lang}" class="lang-content" style="display:{if $lang == $htmlitems.lang.default.id_lang}block{else}none{/if};">
{foreach name=hooks from=$langItems key=hook item=hookItems}
<h3 class="hook-title">{l s='Hook' mod='tmhtmlcontent'} "{$hook}"</h3>
<h4 class="hook-title">{l s='Hook' mod='tmhtmlcontent'} "{$hook}"</h4>
{if $hookItems}
<ul id="items">
{foreach name=items from=$hookItems item=hItem}
<li id="item-{$hItem.id_item}" class="item">
<li id="item-{$hItem.id_item}" class="item panel">
<span class="item-order">{if $hItem.item_order le 9}0{/if}{$hItem.item_order}</span>
<!--<i class="icon-sort"></i>-->
<span class="item-title">{$hItem.title}</span>
<span class="button button-edit"><i class="icon-edit"></i>{l s='Edit' mod='tmhtmlcontent'}</span>
<span class="button button-close"><i class="icon-remove"></i>{l s='Close' mod='tmhtmlcontent'}</span>
<span class="button btn btn-default button-edit pull-right"><i class="icon-edit"></i>{l s='Edit' mod='tmhtmlcontent'}</span>
<span class="button btn btn-default button-close pull-right"><i class="icon-remove"></i>{l s='Close' mod='tmhtmlcontent'}</span>
<div class="item-container">
<form method="post" action="{$htmlitems.postAction}" enctype="multipart/form-data" class="item-form">
<input type="hidden" name="lang_id" value="{$lang}" />
<input type="hidden" name="item_id" value="{$hItem.id_item}" />
<input type="hidden" name="item_order" value="{$hItem.item_order}" />
<div class="active item-field">
<label>{l s='Active' mod='tmhtmlcontent'}</label>
<input type="checkbox" name="item_active" value="1"{if $hItem.active == 1} checked="checked"{/if} />
</div>
<div class="title item-field">
<label>{l s='Title' mod='tmhtmlcontent'}</label>
<input type="text" name="item_title" size="48" value="{$hItem.title}" />
</div>
<div class="title_use item-field">
<label>{l s='Use title in front' mod='tmhtmlcontent'}</label>
<input type="checkbox" name="item_title_use" value="1"{if $hItem.title_use == 1} checked="checked"{/if} />
</div>
<div class="hook item-field">
<label>{l s='Hook' mod='tmhtmlcontent'}</label>
<select name="item_hook" default="home">
<option value="home"{if $hItem.hook == 'home'} selected="selected"{/if}>home</option>
<option value="top"{if $hItem.hook == 'top'} selected="selected"{/if}>top</option>
<option value="left"{if $hItem.hook == 'left'} selected="selected"{/if}>left</option>
<option value="right"{if $hItem.hook == 'right'} selected="selected"{/if}>right</option>
<option value="footer"{if $hItem.hook == 'footer'} selected="selected"{/if}>footer</option>
</select>
</div>
<div class="image item-field">
<label>{l s='Image' mod='tmhtmlcontent'}</label>
<input type="file" name="item_img" />
</div>
<div class="image-display item-field">
<form method="post" action="{$htmlitems.postAction}" enctype="multipart/form-data" class="item-form defaultForm form-horizontal">
<input type="hidden" name="lang_id" value="{$lang}" />
<input type="hidden" name="item_id" value="{$hItem.id_item}" />
<input type="hidden" name="item_order" value="{$hItem.item_order}" />
<div class="image-display item-field form-group">
<img src="{$module_dir}images/{$hItem.image}" alt="" title="" style="width:{$hItem.image_w}px; height:{$hItem.image_h}px;{if !$hItem.image} display:none;{/if}" class="preview" />
</div>
<div class="image_w item-field">
<label>{l s='Image width' mod='tmhtmlcontent'}</label>
<input name="item_img_w" type="text" maxlength="4" size="4" value="{$hItem.image_w}"/></br>
<div class="active item-field form-group">
<label class="control-label col-lg-3">{l s='Active' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="checkbox" name="item_active" value="1"{if $hItem.active == 1} checked="checked"{/if} />
</div>
</div>
<div class="image_h item-field">
<label>{l s='Image height' mod='tmhtmlcontent'}</label>
<input name="item_img_h" type="text" maxlength="4" size="4" value="{$hItem.image_h}"/>
<div class="title item-field form-group">
<label class="control-label col-lg-3">{l s='Title' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="text" name="item_title" size="48" value="{$hItem.title}" />
</div>
</div>
<div class="url item-field">
<label>{l s='URL' mod='tmhtmlcontent'}</label>
<input type="text" name="item_url" size="48" value="{$hItem.url}" />
<div class="title_use item-field form-group">
<label class="control-label col-lg-3">{l s='Use title in front' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="checkbox" name="item_title_use" value="1"{if $hItem.title_use == 1} checked="checked"{/if} />
</div>
</div>
<div class="target item-field">
<label>{l s='Target blank' mod='tmhtmlcontent'}</label>
<input type="checkbox" name="item_target" value="1"{if $hItem.target == 1} checked="checked"{/if} />
<div class="hook item-field form-group">
<label class="control-label col-lg-3">{l s='Hook' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<select name="item_hook" default="home">
<option value="home"{if $hItem.hook == 'home'} selected="selected"{/if}>home</option>
<option value="top"{if $hItem.hook == 'top'} selected="selected"{/if}>top</option>
<option value="left"{if $hItem.hook == 'left'} selected="selected"{/if}>left</option>
<option value="right"{if $hItem.hook == 'right'} selected="selected"{/if}>right</option>
<option value="footer"{if $hItem.hook == 'footer'} selected="selected"{/if}>footer</option>
</select>
</div>
</div>
<div class="html item-field">
<label>{l s='HTML' mod='tmhtmlcontent'}</label>
<textarea name="item_html" cols="65" rows="12">{$hItem.html}</textarea>
<div class="image item-field form-group">
<label class="control-label col-lg-3">{l s='Image' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="file" name="item_img" />
</div>
</div>
<div class="image_w item-field form-group">
<label class="control-label col-lg-3">{l s='Image width' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input name="item_img_w" type="text" maxlength="4" size="4" value="{$hItem.image_w}"/>
</div>
</div>
<div class="image_h item-field form-group">
<label class="control-label col-lg-3">{l s='Image height' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input name="item_img_h" type="text" maxlength="4" size="4" value="{$hItem.image_h}"/>
</div>
</div>
<div class="url item-field form-group">
<label class="control-label col-lg-3">{l s='URL' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="text" name="item_url" size="48" value="{$hItem.url}" />
</div>
</div>
<div class="target item-field form-group">
<label class="control-label col-lg-3">{l s='Target blank' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="checkbox" name="item_target" value="1"{if $hItem.target == 1} checked="checked"{/if} />
</div>
</div>
<div class="html item-field form-group">
<label class="control-label col-lg-3">{l s='HTML' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<textarea name="item_html" cols="65" rows="12">{$hItem.html}</textarea>
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<button type="submit" name="removeItem" class="button btn btn-default button-remove" onClick="this.form.submit();"><i class="icon-remove-sign"></i>{l s='Remove' mod='tmhtmlcontent'}</button>
<button type="submit" name="updateItem" class="button btn btn-default button-save" onClick="this.form.submit();"><i class="icon-save"></i>{l s='Save' mod='tmhtmlcontent'}</button>
</div>
</div>
<button type="submit" name="removeItem" class="button button-remove" onClick="this.form.submit();"><i class="icon-remove-sign"></i>{l s='Remove' mod='tmhtmlcontent'}</button>
<button type="submit" name="updateItem" class="button button-save" onClick="this.form.submit();"><i class="icon-save"></i>{l s='Save' mod='tmhtmlcontent'}</button>
</form>
</div>
</li>
@@ -1,3 +1,3 @@
<div id="{$id}-response" {if !isset($text)}style="display:none;"{/if} class="message {if isset($class)}{$class}{/if}">
<div class="content">{if isset($text)}{$text}{/if}</div>
<div id="{$id}-response" {if !isset($text)}style="display:none;"{/if} class="message alert alert-{if isset($class) && $class=='error'}danger{else}success{/if}">
<div>{if isset($text)}{$text}{/if}</div>
</div>
@@ -1,57 +1,91 @@
<div class="new-item">
<span class="button new-item"><i class="icon-plus-sign"></i>{l s='Add item' mod='tmhtmlcontent'}</span>
<div class="form-group clearfix">
<span class="button btn btn-default new-item"><i class="icon-plus-sign"></i>{l s='Add item' mod='tmhtmlcontent'}</span>
</div>
<div class="item-container">
<form method="post" action="{$htmlitems.postAction}" enctype="multipart/form-data" class="item-form">
<div class="language item-field">
<label>{l s='Language' mod='tmhtmlcontent'}</label>
<ul class="languages">
{foreach from=$htmlitems.lang.all item=lang}
<li id="lang-{$lang.id_lang}" class="new-lang-flag{if $lang.id_lang == $htmlitems.lang.default.id_lang} active{/if}"><img src="../img/l/{$lang.id_lang}.jpg" class="pointer" alt="{$lang.name}" title="{$lang.name}" /></li>
{/foreach}
</ul>
<input type="hidden" id="lang-id" name="lang_id" value="{$htmlitems.lang.default.id_lang}" />
<form method="post" action="{$htmlitems.postAction}" enctype="multipart/form-data" class="item-form defaultForm form-horizontal">
<div class="panel">
<div class="language item-field form-group">
<label class="control-label col-lg-3">{l s='Language' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
{foreach from=$htmlitems.lang.all item=lang}
{if $lang.id_lang == $htmlitems.lang.default.id_lang} {$lang.iso_code}{/if}
{/foreach}
<span class="caret">&nbsp;</span>
</button>
<ul class="languages dropdown-menu">
{foreach from=$htmlitems.lang.all item=lang}
<li id="lang-{$lang.id_lang}" class="new-lang-flag"><a href="javascript:hideOtherLanguage({$lang.id_lang});">{$lang.name}</a></li>
{/foreach}
</ul>
<input type="hidden" id="lang-id" name="lang_id" value="{$htmlitems.lang.default.id_lang}" />
</div>
</div>
<div class="title item-field form-group">
<label class="control-label col-lg-3 ">{l s='Title' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input class="form-control" type="text" name="item_title" size="48" value="" />
</div>
</div>
<div class="title_use item-field form-group">
<label class="control-label col-lg-3">{l s='Use title in front' mod='tmhtmlcontent'}</label>
<input type="checkbox" name="item_title_use" value="1" />
</div>
<div class="hook item-field form-group">
<label class="control-label col-lg-3">{l s='Hook' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<select class="form-control" name="item_hook" default="home">
<option value="home">home</option>
<option value="top">top</option>
<option value="left">left</option>
<option value="right">right</option>
<option value="footer">footer</option>
</select>
</div>
</div>
<div class="image item-field form-group">
<label class="control-label col-lg-3">{l s='Image' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="file" name="item_img" />
</div>
</div>
<div class="image_w item-field form-group">
<label class="control-label col-lg-3">{l s='Image width' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input name="item_img_w" type="text" maxlength="4" size="4" value=""/>
</div>
</div>
<div class="image_h item-field form-group">
<label class="control-label col-lg-3">{l s='Image height' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input name="item_img_h" type="text" maxlength="4" size="4" value=""/>
</div>
</div>
<div class="url item-field form-group">
<label class="control-label col-lg-3">{l s='URL' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="text" name="item_url" size="48" value="http://" />
</div>
</div>
<div class="target item-field form-group">
<label class="control-label col-lg-3">{l s='Target blank' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<input type="checkbox" name="item_target" value="1" />
</div>
</div>
<div class="html item-field form-group">
<label class="control-label col-lg-3">{l s='HTML' mod='tmhtmlcontent'}</label>
<div class="col-lg-7">
<textarea name="item_html" cols="65" rows="12"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<button type="submit" name="newItem" class="button-save btn btn-default" onClick="this.form.submit();">{l s='Save' mod='tmhtmlcontent'}</button>
</div>
</div>
</div>
<div class="title item-field">
<label>{l s='Title' mod='tmhtmlcontent'}</label>
<input type="text" name="item_title" size="48" value="" />
</div>
<div class="title_use item-field">
<label>{l s='Use title in front' mod='tmhtmlcontent'}</label>
<input type="checkbox" name="item_title_use" value="1" />
</div>
<div class="hook item-field">
<label>{l s='Hook' mod='tmhtmlcontent'}</label>
<select name="item_hook" default="home">
<option value="home">home</option>
<option value="top">top</option>
<option value="left">left</option>
<option value="right">right</option>
<option value="footer">footer</option>
</select>
</div>
<div class="image item-field">
<label>{l s='Image' mod='tmhtmlcontent'}</label>
<input type="file" name="item_img" />
</div>
<div class="image_w item-field">
<label>{l s='Image width' mod='tmhtmlcontent'}</label><input name="item_img_w" type="text" maxlength="4" size="4" value=""/></br>
</div>
<div class="image_h item-field">
<label>{l s='Image height' mod='tmhtmlcontent'}</label><input name="item_img_h" type="text" maxlength="4" size="4" value=""/>
</div>
<div class="url item-field">
<label>{l s='URL' mod='tmhtmlcontent'}</label>
<input type="text" name="item_url" size="48" value="http://" />
</div>
<div class="target item-field">
<label>{l s='Target blank' mod='tmhtmlcontent'}</label>
<input type="checkbox" name="item_target" value="1" />
</div>
<div class="html item-field">
<label>{l s='HTML' mod='tmhtmlcontent'}</label>
<textarea name="item_html" cols="65" rows="12"></textarea>
</div>
<button type="submit" name="newItem" class="button button-save" onClick="this.form.submit();"><i class="icon-save"></i>{l s='Save' mod='tmhtmlcontent'}</button>
</form>
</div>
</div>
+69 -1
View File
@@ -304,6 +304,10 @@ input.button_large, input.button_large_disabled, input.exclusive_large, input.ex
background-image: url('../img/button-large.png')*/
}
.btn.disabled, .btn[disabled]:hover {
opacity: 0.3;
}
.button.button-small {
font: bold 13px/17px Arial, Helvetica, sans-serif;
color: white;
@@ -954,6 +958,16 @@ table.table_block td {
.block {
margin-bottom: 30px;
}
@media (max-width: 767px) {
.block {
margin-bottom: 0px;
}
}
@media (max-width: 767px) {
.block .block_content {
margin-bottom: 20px;
}
}
.block .title_block, .block h4 {
font: 600 18px/22px "Open Sans", sans-serif;
@@ -969,6 +983,26 @@ table.table_block td {
font-size: 14px;
}
}
@media (max-width: 767px) {
.block .title_block, .block h4 {
position: relative;
}
.block .title_block:after, .block h4:after {
display: block;
font-family: "FontAwesome";
content: "";
position: absolute;
right: 0;
top: 15px;
height: 36px;
width: 36px;
font-size: 26px;
font-weight: normal;
}
.block .title_block.active:after, .block h4.active:after {
content: "";
}
}
.block .title_block a, .block h4 a {
color: #555454;
}
@@ -988,6 +1022,11 @@ table.table_block td {
.block .list-block {
margin-top: -8px;
}
@media (max-width: 767px) {
.block .list-block {
margin-top: 0;
}
}
.block .list-block li {
padding: 5px 0 6px 20px;
border-top: 1px solid #d6d4d4;
@@ -1012,10 +1051,16 @@ table.table_block td {
.block .list-block .form-group {
padding-top: 20px;
border-top: 1px solid #d6d4d4;
margin-bottom: 0;
}
.block .list-block .form-group select {
max-width: 270px;
}
@media (max-width: 767px) {
.block .list-block .form-group select {
width: 270px;
}
}
.block .list-block .btn {
margin-top: 12px;
}
@@ -2051,6 +2096,11 @@ div.star_hover a, div.star a:hover {
.footer-container #footer .footer-block {
margin-top: 45px;
}
@media (max-width: 767px) {
.footer-container #footer .footer-block {
margin-top: 20px;
}
}
.footer-container #footer a {
color: #777;
}
@@ -2062,6 +2112,24 @@ div.star_hover a, div.star a:hover {
color: white;
margin: 0 0 13px 0;
}
@media (max-width: 767px) {
.footer-container #footer h4 {
position: relative;
margin-bottom: 0;
padding-bottom: 13px;
}
.footer-container #footer h4:after {
display: block;
content: "";
font-family: "FontAwesome";
position: absolute;
right: 0;
top: 1px;
}
.footer-container #footer h4.active:after {
content: "";
}
}
.footer-container #footer h4 a {
color: white;
}
@@ -3186,7 +3254,7 @@ div.star_hover a, div.star a:hover {
.form-group.form-ok input, .form-group.form-ok textarea {
border: 1px solid #46a74e;
color: #35b33f;
background: url(../img/icon/form-ok.png) 98% 5px no-repeat #87f590;
background: url(../img/icon/form-ok.png) 98% 5px no-repeat #ddf9e1;
}
.form-group.form-error .form-control, .form-group.form-ok .form-control {
padding-right: 30px;
@@ -1,5 +1,10 @@
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic);
/* block CONTACT ******************************************************************************* */
@media (max-width: 767px) {
#contact_block {
margin-bottom: 20px;
}
}
#contact_block .label {
display: none;
}
@@ -49,6 +49,9 @@
line-height: 25px;
border: none;
}
#footer #newsletter_block_left h4:after {
display: none;
}
#footer #newsletter_block_left .block_content {
overflow: hidden;
}
@@ -65,6 +65,11 @@
#wishlist_block .lnk .form-group select {
max-width: 192px;
}
@media (max-width: 767px) {
#wishlist_block .lnk .form-group select {
width: 192px;
}
}
#wishlist_block .ajax_cart_block_remove_link {
font-size: 14px;
line-height: 14px;
-7
View File
@@ -100,13 +100,6 @@
</div>
{/if}
<div id="page">
<div class="banner-top">
<div class="container">
<a href="#">
<img class="banner-top img-responsive" src="{$img_dir}top-banner.gif" alt="banner-top"/>
</a>
</div>
</div>
<!-- Header -->
<div class="header-container">
<header id="header">
+13 -8
View File
@@ -44,6 +44,8 @@ $(document).ready(function(){
tmDropDown ('', '#header .current', 'ul.toogle_content', 'active'); // all of this should be defined or left empty brackets
//tmDropDown ('cart', 'li#shopping_cart > a', '#cart_block', 'active'); // all of this should be defined or left empty brackets
});
var responsiveflag = false;
// TOGGLE FOOTER
@@ -65,16 +67,12 @@ function accordionFooter(status){
function accordion(status){
leftColumnBlocks = $('#left_column');
if(status == 'enable'){
$('#left_column').remove();
$(leftColumnBlocks).insertAfter('#center_column').find('#categories_block_left ul.toggle_content').slideToggle('fast'); // replace left column under content
$('#right_column .title_block, #left_column .title_block, #left_column #newsletter_block_left').on('click', function(){
$('#right_column .block:not(#layered_block_left) .title_block, #left_column .block:not(#layered_block_left) .title_block, #left_column #newsletter_block_left h4').on('click', function(){
$(this).toggleClass('active').parent().find('.block_content').stop().slideToggle('medium');
})
$('#right_column, #left_column').addClass('accordion').find('.block_content').slideUp('fast');
$('#right_column, #left_column').addClass('accordion').find('.block:not(#layered_block_left) .block_content').slideUp('fast');
}else{
$('#left_column').remove();
$(leftColumnBlocks).insertBefore('#center_column'); // replace left column before content
$('#right_column .title_block, #left_column .title_block').removeClass('active').off().parent().find('.block_content').removeAttr('style').slideDown('fast');
$('#right_column .block:not(#layered_block_left) .title_block, #left_column .block:not(#layered_block_left) .title_block, #left_column #newsletter_block_left h4').removeClass('active').off().parent().find('.block_content').removeAttr('style').slideDown('fast');
$('#left_column, #right_column').removeClass('accordion');
}
}
@@ -94,4 +92,11 @@ function resposiveResize(){
}
$(document).ready(resposiveResize);
$(window).resize(resposiveResize);
$(window).resize(resposiveResize);
//replace top banner to top of page, before #header
$(document).ready(function(){
topBanner = $('body').find('#banner_block_top');
topBanner.remove();
topBanner.insertBefore('#header');
});
@@ -0,0 +1,25 @@
<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{blockcms}prestashop>blockcms_a82be0f551b8708bc08eb33cd9ded0cf'] = 'Information';
$_MODULE['<{blockcms}prestashop>blockcms_ea4788705e6873b424c65e91c2846b19'] = 'Cancel';
$_MODULE['<{blockcms}prestashop>blockcms_ef61fb324d729c341ea8ab9901e23566'] = 'Add new';
$_MODULE['<{blockcms}prestashop>blockcms_c9cc8cce247e49bae79f15173ce97354'] = 'Save';
$_MODULE['<{blockcms}prestashop>blockcms_965be994da393e5aa15bd3a2444c6ccf'] = 'Footer\'s various links Configuration';
$_MODULE['<{blockcms}prestashop>blockcms_9aa03a5dca2e060a4ecbff0dd8616692'] = 'Save';
$_MODULE['<{blockcms}prestashop>blockcms_93cba07454f06a4a960172bbd6e2a435'] = 'Yes';
$_MODULE['<{blockcms}prestashop>blockcms_bafd7322c6e97d25b6299b5d6fe8920b'] = 'No';
$_MODULE['<{blockcms}prestashop>blockcms_87a2663d841b78f01c27c0edb4f50b76'] = 'Deletion successful';
$_MODULE['<{blockcms}prestashop>blockcms_34c869c542dee932ef8cd96d2f91cae6'] = 'Our stores';
$_MODULE['<{blockcms}prestashop>blockcms_3cb29f0ccc5fd220a97df89dafe46290'] = 'Best sellers';
$_MODULE['<{blockcms}prestashop>blockcms_e1da49db34b0bdfdddaba2ad6552f848'] = 'Sitemap';
$_MODULE['<{blockcms}prestashop>form_b718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_MODULE['<{blockcms}prestashop>form_52f5e0bc3859bc5f5e25130b6c7e8881'] = 'Position';
$_MODULE['<{blockcms}prestashop>form_06df33001c1d7187fdd81ea1f5b277aa'] = 'Actions';
$_MODULE['<{blockcms}prestashop>form_08a38277b0309070706f6652eeae9a53'] = 'Down';
$_MODULE['<{blockcms}prestashop>form_258f49887ef8d14ac268c92b02503aaa'] = 'Up';
$_MODULE['<{blockcms}prestashop>form_7dce122004969d56ae2e0245cb754d35'] = 'Edit';
$_MODULE['<{blockcms}prestashop>form_f2a6c498fb90ee345d997f888fce3b18'] = 'Delete';
$_MODULE['<{blockcms}prestashop>form_49ee3087348e8d44e1feda1917443987'] = 'Name';
@@ -36,9 +36,9 @@
{if $voucherAllowed}<li><a href="{$link->getPageLink('discount', true)|escape:'html'}" title="{l s='My vouchers' mod='blockmyaccount'}">{l s='My vouchers' mod='blockmyaccount'}</a></li>{/if}
{$HOOK_BLOCK_MY_ACCOUNT}
</ul>
<p class="logout">
<div class="logout">
<a class="btn btn-default button button-small" href="{$link->getPageLink('index', true, NULL, "mylogout")|escape:'html'}" title="{l s='Sign out' mod='blockmyaccount'}"><span>{l s='Sign out' mod='blockmyaccount'}<i class="icon-chevron-right right"></i></span></a>
</p>
</div>
</div>
</div>
<!-- /Block myaccount module -->
@@ -51,11 +51,11 @@
</div>
</li>
</ul>
<p>
<div>
<a class="btn btn-default button button-small" href="{$link->getPageLink('prices-drop')|escape:'html'}" title="{l s='All specials' mod='blockspecials'}"><span>{l s='All specials' mod='blockspecials'}<i class="icon-chevron-right right"></i></span></a>
</p>
</div>
{else}
<p>{l s='No specials at this time' mod='blockspecials'}</p>
<div>{l s='No specials at this time' mod='blockspecials'}</div>
{/if}
</div>
</div>
@@ -83,6 +83,6 @@ $('document').ready(function()
<ul class="footer_links clearfix">
<li>
<a class="btn btn-default button button-small" href="{$link->getPageLink('my-account', true)|escape:'htmlall':'UTF-8'}"><span><i class="icon-chevron-left"></i>{l s='Back to your account.' mod='favoriteproducts'}</span></a></li>
<a class="btn btn-default button button-small" href="{$link->getPageLink('my-account', true)|escape:'htmlall':'UTF-8'}"><span><i class="icon-chevron-left"></i>{l s='Back to your account' mod='favoriteproducts'}</span></a></li>
</ul>
</div>
-9
View File
@@ -493,15 +493,6 @@ var contentOnly = {if $content_only}true{else}false{/if}
</div>
{if !$content_only}
<div class="box-security">
<h5 class="product-heading-h5">{l s='Your Security Guaranteed'}</h5>
<img class="logo-payment" src="{$img_dir}payment-logo.png" alt="" />
</div>
{/if}
</div>
+68 -6
View File
@@ -240,6 +240,9 @@ input.button_large, input.button_large_disabled, input.exclusive_large, input.ex
/*width: 180px;
background-image: url('../img/button-large.png')*/
}
.btn.disabled, .btn[disabled]:hover {
opacity:0.3;
}
.button.button-small {
font:bold 13px/17px $font-famaly;
color:$button-text-color;
@@ -824,8 +827,20 @@ table.table_block td {
margin-bottom:34px;
}
}
.block {margin-bottom:30px}
.block {
.block {
margin-bottom:30px;
@media (max-width: $screen-xs-max) { // max 767px
margin-bottom:0px;
}
.block_content {
@media (max-width: $screen-xs-max) { // max 767px
margin-bottom:20px;
}
}
}
.block {
.title_block, h4 {
font:600 18px/22px $font-custom;
@@ -837,7 +852,27 @@ table.table_block td {
margin-bottom:20px;
@media (min-width: $screen-sm) and (max-width: $screen-sm-max) {
font-size:14px;
}
}
// heading style for devices smaller that 767px width
@media (max-width: $screen-xs-max) { // max 767px
position:relative;
&:after {
display:block;
font-family:$font-icon;
content:"";
position:absolute;
right:0;
top:15px;
height:36px;
width:36px;
font-size:26px;
font-weight:normal;
}
&.active:after {
content:"";
}
}
a {
color:$base-heading-color;
@@ -860,6 +895,9 @@ table.table_block td {
}
.list-block {
margin-top:-8px;
@media (max-width: $screen-xs-max) { // max 767px
margin-top:0;
}
li {
padding:5px 0 6px 20px;
@@ -888,9 +926,13 @@ table.table_block td {
.form-group {
padding-top:20px;
border-top:1px solid $base-border-color;
margin-bottom:0;
select {
max-width:270px;
max-width:270px;
@media (max-width: $screen-xs-max) { // max 767px
width:270px;
}
}
}
@@ -1858,7 +1900,10 @@ div.star_hover a, div.star a:hover { background-position: 0 -32px }
color:#777;
position:relative;
.footer-block {
margin-top:45px;
margin-top:45px;
@media (max-width: $screen-xs-max) { // max 767px
margin-top:20px;
}
}
a {
@@ -1873,6 +1918,23 @@ div.star_hover a, div.star a:hover { background-position: 0 -32px }
font:600 18px/22px $font-custom;
color:$light-text-color;
margin:0 0 13px 0;
@media (max-width: $screen-xs-max) { // max 767px
position:relative;
margin-bottom:0;
padding-bottom:13px;
&:after {
display:block;
content:"";
font-family:$font-icon;
position:absolute;
right:0;
top:1px;
}
&.active:after {
content:"";
}
}
a {color:$light-text-color;}
}
@@ -2946,7 +3008,7 @@ div.star_hover a, div.star a:hover { background-position: 0 -13px }
input, textarea {
border:1px solid #46a74e;
color:#35b33f;
background: url(../img/icon/form-ok.png) 98% 5px no-repeat #87f590;
background: url(../img/icon/form-ok.png) 98% 5px no-repeat #ddf9e1;
}
}
&.form-error, &.form-ok {
@@ -1,7 +1,9 @@
@import '../../_theme_variables';
/* block CONTACT ******************************************************************************* */
#contact_block {
@media (max-width: $screen-xs-max) { // max 767px
margin-bottom:20px;
}
.label {display: none}
.block_content {
@@ -52,6 +52,7 @@
font-size:21px;
line-height:25px;
border:none;
&:after {display:none;}
}
.block_content {
@@ -77,7 +77,10 @@
margin-bottom:20px;
select {
max-width:192px;
max-width:192px;
@media (max-width: $screen-xs-max) { // max 767px
width:192px;
}
}
}
}