[+] FO : mobile theme re-included in the trunk
@@ -95,6 +95,59 @@ class ContextCore
|
||||
*/
|
||||
public $smarty;
|
||||
|
||||
/**
|
||||
* @var boolean|string mobile device of the customer
|
||||
*/
|
||||
protected $mobile_device;
|
||||
|
||||
/**
|
||||
* @var boolean|string touch pad device of the customer
|
||||
*/
|
||||
protected $touchpad_device;
|
||||
|
||||
public function getMobileDevice()
|
||||
{
|
||||
if (is_null($this->mobile_device))
|
||||
{
|
||||
$this->mobile_device = false;
|
||||
if ($this->checkMobileContext())
|
||||
if (preg_match('/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipaq|ipod|j2me|java|midp|mini|mmp|mobi\s|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|zte)/i', $_SERVER['HTTP_USER_AGENT'], $out))
|
||||
$this->mobile_device = $out[0];
|
||||
}
|
||||
|
||||
return $this->mobile_device;
|
||||
}
|
||||
|
||||
protected function checkMobileContext()
|
||||
{
|
||||
return file_exists(_PS_THEME_MOBILE_DIR_)
|
||||
&& Configuration::get('PS_ALLOW_MOBILE_DEVICE')
|
||||
&& isset($_SERVER['HTTP_USER_AGENT'])
|
||||
&& !Context::getContext()->cookie->no_mobile;
|
||||
}
|
||||
|
||||
protected function getTouchPadDevice()
|
||||
{
|
||||
if (is_null($this->touchpad_device))
|
||||
{
|
||||
$this->touchpad_device = false;
|
||||
if ($this->checkMobileContext())
|
||||
{
|
||||
if (preg_match('/(xoom|ipad)/i', $_SERVER['HTTP_USER_AGENT'], $out))
|
||||
$this->touchpad_device = $out[0];
|
||||
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'android') && !strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile'))
|
||||
$this->touchpad_device = 'android';
|
||||
|
||||
// for Galaxy tab
|
||||
if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'android')
|
||||
&& (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'sch-i800')
|
||||
|| strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'gt-p1000')))
|
||||
$this->touchpad_device = 'android';
|
||||
}
|
||||
}
|
||||
return $this->touchpad_device;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a singleton context
|
||||
*
|
||||
|
||||
@@ -249,6 +249,10 @@ class FrontControllerCore extends Controller
|
||||
CartRule::autoAddToCart($this->context);
|
||||
}
|
||||
|
||||
// Check mobile context
|
||||
if (Tools::isSubmit('no_mobile'))
|
||||
$this->context->cookie->no_mobile = true;
|
||||
|
||||
$locale = strtolower(Configuration::get('PS_LOCALE_LANGUAGE')).'_'.strtoupper(Configuration::get('PS_LOCALE_COUNTRY').'.UTF-8');
|
||||
setlocale(LC_COLLATE, $locale);
|
||||
setlocale(LC_CTYPE, $locale);
|
||||
@@ -305,6 +309,8 @@ class FrontControllerCore extends Controller
|
||||
$meta_language[] = $lang['iso_code'];
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
// Usefull for layout.tpl
|
||||
'mobile_device' => $this->context->getMobileDevice(),
|
||||
'link' => $link,
|
||||
'cart' => $cart,
|
||||
'currency' => $currency,
|
||||
@@ -338,6 +344,12 @@ class FrontControllerCore extends Controller
|
||||
'request' => $link->getPaginationLink(false, false, false, true)
|
||||
));
|
||||
|
||||
// Add the tpl files directory for mobile
|
||||
if ($this->context->getMobileDevice() != false)
|
||||
$this->context->smarty->assign(array(
|
||||
'tpl_mobile_uri' => _PS_THEME_MOBILE_DIR_,
|
||||
));
|
||||
|
||||
// Deprecated
|
||||
$this->context->smarty->assign(array(
|
||||
'id_currency_cookie' => (int)$currency->id,
|
||||
@@ -361,6 +373,14 @@ class FrontControllerCore extends Controller
|
||||
'pic_dir' => _THEME_PROD_PIC_DIR_
|
||||
);
|
||||
|
||||
// Add the images directory for mobile
|
||||
if ($this->context->getMobileDevice() != false)
|
||||
$assign_array['img_mobile_dir'] = _THEME_MOBILE_IMG_DIR_;
|
||||
|
||||
// Add the CSS directory for mobile
|
||||
if ($this->context->getMobileDevice() != false)
|
||||
$assign_array['css_mobile_dir'] = _THEME_MOBILE_CSS_DIR_;
|
||||
|
||||
foreach ($assign_array as $assign_key => $assign_value)
|
||||
if (substr($assign_value, 0, 1) == '/' || $protocol_content == 'https://')
|
||||
$this->context->smarty->assign($assign_key, $protocol_content.Tools::getMediaServer($assign_value).$assign_value);
|
||||
@@ -419,12 +439,25 @@ class FrontControllerCore extends Controller
|
||||
$this->process();
|
||||
if (!isset($this->context->cart))
|
||||
$this->context->cart = new Cart();
|
||||
$this->context->smarty->assign(array(
|
||||
'HOOK_HEADER' => Hook::exec('displayHeader'),
|
||||
'HOOK_TOP' => Hook::exec('displayTop'),
|
||||
'HOOK_LEFT_COLUMN' => ($this->display_column_left ? Hook::exec('displayLeftColumn') : ''),
|
||||
'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''),
|
||||
));
|
||||
if ($this->context->getMobileDevice() == false)
|
||||
{
|
||||
// These hooks aren't used for the mobile theme.
|
||||
// Needed hooks are called in the tpl files.
|
||||
if (!isset($this->context->cart))
|
||||
$this->context->cart = new Cart();
|
||||
$this->context->smarty->assign(array(
|
||||
'HOOK_HEADER' => Hook::exec('displayHeader'),
|
||||
'HOOK_TOP' => Hook::exec('displayTop'),
|
||||
'HOOK_LEFT_COLUMN' => ($this->display_column_left ? Hook::exec('displayLeftColumn') : ''),
|
||||
'HOOK_RIGHT_COLUMN' => ($this->display_column_right ? Hook::exec('displayRightColumn', array('cart' => $this->context->cart)) : ''),
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->context->smarty->assign(array(
|
||||
'HOOK_MOBILE_HEADER' => Hook::exec('displayMobileHeader'),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -517,7 +550,8 @@ class FrontControllerCore extends Controller
|
||||
'display_footer' => $this->display_footer,
|
||||
));
|
||||
|
||||
if (Tools::isSubmit('live_edit'))
|
||||
// Don't use live edit if on mobile device
|
||||
if ($this->context->getMobileDevice() == false && Tools::isSubmit('live_edit'))
|
||||
$this->context->smarty->assign('live_edit', $this->getLiveEditFooter());
|
||||
|
||||
$layout = $this->getLayout();
|
||||
@@ -572,7 +606,9 @@ class FrontControllerCore extends Controller
|
||||
{
|
||||
header('HTTP/1.1 503 temporarily overloaded');
|
||||
$this->context->smarty->assign('favicon_url', _PS_IMG_.Configuration::get('PS_FAVICON'));
|
||||
$this->context->smarty->display(_PS_THEME_DIR_.'maintenance.tpl');
|
||||
|
||||
$template_dir = ($this->context->getMobileDevice() == true ? _PS_THEME_MOBILE_DIR_ : _PS_THEME_DIR_);
|
||||
$this->context->smarty->display($template_dir.'maintenance.tpl');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
@@ -685,8 +721,32 @@ class FrontControllerCore extends Controller
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specific medias for mobile device.
|
||||
*/
|
||||
public function setMobileMedia()
|
||||
{
|
||||
$this->addjquery();
|
||||
$this->addJS(_THEME_MOBILE_JS_DIR_.'jquery.mobile-1.1.1.min.js');
|
||||
$this->addJS(_THEME_MOBILE_JS_DIR_.'jqm-docs.js');
|
||||
$this->addJS(_PS_JS_DIR_.'tools.js');
|
||||
$this->addJS(_THEME_MOBILE_JS_DIR_.'global.js');
|
||||
$this->addjqueryPlugin('fancybox');
|
||||
|
||||
$this->addCSS(_THEME_MOBILE_CSS_DIR_.'jquery.mobile-1.1.1.min.css', 'all');
|
||||
$this->addCSS(_THEME_MOBILE_CSS_DIR_.'jqm-docs.css', 'all');
|
||||
$this->addCSS(_THEME_MOBILE_CSS_DIR_.'global.css', 'all');
|
||||
}
|
||||
|
||||
public function setMedia()
|
||||
{
|
||||
// if website is accessed by mobile device
|
||||
// @see FrontControllerCore::setMobileMedia()
|
||||
if ($this->context->getMobileDevice() != false)
|
||||
{
|
||||
$this->setMobileMedia();
|
||||
return true;
|
||||
}
|
||||
$this->addCSS(_THEME_CSS_DIR_.'global.css', 'all');
|
||||
$this->addjquery();
|
||||
$this->addjqueryPlugin('easing');
|
||||
@@ -960,15 +1020,20 @@ class FrontControllerCore extends Controller
|
||||
|
||||
/**
|
||||
* This is overrided to manage is behaviour
|
||||
* if a customer access to the site with mobile device.
|
||||
*/
|
||||
public function setTemplate($default_template)
|
||||
{
|
||||
$template = $this->getOverrideTemplate();
|
||||
|
||||
if ($template)
|
||||
parent::setTemplate($template);
|
||||
else
|
||||
parent::setTemplate($default_template);
|
||||
if ($this->context->getMobileDevice() != false)
|
||||
$this->setMobileTemplate($default_template);
|
||||
else
|
||||
{
|
||||
$template = $this->getOverrideTemplate();
|
||||
if ($template)
|
||||
parent::setTemplate($template);
|
||||
else
|
||||
parent::setTemplate($default_template);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1002,6 +1067,12 @@ class FrontControllerCore extends Controller
|
||||
|
||||
$layout_dir = _PS_THEME_DIR_;
|
||||
$layout_override_dir = _PS_THEME_OVERRIDE_DIR_;
|
||||
if ($this->context->getMobileDevice() != false)
|
||||
{
|
||||
$layout_dir = _PS_THEME_MOBILE_DIR_;
|
||||
$layout_override_dir = _PS_THEME_MOBILE_OVERRIDE_DIR_;
|
||||
}
|
||||
|
||||
$layout = false;
|
||||
if ($entity)
|
||||
{
|
||||
@@ -1016,4 +1087,47 @@ class FrontControllerCore extends Controller
|
||||
|
||||
return $layout;
|
||||
}
|
||||
|
||||
/**
|
||||
* This checks if the template set is available for mobile themes,
|
||||
* otherwise the front template is choosen.
|
||||
*/
|
||||
public function setMobileTemplate($template)
|
||||
{
|
||||
// Needed for site map
|
||||
$blockmanufacturer = Module::getInstanceByName('blockmanufacturer');
|
||||
$blocksupplier = Module::getInstanceByName('blocksupplier');
|
||||
$this->context->smarty->assign('categoriesTree', Category::getRootCategory()->recurseLiteCategTree(0));
|
||||
$this->context->smarty->assign('categoriescmsTree', CMSCategory::getRecurseCategory($this->context->language->id, 1, 1, 1));
|
||||
$this->context->smarty->assign('voucherAllowed', (int)Configuration::get('PS_VOUCHERS'));
|
||||
$this->context->smarty->assign('display_manufacturer_link', (((int)$blockmanufacturer->id) ? true : false));
|
||||
$this->context->smarty->assign('display_supplier_link', (((int)$blocksupplier->id) ? true : false));
|
||||
$this->context->smarty->assign('PS_DISPLAY_SUPPLIERS', Configuration::get('PS_DISPLAY_SUPPLIERS'));
|
||||
$this->context->smarty->assign('display_store', Configuration::get('PS_STORES_DISPLAY_SITEMAP'));
|
||||
$this->context->smarty->assign('conditions', Configuration::get('PS_CONDITIONS'));
|
||||
$this->context->smarty->assign('id_cgv', Configuration::get('PS_CONDITIONS_CMS_ID'));
|
||||
$this->context->smarty->assign('PS_SHOP_NAME', Configuration::get('PS_SHOP_NAME'));
|
||||
|
||||
$mobile_template = '';
|
||||
$tpl_file = basename($template);
|
||||
$dirname = dirname($template).(substr(dirname($template), -1, 1) == '/' ? '' : '/');
|
||||
|
||||
if ($dirname == _PS_THEME_DIR_)
|
||||
{
|
||||
if (file_exists(_PS_THEME_MOBILE_DIR_.$tpl_file))
|
||||
$template = _PS_THEME_MOBILE_DIR_.$tpl_file;
|
||||
}
|
||||
elseif ($dirname == _PS_THEME_MOBILE_DIR_)
|
||||
{
|
||||
if (!file_exists(_PS_THEME_MOBILE_DIR_.$tpl_file) && file_exists(_PS_THEME_DIR_.$tpl_file))
|
||||
$template = _PS_THEME_DIR_.$tpl_file;
|
||||
}
|
||||
$assign = array();
|
||||
$assign['tpl_file'] = basename($tpl_file, '.tpl');
|
||||
if (isset($this->php_self))
|
||||
$assign['controller_name'] = $this->php_self;
|
||||
|
||||
$this->context->smarty->assign($assign);
|
||||
$this->template = $template;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,28 @@ define('_THEME_CSS_DIR_', _THEME_DIR_.'css/');
|
||||
define('_THEME_JS_DIR_', _THEME_DIR_.'js/');
|
||||
define('_PS_THEME_OVERRIDE_DIR_', _PS_THEME_DIR_.'override/');
|
||||
|
||||
/* For mobile devices */
|
||||
if (file_exists(_PS_THEME_DIR_.'mobile/'))
|
||||
{
|
||||
define('_PS_THEME_MOBILE_DIR_', _PS_THEME_DIR_.'mobile/');
|
||||
define('_THEME_MOBILE_DIR_', _THEMES_DIR_._THEME_NAME_.'/mobile/');
|
||||
define('_PS_THEME_MOBILE_OVERRIDE_DIR_', _PS_THEME_MOBILE_DIR_.'override/');
|
||||
}
|
||||
else
|
||||
{
|
||||
define('_PS_THEME_MOBILE_DIR_', _PS_ROOT_DIR_.'/themes/default/mobile/');
|
||||
define('_THEME_MOBILE_DIR_', __PS_BASE_URI__.'themes/default/mobile/');
|
||||
}
|
||||
define('_THEME_MOBILE_IMG_DIR_', _THEME_MOBILE_DIR_.'img/');
|
||||
define('_THEME_MOBILE_CSS_DIR_', _THEME_MOBILE_DIR_.'css/');
|
||||
define('_THEME_MOBILE_JS_DIR_', _THEME_MOBILE_DIR_.'js/');
|
||||
|
||||
/* For touch pad devices */
|
||||
define('_PS_THEME_TOUCHPAD_DIR_', _PS_THEME_DIR_.'touchpad/');
|
||||
define('_THEME_TOUCHPAD_DIR_', _THEMES_DIR_._THEME_NAME_.'/touchpad/');
|
||||
define('_THEME_TOUCHPAD_CSS_DIR_', _THEME_MOBILE_DIR_.'css/');
|
||||
define('_THEME_TOUCHPAD_JS_DIR_', _THEME_MOBILE_DIR_.'js/');
|
||||
|
||||
/* Image URLs */
|
||||
define('_PS_IMG_', __PS_BASE_URI__.'img/');
|
||||
define('_PS_ADMIN_IMG_', _PS_IMG_.'admin/');
|
||||
|
||||
@@ -160,6 +160,12 @@ class AdminThemesControllerCore extends AdminController
|
||||
'type' => 'text',
|
||||
'size' => 20
|
||||
),
|
||||
'PS_ALLOW_MOBILE_DEVICE' => array(
|
||||
'title' => $this->l('Enable mobile theme'),
|
||||
'desc' => $this->l('Allows visitors browsing on a mobile device, to have a light version of website'),
|
||||
'cast' => 'intval',
|
||||
'type' => 'bool',
|
||||
)
|
||||
),
|
||||
'submit' => array('title' => $this->l('Save'), 'class' => 'button')
|
||||
),
|
||||
|
||||
@@ -191,7 +191,7 @@ class OrderOpcControllerCore extends ParentOrderController
|
||||
$this->context->cart->id_address_invoice = Tools::isSubmit('same') ? $this->context->cart->id_address_delivery : (int)(Tools::getValue('id_address_invoice'));
|
||||
if (!$this->context->cart->update())
|
||||
$this->errors[] = Tools::displayError('An error occurred while updating your cart.');
|
||||
|
||||
|
||||
// Address has changed, so we check if the cart rules still apply
|
||||
CartRule::autoRemoveFromCart($this->context);
|
||||
CartRule::autoAddToCart($this->context);
|
||||
@@ -271,11 +271,16 @@ class OrderOpcControllerCore extends ParentOrderController
|
||||
{
|
||||
parent::setMedia();
|
||||
|
||||
// Adding CSS style sheet
|
||||
$this->addCSS(_THEME_CSS_DIR_.'order-opc.css');
|
||||
// Adding JS files
|
||||
$this->addJS(_THEME_JS_DIR_.'order-opc.js');
|
||||
$this->addJqueryPlugin('scrollTo');
|
||||
if ($this->context->getMobileDevice() == false)
|
||||
{
|
||||
// Adding CSS style sheet
|
||||
$this->addCSS(_THEME_CSS_DIR_.'order-opc.css');
|
||||
// Adding JS files
|
||||
$this->addJS(_THEME_JS_DIR_.'order-opc.js');
|
||||
$this->addJqueryPlugin('scrollTo');
|
||||
}
|
||||
else
|
||||
$this->addJS(_THEME_MOBILE_JS_DIR_.'opc.js');
|
||||
$this->addJS(_THEME_JS_DIR_.'tools/statesManagement.js');
|
||||
}
|
||||
|
||||
|
||||
@@ -41,13 +41,25 @@ class ProductControllerCore extends FrontController
|
||||
{
|
||||
parent::setMedia();
|
||||
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product.css');
|
||||
$this->addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'screen');
|
||||
$this->addJqueryPlugin(array('fancybox', 'idTabs', 'scrollTo', 'serialScroll'));
|
||||
$this->addJS(array(
|
||||
_THEME_JS_DIR_.'tools.js',
|
||||
_THEME_JS_DIR_.'product.js'
|
||||
));
|
||||
if ($this->context->getMobileDevice() == false)
|
||||
{
|
||||
$this->addCSS(_THEME_CSS_DIR_.'product.css');
|
||||
$this->addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css', 'screen');
|
||||
$this->addJqueryPlugin(array('fancybox', 'idTabs', 'scrollTo', 'serialScroll'));
|
||||
$this->addJS(array(
|
||||
_THEME_JS_DIR_.'tools.js',
|
||||
_THEME_JS_DIR_.'product.js'
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->addJqueryPlugin(array('scrollTo', 'serialScroll'));
|
||||
$this->addJS(array(
|
||||
_THEME_JS_DIR_.'tools.js',
|
||||
_THEME_MOBILE_JS_DIR_.'product.js',
|
||||
_THEME_MOBILE_JS_DIR_.'jquery.touch-gallery.js'
|
||||
));
|
||||
}
|
||||
|
||||
if (Configuration::get('PS_DISPLAY_JQZOOM') == 1)
|
||||
$this->addJqueryPlugin('jqzoom');
|
||||
|
||||
@@ -23,6 +23,17 @@
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<!-- block seach mobile -->
|
||||
{if isset($hook_mobile)}
|
||||
<div class="input_search" data-role="fieldcontain">
|
||||
<form method="get" action="{$link->getPageLink('search')}" id="searchbox">
|
||||
<input type="hidden" name="controller" value="search" />
|
||||
<input type="hidden" name="orderby" value="position" />
|
||||
<input type="hidden" name="orderway" value="desc" />
|
||||
<input class="search_query" type="search" id="search_query_top" name="search_query" placeholder="{l s='Search'}" value="{if isset($smarty.get.search_query)}{$smarty.get.search_query|htmlentities:$ENT_QUOTES:'utf-8'|stripslashes}{/if}" />
|
||||
</form>
|
||||
</div>
|
||||
{else}
|
||||
<!-- Block search module TOP -->
|
||||
<div id="search_block_top">
|
||||
|
||||
@@ -38,4 +49,5 @@
|
||||
</form>
|
||||
</div>
|
||||
{include file="$self/blocksearch-instantsearch.tpl"}
|
||||
{/if}
|
||||
<!-- /Block search module TOP -->
|
||||
|
||||
@@ -46,11 +46,26 @@ class BlockSearch extends Module
|
||||
|
||||
public function install()
|
||||
{
|
||||
if (!parent::install() || !$this->registerHook('top') || !$this->registerHook('header'))
|
||||
if (!parent::install() || !$this->registerHook('top') || !$this->registerHook('header') || !$this->registerHook('displayMobileTopSiteMap'))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public function hookdisplayMobileTopSiteMap($params)
|
||||
{
|
||||
$this->smarty->assign(array('hook_mobile' => true, 'instantsearch' => false));
|
||||
return $this->hookTop($params);
|
||||
}
|
||||
|
||||
/*
|
||||
public function hookDisplayMobileHeader($params)
|
||||
{
|
||||
if (Configuration::get('PS_SEARCH_AJAX'))
|
||||
$this->context->controller->addJqueryPlugin('autocomplete');
|
||||
$this->context->controller->addCSS(_THEME_CSS_DIR_.'product_list.css');
|
||||
}
|
||||
*/
|
||||
|
||||
public function hookHeader($params)
|
||||
{
|
||||
if (Configuration::get('PS_SEARCH_AJAX'))
|
||||
|
||||
@@ -27,8 +27,7 @@
|
||||
<!-- MODULE WishList -->
|
||||
<li class="lnk_wishlist">
|
||||
<a href="{$wishlist_link}" title="{l s='My wishlists' mod='blockwishlist'}">
|
||||
<img src="{$module_template_dir}img/gift.gif" alt="{l s='wishlist' mod='blockwishlist'}" class="icon" />
|
||||
{l s='My wishlists' mod='blockwishlist'}
|
||||
<img {if isset($mobile_hook)} src="{$module_template_dir}img/gift.png" class="ui-li-icon ui-li-thumb" {else} src="{$module_template_dir}img/gift.gif" class="icon"{/if} alt="{l s='wishlist' mod='blockwishlist'}" /> {l s='My wishlists' mod='blockwishlist'}
|
||||
</a>
|
||||
</li>
|
||||
<!-- END : MODULE WishList -->
|
||||
@@ -24,9 +24,9 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<li class="favorite products">
|
||||
<li class="favoriteproducts">
|
||||
<a href="{$link->getModuleLink('favoriteproducts', 'account')|escape:'htmlall':'UTF-8'}" title="{l s='My favorite products' mod='favoriteproducts'}">
|
||||
{if !$in_footer}<img src="{$module_template_dir}img/favorites.png" class="icon" />{/if}
|
||||
{if !$in_footer}<img {if isset($mobile_hook)}src="{$module_template_dir}img/favorites.png" class="ui-li-icon ui-li-thumb"{else}src="{$module_template_dir}img/favorites.png" class="icon"{/if} alt="{l s='My favorite products' mod='favoriteproducts'}"/>{/if}
|
||||
{l s='My favorite products' mod='favoriteproducts'}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
49
themes/default/mobile/404.tpl
Normal file
@@ -0,0 +1,49 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Page not available'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{* Submit à tester sur téléphone *}
|
||||
{* ===================================== *}
|
||||
<div data-role="content" id="content">
|
||||
<div id="not_found">
|
||||
<p>{l s='We\'re sorry, but the Web address you entered is no longer available'}</p>
|
||||
<p>{l s='To find a product, please type its name in the field below'}</p>
|
||||
<div data-role="fieldcontain" class="input_search_404">
|
||||
<form action="{$link->getPageLink('search.php')}" method="post" class="std">
|
||||
<input type="search" name="search_query" id="search_query" value="rechercher" />
|
||||
</form>
|
||||
</div>
|
||||
<p>
|
||||
<a href="{$base_dir}" class="lnk_my-account_home" title="{l s='Home'}">
|
||||
<img class="" alt="{l s='Home'}" src="{$img_mobile_dir}icon/home.png">
|
||||
{l s='Home'}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
{* ===================================== *}
|
||||
</div><!-- /content -->
|
||||
235
themes/default/mobile/address.tpl
Normal file
@@ -0,0 +1,235 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6753 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Your address'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{include file="./errors.tpl"}
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
idSelectedCountry = {if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}{if isset($address->id_state)}{$address->id_state|intval}{else}false{/if}{/if};
|
||||
countries = new Array();
|
||||
countriesNeedIDNumber = new Array();
|
||||
countriesNeedZipCode = new Array();
|
||||
{foreach from=$countries item='country'}
|
||||
{if isset($country.states) && $country.contains_states}
|
||||
countries[{$country.id_country|intval}] = new Array();
|
||||
{foreach from=$country.states item='state' name='states'}
|
||||
countries[{$country.id_country|intval}].push({ldelim}'id' : '{$state.id_state}', 'name' : '{$state.name|escape:'htmlall':'UTF-8'}'{rdelim});
|
||||
{/foreach}
|
||||
{/if}
|
||||
{if $country.need_identification_number}
|
||||
countriesNeedIDNumber.push({$country.id_country|intval});
|
||||
{/if}
|
||||
{if isset($country.need_zip_code)}
|
||||
countriesNeedZipCode[{$country.id_country|intval}] = {$country.need_zip_code};
|
||||
{/if}
|
||||
{/foreach}
|
||||
$(function(){ldelim}
|
||||
$('.id_state option[value={if isset($smarty.post.id_state)}{$smarty.post.id_state}{else}{if isset($address->id_state)}{$address->id_state|escape:'htmlall':'UTF-8'}{/if}{/if}]').attr('selected', 'selected');
|
||||
{rdelim});
|
||||
{if $vat_management}
|
||||
{literal}
|
||||
$(document).ready(function() {
|
||||
$('#company').blur(function(){
|
||||
vat_number();
|
||||
});
|
||||
vat_number();
|
||||
function vat_number()
|
||||
{
|
||||
if ($('#company').val() != '')
|
||||
$('#vat_number').show();
|
||||
else
|
||||
$('#vat_number').hide();
|
||||
}
|
||||
});
|
||||
{/literal}
|
||||
{/if}
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<div>
|
||||
<p>
|
||||
{if isset($id_address) && (isset($smarty.post.alias) || isset($address->alias))}
|
||||
{l s='Modify address'}
|
||||
{if isset($smarty.post.alias)}
|
||||
"{$smarty.post.alias}"
|
||||
{else}
|
||||
{if isset($address->alias)}"{$address->alias|escape:'htmlall':'UTF-8'}"{/if}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='To add a new address, please fill out the form below.'}
|
||||
{/if}
|
||||
</p>
|
||||
|
||||
<form action="{$link->getPageLink('address', true)}" method="post" id="add_adress">
|
||||
<legend><h3>{if isset($id_address) && $id_address != 0}{l s='Your address'}{else}{l s='New address'}{/if}</h3></legend>
|
||||
<div class="required text dni">
|
||||
<label for="dni">{l s='Identification number'}</label>
|
||||
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{else}{if isset($address->dni)}{$address->dni|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
<p>{l s='DNI / NIF / NIE'} <sup>*</sup></p>
|
||||
</div>
|
||||
{if $vat_display == 2}
|
||||
<div id="vat_area">
|
||||
{elseif $vat_display == 1}
|
||||
<div id="vat_area" style="display: none;">
|
||||
{else}
|
||||
<div style="display: none;">
|
||||
{/if}
|
||||
<div id="vat_number">
|
||||
<p class="text">
|
||||
<label for="vat_number">{l s='VAT number'}</label>
|
||||
<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{assign var="stateExist" value="false"}
|
||||
{foreach from=$ordered_adr_fields item=field_name}
|
||||
{if $field_name eq 'company'}
|
||||
<div class="text">
|
||||
<input type="hidden" name="token" value="{$token}" />
|
||||
<label for="company">{l s='Company'}</label>
|
||||
<input type="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{else}{if isset($address->company)}{$address->company|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'firstname'}
|
||||
<div class="required text">
|
||||
<label for="firstname">{l s='First name'} <sup>*</sup></label>
|
||||
<input type="text" name="firstname" id="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{else}{if isset($address->firstname)}{$address->firstname|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'lastname'}
|
||||
<div class="required text">
|
||||
<label for="lastname">{l s='Last name'} <sup>*</sup></label>
|
||||
<input type="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{else}{if isset($address->lastname)}{$address->lastname|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'address1'}
|
||||
<div class="required text">
|
||||
<label for="address1">{l s='Address'} <sup>*</sup></label>
|
||||
<input type="text" id="address1" name="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{else}{if isset($address->address1)}{$address->address1|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'address2'}
|
||||
<div class="required text">
|
||||
<label for="address2">{l s='Address (Line 2)'}</label>
|
||||
<input type="text" id="address2" name="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{else}{if isset($address->address2)}{$address->address2|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'postcode'}
|
||||
<div class="required postcode text">
|
||||
<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>
|
||||
<input type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'htmlall':'UTF-8'}{/if}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'city'}
|
||||
<div class="required text">
|
||||
<label for="city">{l s='City'} <sup>*</sup></label>
|
||||
<input type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'htmlall':'UTF-8'}{/if}{/if}" maxlength="64" />
|
||||
</div>
|
||||
{/if}
|
||||
{if $field_name eq 'Country:name' || $field_name eq 'country'}
|
||||
<div class="required select">
|
||||
<label for="id_country">{l s='Country'} <sup>*</sup></label>
|
||||
<select id="id_country" name="id_country">{$countries_list}</select>
|
||||
</div>
|
||||
{if $vatnumber_ajax_call}
|
||||
<script type="text/javascript">
|
||||
var ajaxurl = '{$ajaxurl}';
|
||||
{literal}
|
||||
$(document).ready(function(){
|
||||
$('#id_country').change(function() {
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: ajaxurl+"vatnumber/ajax.php?id_country="+$('#id_country').val(),
|
||||
success: function(isApplicable){
|
||||
if(isApplicable == "1")
|
||||
{
|
||||
$('#vat_area').show();
|
||||
$('#vat_number').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#vat_area').hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
{/literal}
|
||||
</script>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $field_name eq 'State:name'}
|
||||
{assign var="stateExist" value="true"}
|
||||
<div class="required id_state select">
|
||||
<label for="id_state">{l s='State'} <sup>*</sup></label>
|
||||
<select name="id_state" id="id_state">
|
||||
<option value="">-</option>
|
||||
</select>
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $stateExist eq "false"}
|
||||
<div class="required id_state select">
|
||||
<label for="id_state">{l s='State'} <sup>*</sup></label>
|
||||
<select name="id_state" id="id_state">
|
||||
<option value="">-</option>
|
||||
</select>
|
||||
</div>
|
||||
{/if}
|
||||
<div class="textarea">
|
||||
<label for="other">{l s='Additional information'}</label>
|
||||
<textarea id="other" name="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{else}{if isset($address->other)}{$address->other|escape:'htmlall':'UTF-8'}{/if}{/if}</textarea>
|
||||
</div>
|
||||
|
||||
<p>{l s='You must register at least one phone number'} <sup class="required">*</sup></p>
|
||||
<div class="text">
|
||||
<label for="phone">{l s='Home phone'}</label>
|
||||
<input type="text" id="phone" name="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{else}{if isset($address->phone)}{$address->phone|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
<div class="text">
|
||||
<label for="phone_mobile">{l s='Mobile phone'}</label>
|
||||
<input type="text" id="phone_mobile" name="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{else}{if isset($address->phone_mobile)}{$address->phone_mobile|escape:'htmlall':'UTF-8'}{/if}{/if}" />
|
||||
</div>
|
||||
<p class="required text" id="adress_alias">
|
||||
<label for="alias">{l s='Assign an address title for future reference'} <sup>*</sup></label>
|
||||
<input type="text" id="alias" name="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else if isset($address->alias)}{$address->alias|escape:'htmlall':'UTF-8'}{else if isset($select_address)}{l s='My address'}{/if}" />
|
||||
</p>
|
||||
<div>
|
||||
{if isset($id_address)}<input type="hidden" name="id_address" value="{$id_address|intval}" />{/if}
|
||||
{if isset($back)}<input type="hidden" name="back" value="{$back}" />{/if}
|
||||
{if isset($mod)}<input type="hidden" name="mod" value="{$mod}" />{/if}
|
||||
{if isset($select_address)}<input type="hidden" name="select_address" value="{$select_address|intval}" />{/if}
|
||||
<button type="submit" data-theme="a" name="submitAddress" value="submit-value" id="submitAddress" >{l s='Save'}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- /content -->
|
||||
63
themes/default/mobile/addresses.tpl
Normal file
@@ -0,0 +1,63 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6664 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='My addresses'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a>
|
||||
<p>{l s='Please configure the desired billing and delivery addresses to be preselected when placing an order. You may also add additional addresses, useful for sending gifts or receiving your order at the office.'}</p>
|
||||
<div>
|
||||
{if isset($multipleAddresses) && $multipleAddresses}
|
||||
<h3>{l s='Your addresses are listed below.'}</h3>
|
||||
<p>{l s='Be sure to update them if they have changed.'}</p>
|
||||
{assign var="adrs_style" value=$addresses_style}
|
||||
<form action="opc.html" method="post">
|
||||
<ul data-role="listview" data-theme="g">
|
||||
{foreach from=$multipleAddresses item=address name=myLoop}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('address', true, null, "id_address={$address.object.id|intval}")}" title="{l s='Update'}">
|
||||
<h4>{$address.object.alias}</h4>
|
||||
{foreach from=$address.ordered name=adr_loop item=pattern}
|
||||
{assign var=addressKey value=" "|explode:$pattern}
|
||||
{foreach from=$addressKey item=key name="word_loop"}
|
||||
{$address.formated[$key|replace:',':'']|escape:'htmlall':'UTF-8'}
|
||||
{/foreach}
|
||||
<br />
|
||||
{/foreach}
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</form>
|
||||
{else}
|
||||
<p class="warning">{l s='No addresses available.'}</p>
|
||||
{/if}
|
||||
<a href="{$link->getPageLink('address', true)}" data-role="button" data-theme="a">{l s='Add new address'}</a>
|
||||
</div>
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- /content -->
|
||||
33
themes/default/mobile/authentication-choice.tpl
Normal file
@@ -0,0 +1,33 @@
|
||||
<div data-role="content" id="content">
|
||||
|
||||
<form action="{$link->getPageLink('authentication', true)}" method="post" id="create-account_form" class="std login_form">
|
||||
<h2>{l s='Create your account'}</h2>
|
||||
<div class="form_content clearfix">
|
||||
<h4>{l s='Enter your e-mail address to create an account'}.</h4>
|
||||
<fieldset>
|
||||
<span><input type="email" id="email_create" placeholder="{l s='E-mail address'}" name="email_create" value="{if isset($smarty.post.email_create)}{$smarty.post.email_create|escape:'htmlall':'UTF-8'|stripslashes}{/if}" class="account_input" /></span>
|
||||
</fieldset>
|
||||
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if}
|
||||
<button type="submit" id="SubmitCreate" name="SubmitCreate" class="ui-btn-hidden submit_button" aria-disabled="false" data-theme="a">{l s='Create your account'}</button>
|
||||
<input type="hidden" class="hidden" name="SubmitCreate" value="{l s='Create your account'}" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<hr width="99%" align="center" size="2" class=""/>
|
||||
|
||||
<form action="{$link->getPageLink('authentication', true)}" method="post" class="login_form">
|
||||
<h2>{l s='Already registered ?'}</h2>
|
||||
<fieldset>
|
||||
<input type="email" id="email" name="email" placeholder="{l s='E-mail address'}" value="{if isset($smarty.post.email)}{$smarty.post.email|escape:'htmlall':'UTF-8'|stripslashes}{/if}" class="account_input" />
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<input type="password" id="passwd" name="passwd" placeholder="{l s='Password'}" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|escape:'htmlall':'UTF-8'|stripslashes}{/if}" class="account_input" />
|
||||
<p class="forget_pwd"><a href="{$link->getPageLink('password')}">{l s='Forgot your password?'}</a></p>
|
||||
</fieldset>
|
||||
<button type="submit" class="ui-btn-hidden submit_button" id="SubmitLogin" name="SubmitLogin" aria-disabled="false" data-theme="a">{l s='Log in'}</button>
|
||||
</form>
|
||||
</div><!-- /content -->
|
||||
|
||||
{* Missing the guest checkout behaviour *}
|
||||
{* ===================================== *}
|
||||
212
themes/default/mobile/authentication-create-account.tpl
Normal file
@@ -0,0 +1,212 @@
|
||||
<form action="{$link->getPageLink('authentication', true)}" method="post" id="account-creation_form" class="std">
|
||||
{$HOOK_CREATE_ACCOUNT_TOP}
|
||||
<fieldset class="account_creation">
|
||||
<h3>{l s='Your personal information'}</h3>
|
||||
<p class="radio required">
|
||||
<span>{l s='Title'}</span>
|
||||
{foreach from=$genders key=k item=gender}
|
||||
<input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} />
|
||||
<label for="id_gender{$gender->id}" class="top">{$gender->name}</label>
|
||||
{/foreach}
|
||||
</p>
|
||||
<p class="required text">
|
||||
<label for="customer_firstname">{l s='First name'} <sup>*</sup></label>
|
||||
<input onkeyup="$('#firstname').val(this.value);" type="text" class="text" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname}{/if}" />
|
||||
</p>
|
||||
<p class="required text">
|
||||
<label for="customer_lastname">{l s='Last name'} <sup>*</sup></label>
|
||||
<input onkeyup="$('#lastname').val(this.value);" type="text" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" />
|
||||
</p>
|
||||
<p class="required text">
|
||||
<label for="email">{l s='E-mail'} <sup>*</sup></label>
|
||||
<input type="text" class="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}" />
|
||||
</p>
|
||||
<p class="required password">
|
||||
<label for="passwd">{l s='Password'} <sup>*</sup></label>
|
||||
<input type="password" class="text" name="passwd" id="passwd" />
|
||||
<span class="form_info">{l s='(5 characters min.)'}</span>
|
||||
</p>
|
||||
<p class="select">
|
||||
<span>{l s='Date of Birth'}</span>
|
||||
<select id="days" name="days">
|
||||
<option value="">-</option>
|
||||
{foreach from=$days item=day}
|
||||
<option value="{$day|escape:'htmlall':'UTF-8'}" {if ($sl_day == $day)} selected="selected"{/if}>{$day|escape:'htmlall':'UTF-8'} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
{*
|
||||
{l s='January'}
|
||||
{l s='February'}
|
||||
{l s='March'}
|
||||
{l s='April'}
|
||||
{l s='May'}
|
||||
{l s='June'}
|
||||
{l s='July'}
|
||||
{l s='August'}
|
||||
{l s='September'}
|
||||
{l s='October'}
|
||||
{l s='November'}
|
||||
{l s='December'}
|
||||
*}
|
||||
<select id="months" name="months">
|
||||
<option value="">-</option>
|
||||
{foreach from=$months key=k item=month}
|
||||
<option value="{$k|escape:'htmlall':'UTF-8'}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
<select id="years" name="years">
|
||||
<option value="">-</option>
|
||||
{foreach from=$years item=year}
|
||||
<option value="{$year|escape:'htmlall':'UTF-8'}" {if ($sl_year == $year)} selected="selected"{/if}>{$year|escape:'htmlall':'UTF-8'} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</p>
|
||||
{if $newsletter}
|
||||
<p class="checkbox" >
|
||||
<input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked="checked"{/if} />
|
||||
<label for="newsletter">{l s='Sign up for our newsletter'}</label>
|
||||
</p>
|
||||
<p class="checkbox" >
|
||||
<input type="checkbox"name="optin" id="optin" value="1" {if isset($smarty.post.optin) AND $smarty.post.optin == 1} checked="checked"{/if} />
|
||||
<label for="optin">{l s='Receive special offers from our partners'}</label>
|
||||
</p>
|
||||
{/if}
|
||||
</fieldset>
|
||||
{if $b2b_enable}
|
||||
<fieldset class="account_creation">
|
||||
<h3>{l s='Your company informations'}</h3>
|
||||
<p class="text">
|
||||
<label for="">{l s='Company'}</label>
|
||||
<input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" />
|
||||
</p>
|
||||
<p class="text">
|
||||
<label for="siret">{l s='SIRET'}</label>
|
||||
<input type="text" class="text" id="siret" name="siret" value="{if isset($smarty.post.siret)}{$smarty.post.siret}{/if}" />
|
||||
</p>
|
||||
<p class="text">
|
||||
<label for="ape">{l s='APE'}</label>
|
||||
<input type="text" class="text" id="ape" name="ape" value="{if isset($smarty.post.ape)}{$smarty.post.ape}{/if}" />
|
||||
</p>
|
||||
<p class="text">
|
||||
<label for="website">{l s='Website'}</label>
|
||||
<input type="text" class="text" id="website" name="website" value="{if isset($smarty.post.website)}{$smarty.post.website}{/if}" />
|
||||
</p>
|
||||
</fieldset>
|
||||
{/if}
|
||||
{if isset($PS_REGISTRATION_PROCESS_TYPE) && $PS_REGISTRATION_PROCESS_TYPE}
|
||||
<fieldset class="account_creation">
|
||||
<h3>{l s='Your address'}</h3>
|
||||
{foreach from=$dlv_all_fields item=field_name}
|
||||
{if $field_name eq "company"}
|
||||
<p class="text">
|
||||
<label for="company">{l s='Company'}</label>
|
||||
<input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" />
|
||||
</p>
|
||||
{elseif $field_name eq "vat_number"}
|
||||
<div id="vat_number" style="display:none;">
|
||||
<p class="text">
|
||||
<label for="vat_number">{l s='VAT number'}</label>
|
||||
<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" />
|
||||
</p>
|
||||
</div>
|
||||
{elseif $field_name eq "firstname"}
|
||||
<p class="required text">
|
||||
<label for="firstname">{l s='First name'} <sup>*</sup></label>
|
||||
<input type="text" class="text" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" />
|
||||
</p>
|
||||
{elseif $field_name eq "lastname"}
|
||||
<p class="required text">
|
||||
<label for="lastname">{l s='Last name'} <sup>*</sup></label>
|
||||
<input type="text" class="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" />
|
||||
</p>
|
||||
{elseif $field_name eq "address1"}
|
||||
<p class="required text">
|
||||
<label for="address1">{l s='Address'} <sup>*</sup></label>
|
||||
<input type="text" class="text" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}" />
|
||||
<span class="inline-infos">{l s='Street address, P.O. box, compagny name, c/o'}</span>
|
||||
</p>
|
||||
{elseif $field_name eq "address2"}
|
||||
<p class="text">
|
||||
<label for="address2">{l s='Address (Line 2)'}</label>
|
||||
<input type="text" class="text" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}" />
|
||||
<span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc.'}</span>
|
||||
</p>
|
||||
{elseif $field_name eq "postcode"}
|
||||
<p class="required postcode text">
|
||||
<label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label>
|
||||
<input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
|
||||
</p>
|
||||
{elseif $field_name eq "city"}
|
||||
<p class="required text">
|
||||
<label for="city">{l s='City'} <sup>*</sup></label>
|
||||
<input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" />
|
||||
</p>
|
||||
<!--
|
||||
if customer hasn't update his layout address, country has to be verified
|
||||
but it's deprecated
|
||||
-->
|
||||
{elseif $field_name eq "Country:name" || $field_name eq "country"}
|
||||
<p class="required select">
|
||||
<label for="id_country">{l s='Country'} <sup>*</sup></label>
|
||||
<select name="id_country" id="id_country">
|
||||
<option value="">-</option>
|
||||
{foreach from=$countries item=v}
|
||||
<option value="{$v.id_country}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'htmlall':'UTF-8'}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</p>
|
||||
{elseif $field_name eq "State:name" || $field_name eq 'state'}
|
||||
{assign var='stateExist' value=true}
|
||||
<p class="required id_state select">
|
||||
<label for="id_state">{l s='State'} <sup>*</sup></label>
|
||||
<select name="id_state" id="id_state">
|
||||
<option value="">-</option>
|
||||
</select>
|
||||
</p>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $stateExist eq false}
|
||||
<p class="required id_state select">
|
||||
<label for="id_state">{l s='State'} <sup>*</sup></label>
|
||||
<select name="id_state" id="id_state">
|
||||
<option value="">-</option>
|
||||
</select>
|
||||
</p>
|
||||
{/if}
|
||||
<p class="textarea">
|
||||
<label for="other">{l s='Additional information'}</label>
|
||||
<textarea name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{/if}</textarea>
|
||||
</p>
|
||||
<p class="inline-infos">{l s='You must register at least one phone number'}</p>
|
||||
<p class="text">
|
||||
<label for="phone">{l s='Home phone'}</label>
|
||||
<input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" />
|
||||
</p>
|
||||
<p class="text">
|
||||
<label for="phone_mobile">{l s='Mobile phone'} <sup>*</sup></label>
|
||||
<input type="text" class="text" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" />
|
||||
</p>
|
||||
<p class="required text" id="address_alias">
|
||||
<label for="alias">{l s='Assign an address title for future reference'} <sup>*</sup></label>
|
||||
<input type="text" class="text" name="alias" id="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else}{l s='My address'}{/if}" />
|
||||
</p>
|
||||
</fieldset>
|
||||
<fieldset class="account_creation dni">
|
||||
<h3>{l s='Tax identification'}</h3>
|
||||
<p class="required text">
|
||||
<label for="dni">{l s='Identification number'}</label>
|
||||
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" />
|
||||
<span class="form_info">{l s='DNI / NIF / NIE'}</span>
|
||||
</p>
|
||||
</fieldset>
|
||||
{/if}
|
||||
{$HOOK_CREATE_ACCOUNT_FORM}
|
||||
<p class="cart_navigation required submit">
|
||||
<input type="hidden" name="email_create" value="1" />
|
||||
<input type="hidden" name="is_new_customer" value="1" />
|
||||
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if}
|
||||
<input type="submit" name="submitAccount" id="submitAccount" value="{l s='Register'}" class="exclusive" />
|
||||
<span><sup>*</sup>{l s='Required field'}</span>
|
||||
</p>
|
||||
|
||||
</form>
|
||||
81
themes/default/mobile/authentication.tpl
Normal file
@@ -0,0 +1,81 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{if !isset($email_create)}{l s='Log in'}{else}{l s='Create your account'}{/if}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
{include file="./errors.tpl"}
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
idSelectedCountry = {if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}false{/if};
|
||||
countries = new Array();
|
||||
countriesNeedIDNumber = new Array();
|
||||
countriesNeedZipCode = new Array();
|
||||
{if isset($countries)}
|
||||
{foreach from=$countries item='country'}
|
||||
{if isset($country.states) && $country.contains_states}
|
||||
countries[{$country.id_country|intval}] = new Array();
|
||||
{foreach from=$country.states item='state' name='states'}
|
||||
countries[{$country.id_country|intval}].push({ldelim}'id' : '{$state.id_state}', 'name' : '{$state.name|escape:'htmlall':'UTF-8'}'{rdelim});
|
||||
{/foreach}
|
||||
{/if}
|
||||
{if $country.need_identification_number}
|
||||
countriesNeedIDNumber.push({$country.id_country|intval});
|
||||
{/if}
|
||||
{if isset($country.need_zip_code)}
|
||||
countriesNeedZipCode[{$country.id_country|intval}] = {$country.need_zip_code};
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
$(function(){ldelim}
|
||||
$('.id_state option[value={if isset($smarty.post.id_state)}{$smarty.post.id_state}{else}{if isset($address)}{$address->id_state|escape:'htmlall':'UTF-8'}{/if}{/if}]').attr('selected', 'selected');
|
||||
{rdelim});
|
||||
//]]>
|
||||
{if $vat_management}
|
||||
{literal}
|
||||
$(document).ready(function() {
|
||||
$('#company').blur(function(){
|
||||
vat_number();
|
||||
});
|
||||
vat_number();
|
||||
function vat_number()
|
||||
{
|
||||
if ($('#company').val() != '')
|
||||
$('#vat_number').show();
|
||||
else
|
||||
$('#vat_number').hide();
|
||||
}
|
||||
});
|
||||
{/literal}
|
||||
{/if}
|
||||
</script>
|
||||
|
||||
{assign var='stateExist' value=false}
|
||||
{if !isset($email_create)}
|
||||
{include file="./authentication-choice.tpl"}
|
||||
{else}
|
||||
{include file="./authentication-create-account.tpl"}
|
||||
{/if}
|
||||
60
themes/default/mobile/best-sales.tpl
Normal file
@@ -0,0 +1,60 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
|
||||
{if !isset($errors) OR !sizeof($errors)}
|
||||
{capture assign='page_title'}{l s='Top sellers'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
{if !empty($manufacturer->description) || !empty($manufacturer->short_description)}
|
||||
<div class="category_desc clearfix">
|
||||
{if !empty($manufacturer->short_description)}
|
||||
<p>{$manufacturer->short_description}</p>
|
||||
<p class="hide_desc">{$manufacturer->description}</p>
|
||||
<a href="#" data-theme="a" data-role="button" data-mini="true" data-inline="true" data-icon="arrow-d" class="lnk_more" onclick="$(this).prev().slideDown('slow'); $(this).hide(); return false;">{l s='More'}</a>
|
||||
{else}
|
||||
<p>{$manufacturer->description}</p>
|
||||
{/if}
|
||||
</div><!-- .category_desc -->
|
||||
{/if}
|
||||
|
||||
{if $products}
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2"/>
|
||||
{include file="./pagination.tpl"}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
{include file="./pagination.tpl"}
|
||||
|
||||
{else}
|
||||
<p class="warning">{l s='No top sellers.'}</p>
|
||||
{/if}
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
{/if}
|
||||
50
themes/default/mobile/category-cms-tree-branch.tpl
Normal file
@@ -0,0 +1,50 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
|
||||
<li {if isset($node.children) && $node.children|@count > 0 || isset($node.cms) && $node.cms|@count > 0}data-icon="more"{/if}>
|
||||
<a href="{$node.link|escape:'htmlall':'UTF-8'}" title="{$node.name|escape:'htmlall':'UTF-8'}">{$node.name|escape:'htmlall':'UTF-8'}</a>
|
||||
{if isset($node.children) && $node.children|@count > 0}
|
||||
<ul data-inset="true">
|
||||
{foreach from=$node.children item=child name=categoryCmsTreeBranch}
|
||||
{if isset($child.children) && $child.children|@count > 0 || isset($child.cms) && $child.cms|@count > 0}
|
||||
{include file="./category-cms-tree-branch.tpl" node=$child}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if isset($node.cms) && $node.cms|@count > 0}
|
||||
{foreach from=$node.cms item=cms name=cmsTreeBranch}
|
||||
<li><a href="{$cms.link|escape:'htmlall':'UTF-8'}" title="{$cms.meta_title|escape:'htmlall':'UTF-8'}">{$cms.meta_title|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</ul>
|
||||
{elseif isset($node.cms) && $node.cms|@count > 0}
|
||||
<ul data-inset="true">
|
||||
{foreach from=$node.cms item=cms name=cmsTreeBranch}
|
||||
<li><a href="{$cms.link|escape:'htmlall':'UTF-8'}" title="{$cms.meta_title|escape:'htmlall':'UTF-8'}">{$cms.meta_title|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</li>
|
||||
66
themes/default/mobile/category-product-list.tpl
Normal file
@@ -0,0 +1,66 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 7457 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{if isset($products)}
|
||||
<ul data-role="listview" id="category-list" class="ui-listview ui-grid-a">
|
||||
{foreach from=$products item=product name=products}
|
||||
<li class="ui-block-{if $smarty.foreach.products.index % 2}b{else}a{/if} product-list-row">
|
||||
<a href="{$product.link|escape:'htmlall':'UTF-8'}">
|
||||
<div class="product_img_wrapper"><img class="ui-li-thumb" src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" /></div>
|
||||
<h3 class="ui-li-heading">{$product.name|escape:'htmlall':'UTF-8'}</h3>
|
||||
{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
|
||||
<p class="ui-li-price">
|
||||
{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
|
||||
{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
|
||||
{/if}
|
||||
</p>
|
||||
{assign var='info3_str' value=' '}
|
||||
{assign var='info3_class' value='on_sale'}
|
||||
{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
|
||||
{capture assign='info3_str'}{l s='On sale!'}{/capture}
|
||||
{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}
|
||||
{capture assign='info3_str'}{l s='Reduced price!'}{/capture}
|
||||
{assign var='info3_class' value='discount'}
|
||||
{/if}
|
||||
<p class="ui-li-price-info {$info3_class}"><span>{$info3_str}</span></p>
|
||||
<p class="availability">
|
||||
{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
|
||||
{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
</p>
|
||||
|
||||
{if isset($product.online_only) && $product.online_only}
|
||||
<p class="online_only">{l s='Online only!'}</p>
|
||||
{/if}
|
||||
{/if}
|
||||
{if isset($product.new) && $product.new == 1}<p class="new">{l s='New'}</p>{/if}
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul><!-- #category-list -->
|
||||
{/if}
|
||||
72
themes/default/mobile/category-product-sort.tpl
Normal file
@@ -0,0 +1,72 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
{if isset($orderby) AND isset($orderway)}
|
||||
{if !isset($sort_already_display)}
|
||||
{assign var='sort_already_display' value='true' scope="global"}
|
||||
<!-- Sort products -->
|
||||
{if isset($smarty.get.id_category) && $smarty.get.id_category}
|
||||
{assign var='request' value=$link->getPaginationLink('category', $category, false, true)}
|
||||
{elseif isset($smarty.get.id_manufacturer) && $smarty.get.id_manufacturer}
|
||||
{assign var='request' value=$link->getPaginationLink('manufacturer', $manufacturer, false, true)}
|
||||
{elseif isset($smarty.get.id_supplier) && $smarty.get.id_supplier}
|
||||
{assign var='request' value=$link->getPaginationLink('supplier', $supplier, false, true)}
|
||||
{else}
|
||||
{assign var='request' value=$link->getPaginationLink(false, false, false, true)}
|
||||
{/if}
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('.selectPrductSort').change(function()
|
||||
{
|
||||
var requestSortProducts = '{$request}';
|
||||
var splitData = $(this).val().split(':');
|
||||
document.location.href = requestSortProducts + ((requestSortProducts.indexOf('?') < 0) ? '?' : '&') + 'orderby=' + splitData[0] + '&orderway=' + splitData[1];
|
||||
});
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
{/if}
|
||||
|
||||
<div class="{$container_class}">
|
||||
<form id="productsSortForm" action="{$request|escape:'htmlall':'UTF-8'}">
|
||||
<select class="selectPrductSort">
|
||||
<option value="{$orderbydefault|escape:'htmlall':'UTF-8'}:{$orderwaydefault|escape:'htmlall':'UTF-8'}" {if $orderby eq $orderbydefault}selected="selected"{/if}>{l s='Sort by'}</option>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
<option value="price:asc" {if $orderby eq 'price' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Price: lowest first'}</option>
|
||||
<option value="price:desc" {if $orderby eq 'price' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Price: highest first'}</option>
|
||||
{/if}
|
||||
<option value="name:asc" {if $orderby eq 'name' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Product Name: A to Z'}</option>
|
||||
<option value="name:desc" {if $orderby eq 'name' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Product Name: Z to A'}</option>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
<option value="quantity:desc" {if $orderby eq 'quantity' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='In-stock first'}</option>
|
||||
{/if}
|
||||
</select>
|
||||
</form>
|
||||
</div> <!-- .{$container_class} -->
|
||||
<!-- /Sort products -->
|
||||
{/if}
|
||||
45
themes/default/mobile/category-tree-branch.tpl
Normal file
@@ -0,0 +1,45 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<li {if $node.children|@count > 0}data-icon="more"{/if}>
|
||||
{if $node.children|@count > 0}
|
||||
{$node.name|escape:'htmlall':'UTF-8'}
|
||||
<ul data-inset="true">
|
||||
<li>
|
||||
<a href="{$node.link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">
|
||||
{l s="See products"}
|
||||
</a>
|
||||
</li>
|
||||
{foreach from=$node.children item=child name=categoryTreeBranch}
|
||||
{include file="$tpl_dir./category-tree-branch.tpl" node=$child}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{else}
|
||||
<a href="{$node.link|escape:'htmlall':'UTF-8'}" title="{$node.desc|escape:'htmlall':'UTF-8'}">
|
||||
{$node.name|escape:'htmlall':'UTF-8'}
|
||||
</a>
|
||||
{/if}
|
||||
</li>
|
||||
71
themes/default/mobile/category.tpl
Normal file
@@ -0,0 +1,71 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6844 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{if isset($category)}
|
||||
{if $category->id AND $category->active}
|
||||
{capture assign='page_title'}
|
||||
{strip}
|
||||
{$category->name|escape:'htmlall':'UTF-8'}
|
||||
{if isset($categoryNameComplement)}
|
||||
{$categoryNameComplement|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
{/strip}
|
||||
{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
<div data-role="content" id="content">
|
||||
{if $category->description}
|
||||
<div class="category_desc clearfix">
|
||||
{if !empty($category->short_description)}
|
||||
<p>{$category->short_description}</p>
|
||||
<p class="hide_desc">{$category->description}</p>
|
||||
<a href="#" data-theme="a" data-role="button" data-mini="true" data-inline="true" data-icon="arrow-d" class="lnk_more" onclick="$(this).prev().slideDown('slow'); $(this).hide(); return false;">{l s='More'}</a>
|
||||
{else}
|
||||
<p>{$category->description}</p>
|
||||
{/if}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2" class="margin_less"/>
|
||||
{/if}
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
<p class="nbr_result">{include file="$tpl_dir./category-count.tpl"}</p>
|
||||
</div>
|
||||
|
||||
{* layered ? *}
|
||||
{* ===================================== *}
|
||||
{*<p><a href="layered.html">Affiner la recherche</a></p>*}
|
||||
{* ===================================== *}
|
||||
<hr width="99%" align="center" size="2" class="margin_less"/>
|
||||
|
||||
{include file="./pagination.tpl"}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
{include file="./pagination.tpl"}
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
{elseif $category->id}
|
||||
<p class="warning">{l s='This category is currently unavailable.'}</p>
|
||||
{/if}
|
||||
</div><!-- #content -->
|
||||
{/if}
|
||||
66
themes/default/mobile/cms.tpl
Normal file
@@ -0,0 +1,66 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}
|
||||
{if isset($cms) && !isset($category)}
|
||||
{$cms->meta_title}
|
||||
{elseif isset($category)}
|
||||
{$category->name|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
<div data-role="content" id="content">
|
||||
{if isset($cms) && !isset($category)}
|
||||
<div class="rte{if $content_only} content_only{/if}">
|
||||
{$cms->content}
|
||||
</div>
|
||||
{elseif isset($category)}
|
||||
<div class="block-cms">
|
||||
{if isset($sub_category) & !empty($sub_category)}
|
||||
<h3 class="bg">{l s='List of sub categories in '}{$category->name}{l s=':'}</h3>
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{foreach from=$sub_category item=subcategory}
|
||||
<li>
|
||||
<a href="{$link->getCMSCategoryLink($subcategory.id_cms_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{if isset($cms_pages) & !empty($cms_pages)}
|
||||
<h3 class="bg">{l s='List of pages in '}{$category->name}{l s=':'}</h3>
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{foreach from=$cms_pages item=cmspages}
|
||||
<li>
|
||||
<a href="{$link->getCMSLink($cmspages.id_cms, $cmspages.link_rewrite)|escape:'htmlall':'UTF-8'}">{$cmspages.meta_title|escape:'htmlall':'UTF-8'}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
{else}
|
||||
{l s='This page does not exist.'}
|
||||
{/if}
|
||||
</div><!-- #content -->
|
||||
98
themes/default/mobile/contact-form.tpl
Normal file
@@ -0,0 +1,98 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Contact'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<p class="bold">{l s='For questions about an order or for more information about our products'}.</p>
|
||||
{include file="./errors.tpl"}
|
||||
<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">
|
||||
{if isset($customerThread.id_contact)}
|
||||
{foreach from=$contacts item=contact}
|
||||
{if $contact.id_contact == $customerThread.id_contact}
|
||||
<input type="text" id="contact_name" name="contact_name" value="{$contact.name|escape:'htmlall':'UTF-8'}" readonly="readonly" />
|
||||
<input type="hidden" name="id_contact" value="{$contact.id_contact}" />
|
||||
{/if}
|
||||
{/foreach}
|
||||
{else}
|
||||
<select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">
|
||||
<option value="0">-- {l s='Subject Heading'} --</option>
|
||||
{foreach from=$contacts item=contact}
|
||||
<option value="{$contact.id_contact|intval}" {if isset($smarty.post.id_contact) && $smarty.post.id_contact == $contact.id_contact}selected="selected"{/if}>{$contact.name|escape:'htmlall':'UTF-8'}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</p>
|
||||
<p id="desc_contact0" class="desc_contact"> </p>
|
||||
{foreach from=$contacts item=contact}
|
||||
<p id="desc_contact{$contact.id_contact|intval}" class="desc_contact" style="display:none;">
|
||||
<label> </label>{$contact.description|escape:'htmlall':'UTF-8'}
|
||||
</p>
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
<fieldset>
|
||||
{if isset($customerThread.email)}
|
||||
<input class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset" type="email" id="email" name="from" value="{$customerThread.email}" placeholder="{l s='E-mail address'}" readonly="readonly" />
|
||||
{else}
|
||||
<input class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset" type="email" id="email" name="from" value="{$email}" placeholder="{l s='E-mail address'}"/>
|
||||
{/if}
|
||||
</fieldset>
|
||||
|
||||
{if !$PS_CATALOG_MODE}
|
||||
{if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
|
||||
<fieldset>
|
||||
{if !isset($customerThread.id_order) && isset($isLogged) && $isLogged == 1}
|
||||
<select name="id_order" ><option value="0">-- {l s='Order ID'} --</option>{$orderList}</select>
|
||||
{elseif !isset($customerThread.id_order) && !isset($isLogged)}
|
||||
<input type="text" placeholder="{l s='Order ID'}" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order)}{$smarty.post.id_order|intval}{/if}{/if}" />
|
||||
{elseif $customerThread.id_order > 0}
|
||||
<input type="text" placeholder="{l s='Order ID'}" name="id_order" id="id_order" value="{$customerThread.id_order|intval}" readonly="readonly" />
|
||||
{/if}
|
||||
</fieldset>
|
||||
{/if}
|
||||
{if isset($isLogged) && $isLogged}
|
||||
<fieldset>
|
||||
{if !isset($customerThread.id_product)}
|
||||
<select name="id_product" style="width:300px;"><option value="0">-- {l s='Product'} --</option>{$orderedProductList}</select>
|
||||
{elseif $customerThread.id_product > 0}
|
||||
<input type="text" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
|
||||
{/if}
|
||||
</fieldset>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
<fieldset>
|
||||
<textarea id="message" name="message" placeholder="{l s='Your message'}" rows="15" cols="10">{if isset($message) && $message != ''}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<button class="ui-btn-hidden" type="submit" aria-disabled="false" data-theme="a" name="submitMessage" id="submitMessage">Envoyer</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- /content -->
|
||||
907
themes/default/mobile/css/global.css
Normal file
@@ -0,0 +1,907 @@
|
||||
/* ################################################################################################
|
||||
GLOBAL
|
||||
################################################################################################ */
|
||||
#hook_mobile_top_site_map {margin-top: 5px}
|
||||
.center{text-align:center}
|
||||
.right{text-align:right}
|
||||
.qty-field{width:50px!important}
|
||||
.hide{display:none}
|
||||
.fl{float:left}
|
||||
.clear{clear:both}
|
||||
.width-20{width:20%}
|
||||
.width-40{width:40%}
|
||||
.width-70{width:70%}
|
||||
.width-100{width:100%}
|
||||
.padding-left-5px{padding-left:5px}
|
||||
.margin-bottom-10px {margin-bottom:10px}
|
||||
|
||||
.ui-btn-up-a .ui-btn-text:visited,
|
||||
.ui-btn-hover-a .ui-btn-text:visited,
|
||||
.ui-btn-down-a .ui-btn-text:visited,
|
||||
.ui-btn-hover-a .ui-btn-text:hover,
|
||||
.ui-btn-up-a .ui-btn-text:hover,
|
||||
.ui-btn-down-a .ui-btn-text:hover,
|
||||
.ui-btn-hover-a .ui-btn-text,
|
||||
.ui-btn-down-a .ui-btn-text,
|
||||
.ui-btn-up-a .ui-btn-text {
|
||||
color:white;
|
||||
}
|
||||
.to_delete {
|
||||
background-color:red;
|
||||
color:white;
|
||||
font-size:12pt;
|
||||
text-shadow: none;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
/* JQUERY MOBILE */
|
||||
.ui-content {overflow-y: hidden}
|
||||
section .ui-content {padding:0 !important}
|
||||
|
||||
.ui-header .ui-title, .ui-footer .ui-title {
|
||||
margin:0.5em 20px 0.8em;
|
||||
font-size: 20px;
|
||||
text-align:left
|
||||
}
|
||||
|
||||
.ui-icon-prestashop-pdf {
|
||||
background: url(../../img/icon/pdf.gif) no-repeat;
|
||||
}
|
||||
.ui-mobile fieldset {margin-bottom:15px; border:none}
|
||||
.ui-field-contain {padding:0}
|
||||
|
||||
.ui-content .ui-listview {margin:0;}
|
||||
|
||||
.ui-input-search .ui-input-clear {right:5px}
|
||||
|
||||
label.ui-select {top:5px; vertical-align:top}
|
||||
/*.ui-controlgroup-horizontal .ui-select {margin:-5px 0 0 0}*/
|
||||
|
||||
.required.bold,
|
||||
.required sup {
|
||||
color: #900;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.warning {
|
||||
margin: 10px 0 10px 0;
|
||||
padding: 10px;
|
||||
border: 1px solid #E6DB55;
|
||||
font-size: 13px;
|
||||
background: lightYellow;
|
||||
}
|
||||
|
||||
.error-box,
|
||||
.error {
|
||||
margin: 10px 0 10px 0;
|
||||
padding: 10px;
|
||||
border: 1px solid red;
|
||||
font-size: 13px;
|
||||
background: #ffb6c1;
|
||||
}
|
||||
|
||||
.error-box ol,
|
||||
.error ol {
|
||||
margin: 0;
|
||||
padding: 0 50px;
|
||||
}
|
||||
|
||||
.ui-listview p,
|
||||
.ui-listview h3 {
|
||||
padding:0;
|
||||
}
|
||||
.ui-listview p {
|
||||
margin-top:-0.5em;
|
||||
}
|
||||
.without-margin {margin: 0;}
|
||||
.without-padding {padding:0;}
|
||||
|
||||
/* title *************************************************************************************** */
|
||||
h1 {font-size:20px}
|
||||
h2 {margin:0 0 0.6em 0; font-size:18px}
|
||||
h3 {padding-bottom:14px; font-size:16px}
|
||||
h4 {font-size:14px}
|
||||
|
||||
|
||||
/* text **************************************************************************************** */
|
||||
p {
|
||||
padding-bottom:10px;
|
||||
font-size:12px
|
||||
}
|
||||
.txt-center{text-align: center;}
|
||||
/* link **************************************************************************************** */
|
||||
a, a:active, a:visited {
|
||||
color:#333;
|
||||
text-decoration:none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* errors box ************************************************************************************* */
|
||||
.error-box {
|
||||
display: block;
|
||||
background-color: #FFB200;
|
||||
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0.0, #ffd573),color-stop(1, #FEEFB3));
|
||||
background-image: -o-linear-gradient(top,#ffd573,#FEEFB3);
|
||||
background-image: -moz-linear-gradient(center top,#ffd573 0%,#FEEFB3 100%);
|
||||
border:1px solid #9E6014;
|
||||
opacity: 0.96;
|
||||
position: fixed;
|
||||
top:100px;
|
||||
font-family: arial, sans-serif;
|
||||
width:80%;
|
||||
left:10%;
|
||||
padding:20px 10px;
|
||||
-moz-border-radius: 0.6em;
|
||||
-webkit-border-radius: 0.6em;
|
||||
border-radius: 0.6em;
|
||||
color:#9E6014;
|
||||
z-index:1000;
|
||||
}
|
||||
.error-box ol {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.error-box .close-bt {
|
||||
position:absolute;
|
||||
top:5px;
|
||||
right:10px;
|
||||
}
|
||||
|
||||
/* form **************************************************************************************** */
|
||||
.ui-mobile fieldset {margin:0 0 15px 0}
|
||||
|
||||
|
||||
hr {margin:30px 0 10px 0}
|
||||
hr.margin_bottom {margin:10px 0 30px 0}
|
||||
hr.margin_less {margin:10px 0 10px 0}
|
||||
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
overflow: hidden
|
||||
}
|
||||
.clearfix:after {clear: both}
|
||||
.clearfix {zoom: 1}
|
||||
|
||||
.ui-br{border:none}
|
||||
|
||||
/* PAGINATION */
|
||||
.pagination {
|
||||
position:relative;
|
||||
margin:5px 0;
|
||||
text-align:center;
|
||||
}
|
||||
ul.pagination_mobile {
|
||||
float:right;
|
||||
}
|
||||
.pagination_mobile li {
|
||||
float:left;
|
||||
}
|
||||
.pagination_mobile .disabled,
|
||||
.pagination_mobile .disabled .ui-btn-inner {
|
||||
background-color:#DDDDDD;
|
||||
color:#aaaaaa;
|
||||
cursor:default;
|
||||
}
|
||||
.pagination_mobile .current .ui-btn {
|
||||
cursor:default;
|
||||
}
|
||||
.pagination_mobile .current .ui-btn-down-c {
|
||||
color:#ffffff;
|
||||
}
|
||||
.pagination_mobile .disabled .ui-btn-inner {
|
||||
border-top:1px solid #dddddd;
|
||||
}
|
||||
.pagination_mobile .ui-btn-inner {
|
||||
padding: 0.6em 10px;
|
||||
font-size: 80%;
|
||||
}
|
||||
.pagination_mobile .pagination_next .ui-btn-inner{
|
||||
padding:0.6em 35px 0.6em 10px;
|
||||
}
|
||||
.pagination_mobile .pagination_previous .ui-btn-inner{
|
||||
padding:0.6em 10px 0.6em 35px;
|
||||
}
|
||||
.pagination ul {
|
||||
margin:2px 0 0 0;
|
||||
padding:0;
|
||||
list-style-type:none;
|
||||
}
|
||||
.pagination li {display:inline-block}
|
||||
/*.pagination li a,
|
||||
.pagination li.active {
|
||||
display:inline-block;
|
||||
padding:2px 10px;
|
||||
color:#666 !important;
|
||||
text-decoration:none;
|
||||
border:1px solid #ccc;
|
||||
}*/
|
||||
.pagination li.active {
|
||||
color:#888 !important;
|
||||
border:1px solid #eee;
|
||||
}
|
||||
.pagination li a:hover {
|
||||
color:#333 !important;
|
||||
border:1px solid #333;
|
||||
}
|
||||
.pagination .btnnprevious {
|
||||
position:absolute;
|
||||
top:2px;
|
||||
left:5px;
|
||||
height:26px;
|
||||
width:26px;
|
||||
text-indent:-5000px;
|
||||
background:#333
|
||||
}
|
||||
.pagination .btnnext {
|
||||
position:absolute;
|
||||
top:2px;
|
||||
right:5px;
|
||||
height:26px;
|
||||
width:26px;
|
||||
text-indent:-5000px;
|
||||
background:#333
|
||||
}
|
||||
|
||||
/* button */
|
||||
.button_next {float:right;}
|
||||
|
||||
|
||||
/* check form */
|
||||
.valid {border:1px solid green}
|
||||
.invalid {border:1px solid red}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
HEADER
|
||||
################################################################################################ */
|
||||
/*#header {
|
||||
position:relative;
|
||||
height:122px;
|
||||
font-weight:normal !important;
|
||||
font-size:10pt;
|
||||
color:#333;
|
||||
text-shadow:none;
|
||||
border:0 !important;
|
||||
background:none !important;
|
||||
}
|
||||
#header a {
|
||||
color:#333;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
#logo {
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
z-index:10;
|
||||
}
|
||||
|
||||
.shoppingbag {
|
||||
margin:10px 0 2px 0;
|
||||
padding:2px 5px 4px 5px;
|
||||
color:#fff;
|
||||
background:#383838;
|
||||
}
|
||||
.shoppingbag a {color:#fff !important;}
|
||||
.shoppingbag span {
|
||||
font-size:8pt
|
||||
}
|
||||
.quicklink {
|
||||
margin:5px 0;
|
||||
padding:0 5px;
|
||||
}
|
||||
.login {
|
||||
margin:25px 0;
|
||||
padding:0 5px;
|
||||
font-size:8pt;
|
||||
}*/
|
||||
|
||||
/* HEADER */
|
||||
#header {padding-bottom: 10px;}
|
||||
#header .ui-block-a img {display: block;margin: 10px}
|
||||
|
||||
|
||||
/* NAVBAR TOP */
|
||||
.navbartop {
|
||||
height:42px;
|
||||
background:#383838;
|
||||
}
|
||||
.navbarcontent {
|
||||
height:32px;
|
||||
background:#cccccc;
|
||||
}
|
||||
.navbarcontent h3 {
|
||||
margin:0;
|
||||
}
|
||||
.navbartop .btnopen {text-indent:-5000px}
|
||||
|
||||
.link_cart{
|
||||
background:url(../img/img_cart.png) 0 2px no-repeat;
|
||||
padding:5px 5px 5px 30px;
|
||||
text-decoration:none;
|
||||
float:right
|
||||
}
|
||||
.link_account {
|
||||
background:url(../img/icon/my-account.png) 0 5px no-repeat;
|
||||
padding:5px 5px 5px 20px;
|
||||
text-decoration:none;
|
||||
float:right
|
||||
}
|
||||
.input_search {margin:0 10px 10px 0; text-align:right}
|
||||
#block_cart{margin:10px}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
CONTENT
|
||||
################################################################################################ */
|
||||
#content {}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
FOOTER
|
||||
################################################################################################ */
|
||||
#footer {margin-top:20px}
|
||||
#newsletter {
|
||||
margin:0 auto;
|
||||
width:96%
|
||||
}
|
||||
#newsletter .ui-field-contain label.ui-input-text {width:auto}
|
||||
/*#newsletter .ui-btn {
|
||||
position:relative;
|
||||
top:8px;
|
||||
}*/
|
||||
|
||||
h2.site_map {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#lnk_footer {
|
||||
margin:0 auto;
|
||||
padding:2%;
|
||||
background:#ddd
|
||||
}
|
||||
#lnk_footer li .ui-btn {
|
||||
display:inline-block;
|
||||
text-align:left !important
|
||||
}
|
||||
#lnk_footer .ui-btn-up-a,
|
||||
#lnk_footer .ui-btn-hover-a {
|
||||
color:#333;
|
||||
text-shadow:none !important;
|
||||
border:none !important;
|
||||
background:none !important
|
||||
}
|
||||
#lnk_footer .ui-btn-hover-a {text-decoration:underline}
|
||||
#lnk_footer .ui-btn-inner {
|
||||
padding:2px !important;
|
||||
border:0
|
||||
}
|
||||
|
||||
#footer .ui-field-contain{
|
||||
text-align:center
|
||||
}
|
||||
#account_link {text-align:center;padding:10px 0}
|
||||
#account_link .ui-block-a{
|
||||
width:46%;
|
||||
padding:0 2%;
|
||||
text-align:right
|
||||
}
|
||||
#account_link .ui-block-b{
|
||||
width:46%;
|
||||
padding:0 2%;
|
||||
text-align:left
|
||||
}
|
||||
#bar_footer {margin:10px 0 0 0}
|
||||
#link_bar_footer{padding:15px 0}
|
||||
#link_bar_footer .ui-block-a{
|
||||
width:46%;
|
||||
padding:0 2%;
|
||||
}
|
||||
#link_bar_footer .ui-block-b{
|
||||
width:46%;
|
||||
padding:0 2%;
|
||||
text-align:right
|
||||
}
|
||||
|
||||
.ui-body-c #footer #account_link .ui-link {color: #333 !important;}
|
||||
.ui-body-c #footer #link_bar_footer .ui-link {color: #fff !important;}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
HOMEPAGE
|
||||
################################################################################################ */
|
||||
#slider {margin:0 0 10px 0;}
|
||||
#highlight {margin:0 0 10px 0;}
|
||||
|
||||
#category {margin:0 0 10px 0;}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
CATEGORY
|
||||
################################################################################################ */
|
||||
#category h1 {text-align:left}
|
||||
|
||||
#category .container-sort {float:right}
|
||||
#category .container-sort-bottom {float:left}
|
||||
|
||||
#category-list .ui-li-thumb {
|
||||
float:none;
|
||||
position:relative
|
||||
}
|
||||
#category-list .ui-block-a .ui-btn-inner {
|
||||
border-right:1px solid #cccccc;
|
||||
}
|
||||
#category-list .ui-li-heading {height:45px; white-space:normal;}
|
||||
#category-list .ui-li-price {text-align:right; color:#990000; font-size:12pt; font-weight: bold;}
|
||||
#category-list .ui-li-price-info {text-align:right; font-size:8pt; text-transform: uppercase;}
|
||||
#category-list .ui-li-price-info span {display:inline-block;}
|
||||
#category-list .ui-li-price-info.discount span {background-color:#9B0000; color:#ffffff; text-shadow:none;}
|
||||
#category-list .ui-btn-icon-right .ui-icon {display:none}
|
||||
.product-list-row {
|
||||
margin-right: 0px!important;
|
||||
margin-left: 0px!important;
|
||||
}
|
||||
|
||||
/* ################################################################################################
|
||||
CART
|
||||
################################################################################################ */
|
||||
.price_on_accordion_cart{
|
||||
position:fixed;
|
||||
right:30px;
|
||||
padding:4px;
|
||||
background:red;
|
||||
border-radius:50%
|
||||
}
|
||||
.accordeon_cart .test{margin:0}
|
||||
.accordeon_cart div.ui-collapsible-content{margin:0}
|
||||
.information_details_cart p{margin-top:10px}
|
||||
.total_price .ui-bar h3{
|
||||
display:block;
|
||||
text-align:right
|
||||
}
|
||||
|
||||
.cart_total_bar h3 {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
.cart_total_bar .btn-row {
|
||||
text-align: right;
|
||||
}
|
||||
.cart_total_bar .ui-btn {
|
||||
margin: 10px 0 0 0;
|
||||
display:inline-block;
|
||||
}
|
||||
.total_price p{
|
||||
margin:5px 0;
|
||||
font-size:12px;
|
||||
text-align:right
|
||||
}
|
||||
.cart img.img_product_cart{
|
||||
margin-top:0.7em;
|
||||
border-radius:0;
|
||||
}
|
||||
|
||||
.ui-controlgroup.grouped_buttons_card, fieldset.ui-controlgroup.grouped_buttons_card
|
||||
{
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.grouped_buttons_card,.display_block_card_product
|
||||
{
|
||||
text-align:center;
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
PRODUCT
|
||||
################################################################################################ */
|
||||
|
||||
/* .second_container{
|
||||
float: left;
|
||||
margin-top:0;
|
||||
margin:0 1%;
|
||||
padding:0 1%;
|
||||
width: 96%;
|
||||
text-align:center
|
||||
}
|
||||
.first_container{
|
||||
margin:0 1%;
|
||||
padding:0 1%;
|
||||
width:96%;
|
||||
float:left;
|
||||
text-align:center
|
||||
}*/
|
||||
|
||||
.category_desc {
|
||||
margin: 0 0 10px 0;
|
||||
padding:10px 5px;
|
||||
border:1px solid #cccccc;
|
||||
box-shadow: 1px 1px 2px #cccccc;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.category_desc p{
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
}
|
||||
.category_desc .hide_desc {
|
||||
display:none;
|
||||
}
|
||||
.category_desc .lnk_more {
|
||||
float:right;
|
||||
}
|
||||
.category_desc .lnk_more .ui-btn-inner {
|
||||
font-size:80%;
|
||||
padding:0.4em 10px 0.4em 33px;
|
||||
}
|
||||
|
||||
#product_title h1{width:62%;margin-left:5%;float:left;}
|
||||
#product_title span{
|
||||
width:25%;
|
||||
margin:14px 3% 10px 5%;
|
||||
font-size:20px;
|
||||
font-weight:bold;
|
||||
text-align:right;
|
||||
float:left
|
||||
}
|
||||
|
||||
.product_img_wrapper {
|
||||
text-align:center;
|
||||
}
|
||||
.product_img_wrapper img {
|
||||
width:95%;
|
||||
max-width: none;
|
||||
max-height: none;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
#attributes-1 .ui-select{
|
||||
float:left;
|
||||
}
|
||||
|
||||
#select_attributes .ui-select{
|
||||
float:left
|
||||
}
|
||||
.product_page{text-align:center}
|
||||
|
||||
.description{text-align:left}
|
||||
|
||||
.quantite{text-align:left}
|
||||
|
||||
|
||||
.img_product{margin:0 auto}
|
||||
.img_product_list{margin:0 auto}
|
||||
.view_product{background:#fff}
|
||||
.view_product .view_full_size {text-align:center;}
|
||||
.view_product .thumbs_list_frame {list-style-type: none;}
|
||||
.view_product .thumbs_list_frame li {float:left;}
|
||||
.view_product .thumbs_list_frame li img {margin: 0 6px;border: 1px solid #CDCDCD;}
|
||||
.list_view{text-align:center}
|
||||
#product_page{width:100%}
|
||||
|
||||
.ui-btn.disabled,
|
||||
.ui-btn.disabled .ui-btn-inner {
|
||||
background-color:#DDDDDD;
|
||||
color:#aaaaaa;
|
||||
cursor:default;
|
||||
}
|
||||
.ui-btn.disabled .ui-btn-inner {
|
||||
border-top:1px solid #dddddd;
|
||||
}
|
||||
.ui-btn.disabled button,
|
||||
.ui-btn.disabled input {
|
||||
cursor:default;
|
||||
}
|
||||
.ui-btn-hover-c.disabled {
|
||||
border:1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#availability_statut {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
|
||||
#availability_statut #availability_value {
|
||||
background-color:#9B0000;
|
||||
color:#ffffff;
|
||||
text-shadow:none;
|
||||
padding:0 10px;
|
||||
text-transform: uppercase;
|
||||
font-size:10pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
.content_prices {
|
||||
margin:
|
||||
}
|
||||
.content_prices .online_only {
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
color: #900;
|
||||
text-transform: uppercase;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
.content_prices .price {
|
||||
text-align:right;
|
||||
}
|
||||
.content_prices .price .on_sale {
|
||||
background-color: #F8DC0C;
|
||||
padding:2px 5px;
|
||||
font-size:12pt;
|
||||
border:1px solid #DDA84E;
|
||||
margin: 2px 0;
|
||||
display:inline-block;
|
||||
}
|
||||
.content_prices .price p {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
.content_prices .price .old_price_display {
|
||||
text-decoration: line-through;
|
||||
font-size:11pt;
|
||||
}
|
||||
.content_prices .price .old_price .reduction_amount_display,
|
||||
.content_prices .price .old_price .reduction_percent {
|
||||
background-color:#9B0000;
|
||||
color:#ffffff;
|
||||
text-shadow:none;
|
||||
padding:0 5px;
|
||||
margin: 0 0 0 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.content_prices .price .our_price_display {
|
||||
color:#990000;
|
||||
font-size:21pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
.content_prices .price .unit-price,
|
||||
.content_prices .price .price-ecotax {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
#more_info_block ul li {
|
||||
font-size:9pt;
|
||||
}
|
||||
.accessories_block ul {
|
||||
list-style-type: none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.accessories_block li {
|
||||
background-color:#111111;
|
||||
border-bottom:1px solid #555555;
|
||||
padding:5px;
|
||||
}
|
||||
.accessories_block li.last_item {
|
||||
border:none;
|
||||
}
|
||||
.accessories_block li .col-left {
|
||||
word-wrap: break-word;
|
||||
float:left;
|
||||
}
|
||||
.accessories_block li .col-right {
|
||||
float:right;
|
||||
width:100%;
|
||||
margin:0 0 0 -68px;
|
||||
|
||||
}
|
||||
.accessories_block li .col-right .inner {
|
||||
margin:0 0 0 78px;
|
||||
}
|
||||
.accessories_block li .col-right .inner p,
|
||||
.accessories_block li .col-right .inner h5 {
|
||||
margin:0;
|
||||
color:white;
|
||||
}
|
||||
.accessories_block li .col-right .inner h5 {
|
||||
font-size:10pt;
|
||||
}
|
||||
.accessories_block li .col-right .inner p {
|
||||
color:#aaaaaa;
|
||||
}
|
||||
.accessories_block li .price {
|
||||
text-align:right;
|
||||
font-size:14pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
.accessories_block li .btn-row {
|
||||
text-align:right;
|
||||
}
|
||||
/*.third_container{float:left}*/
|
||||
|
||||
/* ################################################################################################
|
||||
PRODUCT
|
||||
################################################################################################ */
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
404
|
||||
################################################################################################ */
|
||||
|
||||
#not_found{padding:3%}
|
||||
|
||||
.input_search_404{text-align:center}
|
||||
|
||||
.nbr_result {
|
||||
position:relative;
|
||||
top:6px;
|
||||
font-size:14px
|
||||
}
|
||||
|
||||
/* ################################################################################################
|
||||
OPC
|
||||
################################################################################################ */
|
||||
h3.bg {
|
||||
padding:8px;
|
||||
color:#fff;
|
||||
background:#666;
|
||||
text-shadow: 0 1px 0 #000 !important
|
||||
}
|
||||
|
||||
.block {
|
||||
margin:10px 0;
|
||||
padding:10px;
|
||||
border:1px solid #bbb;
|
||||
background:#dbdbdb
|
||||
}
|
||||
.block h3 {margin-top:0}
|
||||
|
||||
ul.adress {
|
||||
list-style-type:none;
|
||||
margin:0;
|
||||
padding:0 0 0 10px
|
||||
}
|
||||
|
||||
#cart {}
|
||||
#cart h3{
|
||||
margin:0;
|
||||
padding:0
|
||||
}
|
||||
#cart input {margin:5px 0}
|
||||
#cart .ui-li-desc {margin:0}
|
||||
|
||||
#voucher {}
|
||||
#voucher h3 {margin:0}
|
||||
|
||||
#cart_price .ui-btn-up-c {
|
||||
border:none;
|
||||
background:none;
|
||||
}
|
||||
|
||||
.lnk_CGV {padding:0}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
LOGIN
|
||||
################################################################################################ */
|
||||
.login_form .submit_button {float:right}
|
||||
.login_form .forget_pwd {
|
||||
margin:5px 0 0 0;
|
||||
padding:0;
|
||||
font-size:0.8em
|
||||
}
|
||||
.login_form .ui-btn {float:right}
|
||||
|
||||
|
||||
/* ################################################################################################
|
||||
CATEGORY
|
||||
################################################################################################ */
|
||||
#category-list li a {position:relative}
|
||||
#category-list li .ui-li-desc {
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
#category-list li .ui-li-price-info span {padding: 2px 5px;}
|
||||
.new {
|
||||
position:absolute;
|
||||
top:17px;
|
||||
right:-22px;
|
||||
margin:0 0 0 0px;
|
||||
padding:2px 0;
|
||||
width:100px;
|
||||
text-align:center;
|
||||
background-color: rgba(162, 29, 28, 0.9);
|
||||
-moz-transform:rotate(45deg);
|
||||
-webkit-transform:rotate(45deg);
|
||||
-o-transform:rotate(45deg);
|
||||
color:#ffffff;
|
||||
text-shadow: none;
|
||||
text-transform: uppercase;
|
||||
font-size:8pt;
|
||||
}
|
||||
#category-list .online_only {
|
||||
position:absolute;
|
||||
margin:0;
|
||||
padding:0;
|
||||
top: 32px;
|
||||
right: -29px;
|
||||
margin:0;
|
||||
padding:2px 0;
|
||||
width: 142px;
|
||||
text-align:center;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
-moz-transform:rotate(45deg);
|
||||
-webkit-transform:rotate(45deg);
|
||||
-o-transform:rotate(45deg);
|
||||
text-shadow: none;
|
||||
text-transform: uppercase;
|
||||
font-size:8pt;
|
||||
color:#ffffff;
|
||||
}
|
||||
|
||||
/* ################################################################################################
|
||||
MY ACCOUNT
|
||||
################################################################################################ */
|
||||
#list_myaccount .ui-li-icon {top: 0.7em}
|
||||
|
||||
.lnk_my-account_home {
|
||||
display:block;
|
||||
padding:20px 0 0 0
|
||||
}
|
||||
|
||||
/* ################################################################################################
|
||||
LAYERED
|
||||
################################################################################################ */
|
||||
#layered {}
|
||||
#layered h3 {margin:30px 0 0 0}
|
||||
#layered .color-option {
|
||||
margin-left:0;
|
||||
margin-right:5px;
|
||||
padding:0;
|
||||
height:16px;
|
||||
display:inline-block;
|
||||
width:16px;
|
||||
border:1px solid #666;
|
||||
}
|
||||
|
||||
/* ################################################################################################
|
||||
Manufacturer
|
||||
################################################################################################ */
|
||||
.nbrmanufacturer {
|
||||
margin: 15px 0 10px;
|
||||
padding: 8px 7px;
|
||||
font-size: 12px;
|
||||
color: black;
|
||||
background: none repeat scroll 0 0 #dddddd;
|
||||
}
|
||||
|
||||
/* ################################################################################################
|
||||
STORES
|
||||
################################################################################################ */
|
||||
|
||||
#stores_search_block {
|
||||
margin-top: 20px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.stores_block {
|
||||
margin-top: 25px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stores_block .ui-listview span.image {
|
||||
display: table-cell;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
vertical-align: middle;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.stores_block .ui-listview span img {
|
||||
position: relative;
|
||||
display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#full-site-section a {
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
}
|
||||
288
themes/default/mobile/css/jqm-docs.css
Normal file
@@ -0,0 +1,288 @@
|
||||
/* jqm docs css
|
||||
|
||||
Beware: lots of last-minute CSS going on in here
|
||||
cobblers, shoes,
|
||||
*/
|
||||
|
||||
body { background: #dddddd; }
|
||||
.ui-mobile .type-home .ui-content { margin: 0; background: #e5e5e5 url(../images/jqm-sitebg.png) top center repeat-x; }
|
||||
.ui-mobile #jqm-homeheader { padding: 40px 10px 0; text-align: center; margin: 0 auto; }
|
||||
.ui-mobile #jqm-homeheader h1 { margin: 0 0 ; }
|
||||
.ui-mobile #jqm-homeheader p { margin: .3em 0 0; line-height: 1.3; font-size: .9em; font-weight: bold; color: #666; }
|
||||
.ui-mobile #jqm-version { text-indent: -99999px; background: url(../images/version.png) top right no-repeat; width: 119px; height: 122px; overflow: hidden; position: absolute; z-index: 50; top: -11px; right: 0; }
|
||||
.ui-mobile .jqm-themeswitcher { margin: 10px 25px 10px 10px; }
|
||||
|
||||
h2 { margin:1.2em 0 .4em 0; }
|
||||
p code { font-size:1.2em; font-weight:bold; }
|
||||
|
||||
dt { font-weight: bold; margin: 2em 0 .5em; }
|
||||
dt code, dd code { font-size:1.3em; line-height:150%; }
|
||||
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
|
||||
|
||||
#jqm-homeheader img { width: 235px; }
|
||||
img { max-width: 100%; }
|
||||
|
||||
.ui-header .jqm-home { top:0.65em; }
|
||||
nav { margin: 0; }
|
||||
|
||||
p.intro {
|
||||
font-size: .96em;
|
||||
line-height: 1.3;
|
||||
border-top: 1px solid #75ae18;
|
||||
border-bottom: 0;
|
||||
background: none;
|
||||
margin: 1.5em 0;
|
||||
padding: 1.5em 15px 0;
|
||||
|
||||
}
|
||||
p.intro strong {
|
||||
color: #558e08;
|
||||
}
|
||||
.footer-docs {
|
||||
padding: 5px 0;
|
||||
}
|
||||
.footer-docs p {
|
||||
float: left;
|
||||
margin-left:15px;
|
||||
font-weight: normal;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
.type-interior .content-secondary {
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
margin: 10px -15px 0;
|
||||
background: #fff;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
.type-home .ui-content {
|
||||
margin-top: 5px;
|
||||
}
|
||||
.type-interior .ui-content {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.content-secondary .ui-collapsible {
|
||||
padding: 0 15px 10px;
|
||||
|
||||
}
|
||||
.content-secondary .ui-collapsible-content {
|
||||
padding: 0;
|
||||
background: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
.content-secondary .ui-listview {
|
||||
margin: 0;
|
||||
}
|
||||
/* new API additions */
|
||||
|
||||
dt {
|
||||
margin: 35px 0 15px 0;
|
||||
background-color:#ddd;
|
||||
font-weight:normal;
|
||||
}
|
||||
dt code {
|
||||
display:inline-block;
|
||||
font-weight:bold;
|
||||
color:#56A00E;
|
||||
padding:3px 7px;
|
||||
margin-right:10px;
|
||||
background-color:#fff;
|
||||
}
|
||||
dd {
|
||||
margin-bottom:10px;
|
||||
}
|
||||
dd .default { font-weight:bold; }
|
||||
dd pre {
|
||||
margin:0 0 0 0;
|
||||
}
|
||||
dd code { font-weight: normal; }
|
||||
dd pre code {
|
||||
margin:0;
|
||||
border:none;
|
||||
font-weight:normal;
|
||||
font-size:100%;
|
||||
background-color:transparent;
|
||||
}
|
||||
dd h4 { margin:15px 0 0 0; }
|
||||
|
||||
.localnav {
|
||||
margin:0 0 20px 0;
|
||||
overflow:hidden;
|
||||
}
|
||||
.localnav li {
|
||||
float:left;
|
||||
}
|
||||
.localnav .ui-btn-inner {
|
||||
padding: .6em 10px;
|
||||
font-size:80%;
|
||||
}
|
||||
|
||||
|
||||
/* F bar theme - just for the docs overview headers */
|
||||
.ui-bar-f {
|
||||
border: 1px solid #56A00E;
|
||||
background: #74b042;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 -1px 1px #234403;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#74b042), to(#56A00E)); /* Saf4+, Chrome */
|
||||
background-image: -webkit-linear-gradient(top, #74b042, #56A00E); /* Chrome 10+, Saf5.1+ */
|
||||
background-image: -moz-linear-gradient(top, #74b042, #56A00E); /* FF3.6 */
|
||||
background-image: -ms-linear-gradient(top, #74b042, #56A00E); /* IE10 */
|
||||
background-image: -o-linear-gradient(top, #74b042, #56A00E); /* Opera 11.10+ */
|
||||
background-image: linear-gradient(top, #74b042, #56A00E);
|
||||
}
|
||||
.ui-bar-f,
|
||||
.ui-bar-f .ui-link-inherit {
|
||||
color: #fff;
|
||||
}
|
||||
.ui-bar-f .ui-link {
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* docs site layout */
|
||||
|
||||
@media all and (min-width: 650px){
|
||||
|
||||
.jqm-home {
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 0;
|
||||
}
|
||||
.type-home .ui-content {
|
||||
margin-top: 5px;
|
||||
}
|
||||
.ui-mobile #jqm-homeheader {
|
||||
max-width: 340px;
|
||||
}
|
||||
.ui-mobile .jqm-themeswitcher {
|
||||
float: right;
|
||||
}
|
||||
p.intro {
|
||||
margin: 2em 0;
|
||||
}
|
||||
.type-home .ui-content,
|
||||
.type-interior .ui-content {
|
||||
padding: 0;
|
||||
background: url(../images/px-ccc.gif) 50% 0 repeat-y;
|
||||
}
|
||||
.type-interior .ui-content {
|
||||
background-position: 45%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.content-secondary {
|
||||
text-align: left;
|
||||
float: left;
|
||||
width: 45%;
|
||||
background: none;
|
||||
}
|
||||
.content-secondary,
|
||||
.type-interior .content-secondary {
|
||||
margin: 30px 0 20px 2%;
|
||||
padding: 20px 4% 0 0;
|
||||
background: none;
|
||||
border-top: none;
|
||||
}
|
||||
.type-index .content-secondary {
|
||||
padding: 0;
|
||||
}
|
||||
.content-secondary .ui-collapsible {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.content-secondary .ui-collapsible-content {
|
||||
border: none;
|
||||
}
|
||||
.type-index .content-secondary .ui-listview {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ui-mobile #jqm-homeheader {
|
||||
padding: 0;
|
||||
}
|
||||
.content-primary {
|
||||
width: 45%;
|
||||
float: right;
|
||||
margin-top: 30px;
|
||||
margin-right: 1%;
|
||||
padding-right: 1%;
|
||||
}
|
||||
.content-primary ul:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.content-secondary h2 {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
}
|
||||
.type-interior .content-primary {
|
||||
padding: 1.5em 6% 3em 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* fix up the collapsibles - expanded on desktop */
|
||||
.content-secondary .ui-collapsible-heading {
|
||||
display: none;
|
||||
}
|
||||
.content-secondary .ui-collapsible-contain {
|
||||
margin:0;
|
||||
}
|
||||
.content-secondary .ui-collapsible-content {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.type-interior .content-secondary .ui-li-divider {
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
.type-interior .content-secondary {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
}
|
||||
@media all and (min-width: 750px){
|
||||
.type-home .ui-content,
|
||||
.type-interior .ui-content {
|
||||
background-position: 39%;
|
||||
}
|
||||
.content-secondary {
|
||||
width: 34%;
|
||||
}
|
||||
.content-primary {
|
||||
width: 56%;
|
||||
padding-right: 1%;
|
||||
}
|
||||
.type-interior .ui-content {
|
||||
background-position: 34%;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 1200px){
|
||||
.type-home .ui-content{
|
||||
background-position: 38.5%;
|
||||
}
|
||||
.type-interior .ui-content {
|
||||
background-position: 30%;
|
||||
}
|
||||
.content-secondary {
|
||||
width: 30%;
|
||||
padding-right:6%;
|
||||
margin: 30px 0 20px 5%;
|
||||
}
|
||||
.type-interior .content-secondary {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.content-primary {
|
||||
width: 50%;
|
||||
margin-right: 5%;
|
||||
padding-right: 3%;
|
||||
}
|
||||
.type-interior .content-primary {
|
||||
width: 60%;
|
||||
}
|
||||
}
|
||||
2
themes/default/mobile/css/jquery.mobile-1.1.1.min.css
vendored
Normal file
20
themes/default/mobile/css/maintenance.css
Normal file
@@ -0,0 +1,20 @@
|
||||
#maintenance {
|
||||
margin:0 auto;
|
||||
width:100%;
|
||||
font:normal 20px Arial, Verdana, sans-serif;
|
||||
font-weight: bold;
|
||||
color:#333;
|
||||
}
|
||||
#maintenance #store {
|
||||
text-align:center;
|
||||
}
|
||||
#maintenance #message {
|
||||
margin:20px 20px;
|
||||
text-align:center;
|
||||
}
|
||||
#maintenance #prestashop {
|
||||
background:url(../img/bg_maintenance.png) no-repeat 100% 0 #fff;
|
||||
background-position:center bottom;
|
||||
height:360px;
|
||||
margin: 60px;
|
||||
}
|
||||
87
themes/default/mobile/discount.tpl
Normal file
@@ -0,0 +1,87 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6599 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='My Vouchers'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a>
|
||||
|
||||
{if isset($discount) && count($discount) && $nbDiscounts}
|
||||
<table class="discount std table_block">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="discount_code first_item">{l s='Code'}</th>
|
||||
<th class="discount_description item">{l s='Description'}</th>
|
||||
<th class="discount_quantity item">{l s='Quantity'}</th>
|
||||
<th class="discount_value item">{l s='Value'}*</th>
|
||||
<th class="discount_minimum item">{l s='Minimum'}</th>
|
||||
<th class="discount_cumulative item">{l s='Cumulative'}</th>
|
||||
<th class="discount_expiration_date last_item">{l s='Expiration date'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$discount item=discountDetail name=myLoop}
|
||||
<tr class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if} {if $smarty.foreach.myLoop.index % 2}alternate_item{/if}">
|
||||
<td class="discount_code">{$discountDetail.name}</td>
|
||||
<td class="discount_description">{$discountDetail.description}</td>
|
||||
<td class="discount_quantity">{$discountDetail.quantity_for_user}</td>
|
||||
<td class="discount_value">
|
||||
{if $discountDetail.id_discount_type == 1}
|
||||
{$discountDetail.value|escape:'htmlall':'UTF-8'}%
|
||||
{elseif $discountDetail.id_discount_type == 2}
|
||||
{convertPrice price=$discountDetail.value}
|
||||
{else}
|
||||
{l s='Free shipping'}
|
||||
{/if}
|
||||
</td>
|
||||
<td class="discount_minimum">
|
||||
{if $discountDetail.minimal == 0}
|
||||
{l s='none'}
|
||||
{else}
|
||||
{convertPrice price=$discountDetail.minimal}
|
||||
{/if}
|
||||
</td>
|
||||
<td class="discount_cumulative">
|
||||
{if $discountDetail.cumulable == 1}
|
||||
<img src="{$img_dir}icon/yes.gif" alt="{l s='Yes'}" class="icon" /> {l s='Yes'}
|
||||
{else}
|
||||
<img src="{$img_dir}icon/no.gif" alt="{l s='No'}" class="icon" valign="middle" /> {l s='No'}
|
||||
{/if}
|
||||
</td>
|
||||
<td class="discount_expiration_date">{dateFormat date=$discountDetail.date_to}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<p>
|
||||
*{l s='Tax included'}
|
||||
</p>
|
||||
{else}
|
||||
<p class="warning">{l s='You do not possess any vouchers.'}</p>
|
||||
{/if}
|
||||
|
||||
</div><!-- /content -->
|
||||
58
themes/default/mobile/errors.tpl
Normal file
@@ -0,0 +1,58 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
{if isset($errors) && $errors}
|
||||
<script type="text/javascript">
|
||||
{literal}
|
||||
function popErrorMessage(errorTitle, errorMessage)
|
||||
{
|
||||
$('<div class="error-box"><h1>'+errorTitle+'</h1>'+errorMessage+'</div>').appendTo('body');
|
||||
var close_bt = '';
|
||||
close_bt += '<a href="#" data-role="button" data-icon="delete" data-iconpos="notext" data-theme="e" class="close-bt" >delete</a>';
|
||||
$('.error-box').append(close_bt);
|
||||
$('.error-box').find('.close-bt').button();
|
||||
$('.error-box').find('.close-bt').bind('click', function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
$('.error-box').fadeOut(400, function() {
|
||||
$(this).remove();
|
||||
})
|
||||
});
|
||||
}
|
||||
$(function()
|
||||
{
|
||||
var errorTitle = '{/literal}{if $errors|@count > 1}{l s='There are'}{else}{l s='There is'}{/if} {$errors|@count} {if $errors|@count > 1}{l s='errors'}{else}{l s='error'}{/if} :{literal}';
|
||||
var errorMessage = '<ol>';
|
||||
{/literal}
|
||||
{foreach from=$errors key=k item=error}
|
||||
errorMessage += '<li>{$error|addslashes}</li>';
|
||||
{/foreach}
|
||||
{literal}
|
||||
errorMessage += '</ol>';
|
||||
popErrorMessage(errorTitle, errorMessage);
|
||||
});
|
||||
{/literal}
|
||||
</script>
|
||||
{/if}
|
||||
51
themes/default/mobile/footer.tpl
Normal file
@@ -0,0 +1,51 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<div id="footer">
|
||||
<div class="ui-grid-a">
|
||||
{hook h="displayMobileFooterChoice"}
|
||||
</div><!-- /grid-a -->
|
||||
|
||||
<div id="full-site-section" class="center">
|
||||
<a href="{$link->getPageLink('index', true)}?no_mobile_theme">{l s='Consult full site'}</a>
|
||||
</div>
|
||||
|
||||
<div data-role="footer" data-theme="a" id="bar_footer">
|
||||
<div id="link_bar_footer" class="ui-grid-a">
|
||||
<div class="ui-block-a">
|
||||
<a href="{$link->getPageLink('index', true)}">{$PS_SHOP_NAME}</a>
|
||||
</div>
|
||||
{if $conditions}
|
||||
<div class="ui-block-b">
|
||||
<a href="{$link->getCMSLink($id_cgv)}">CGV</a>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /footer -->
|
||||
</div><!-- /page -->
|
||||
</body>
|
||||
</html>
|
||||
82
themes/default/mobile/header.tpl
Normal file
@@ -0,0 +1,82 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
|
||||
{*<meta name="viewport" content="width=device-width, initial-scale=1">*}
|
||||
<meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
|
||||
{if isset($meta_description) AND $meta_description}
|
||||
<meta name="description" content="{$meta_description|escape:html:'UTF-8'}" />
|
||||
{/if}
|
||||
{if isset($meta_keywords) AND $meta_keywords}
|
||||
<meta name="keywords" content="{$meta_keywords|escape:html:'UTF-8'}" />
|
||||
{/if}
|
||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
|
||||
<meta name="generator" content="PrestaShop" />
|
||||
<meta name="robots" content="{if isset($nobots)}no{/if}index,follow" />
|
||||
<link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{$favicon_url}?{$img_update_time}" />
|
||||
<script type="text/javascript">
|
||||
var baseDir = '{$content_dir}';
|
||||
var static_token = '{$static_token}';
|
||||
var token = '{$token}';
|
||||
var priceDisplayPrecision = {$priceDisplayPrecision*$currency->decimals};
|
||||
var priceDisplayMethod = {$priceDisplay};
|
||||
var roundMode = {$roundMode};
|
||||
</script>
|
||||
{if isset($css_files)}
|
||||
{foreach from=$css_files key=css_uri item=media}
|
||||
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
|
||||
{/foreach}
|
||||
{/if}
|
||||
{if isset($js_files)}
|
||||
{foreach from=$js_files item=js_uri}
|
||||
<script type="text/javascript" src="{$js_uri}"></script>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{$HOOK_MOBILE_HEADER}
|
||||
</head>
|
||||
<body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}>
|
||||
<div data-role="page" {if isset($wrapper_id)}id="{$wrapper_id}"{/if} class="type-interior prestashop-page">
|
||||
<div data-role="header" id="header" class="ui-body-c">
|
||||
<div class="ui-grid-a">
|
||||
<div class="ui-block-a">
|
||||
<a href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}"><img src="{$logo_url}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height}height="{$logo_image_height}" {/if} /></a>
|
||||
</div>
|
||||
<div class="ui-block-b">
|
||||
<div id="block_cart" class="clearfix">
|
||||
<a href="{$link->getPageLink('order-opc', true)}" class="link_cart">{l s='Cart'}</a>
|
||||
{if $logged}
|
||||
<a href="{$link->getPageLink('my-account', true)}" class="link_account">{l s='My account'}</a>
|
||||
{else}
|
||||
<a href="{$link->getPageLink('authentication', true)}" class="link_account">{l s='Authenticate'}</a>
|
||||
{/if}
|
||||
</div>
|
||||
{hook h="displayMobileTop"}
|
||||
</div>
|
||||
</div><!-- /grid-a -->
|
||||
</div><!-- /header -->
|
||||
64
themes/default/mobile/history.tpl
Normal file
@@ -0,0 +1,64 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6599 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Order history'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
<div data-role="content" id="content">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a>
|
||||
|
||||
<p>{l s='Here are the orders you have placed since the creation of your account'}.</p>
|
||||
|
||||
{if $slowValidation}<p class="warning">{l s='If you have just placed an order, it may take a few minutes for it to be validated. Please refresh the page if your order is missing.'}</p>{/if}
|
||||
|
||||
<div class="block-center" id="block-history">
|
||||
{if $orders && count($orders)}
|
||||
<ul data-role="listview" data-theme="c" data-inset="true" data-split-theme="c" data-split-icon="prestashop-pdf">
|
||||
{foreach from=$orders item=order name=myLoop}
|
||||
<li>
|
||||
{assign var="id_order" value={$order.id_order|intval}}
|
||||
<a class="color-myaccount" id="order-{$id_order}" href="{$link->getPageLink('order-detail', true, null, "id_order=$id_order")}">
|
||||
{if isset($order.invoice) && $order.invoice && isset($order.virtual) && $order.virtual}<img src="{$img_dir}icon/download_product.gif" class="icon" alt="{l s='Products to download'}" title="{l s='Products to download'}" />{/if}
|
||||
<h3>{l s='#'}{$order.id_order|string_format:"%06d"}</h3>
|
||||
<p><strong>{l s='Total price'}</strong> {displayPrice price=$order.total_paid currency=$order.id_currency no_utf8=false convert=false}</p>
|
||||
<p><strong>{l s='Payment'}</strong> {$order.payment|escape:'htmlall':'UTF-8'}</p>
|
||||
<p><strong>{l s='Status'}</strong> {if isset($order.order_state)}{$order.order_state|escape:'htmlall':'UTF-8'}{/if}</p>
|
||||
<span class="ui-li-aside">{dateFormat date=$order.date_add full=0}</span>
|
||||
</a>
|
||||
{if (isset($order.invoice) && $order.invoice && isset($order.invoice_number) && $order.invoice_number) && isset($invoiceAllowed) && $invoiceAllowed == true}
|
||||
<a rel="external" data-iconshadow="false" href="{$link->getPageLink('pdf-invoice', true, NULL, "id_order={$order.id_order}")}" title="{l s='Invoice'}">
|
||||
{l s='PDF'}
|
||||
</a>
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{else}
|
||||
<p class="warning">{l s='You have not placed any orders.'}</p>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
</div><!-- /content -->
|
||||
110
themes/default/mobile/identity.tpl
Normal file
@@ -0,0 +1,110 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6599 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Your personal information'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a>
|
||||
|
||||
{include file="./errors.tpl"}
|
||||
|
||||
{if isset($confirmation) && $confirmation}
|
||||
<p class="success">
|
||||
{l s='Your personal information has been successfully updated.'}
|
||||
{if isset($pwd_changed)}<br />{l s='Your password has been sent to your e-mail:'} {$email|escape:'htmlall':'UTF-8'}{/if}
|
||||
</p>
|
||||
{else}
|
||||
<h3>{l s='Please do not hesitate to update your personal information if it has changed.'}</h3>
|
||||
<p class="required bold"><sup>*</sup>{l s='Required field'}</p>
|
||||
<form action="{$link->getPageLink('identity', true)}" method="post" class="std">
|
||||
<label>{l s='Title'}</label>
|
||||
<fieldset data-role="controlgroup">
|
||||
{foreach from=$genders key=k item=gender}
|
||||
<input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} />
|
||||
<label for="id_gender{$gender->id}" class="top">{$gender->name}</label>
|
||||
{/foreach}
|
||||
</fieldset>
|
||||
<fieldset class="required text">
|
||||
<label for="firstname">{l s='First name'} <sup>*</sup></label>
|
||||
<input type="text" id="firstname" name="firstname" value="{$smarty.post.firstname}" />
|
||||
</fieldset>
|
||||
<fieldset class="required text">
|
||||
<label for="lastname">{l s='Last name'} <sup>*</sup></label>
|
||||
<input type="text" name="lastname" id="lastname" value="{$smarty.post.lastname}" />
|
||||
</fieldset>
|
||||
<fieldset class="required text">
|
||||
<label for="email">{l s='E-mail'} <sup>*</sup></label>
|
||||
<input type="text" name="email" id="email" value="{$smarty.post.email}" />
|
||||
</fieldset>
|
||||
<fieldset class="required text">
|
||||
<label for="old_passwd">{l s='Current Password'} <sup>*</sup></label>
|
||||
<input type="password" name="old_passwd" id="old_passwd" />
|
||||
</fieldset>
|
||||
<fieldset class="password">
|
||||
<label for="passwd">{l s='New Password'}</label>
|
||||
<input type="password" name="passwd" id="passwd" />
|
||||
</fieldset>
|
||||
<fieldset class="password">
|
||||
<label for="confirmation">{l s='Confirmation'}</label>
|
||||
<input type="password" name="confirmation" id="confirmation" />
|
||||
</fieldset>
|
||||
<label>{l s='Date of Birth'}</label>
|
||||
<fieldset data-type="horizontal" data-role="controlgroup">
|
||||
<select name="days" id="days">
|
||||
<option value="">-</option>
|
||||
{foreach from=$days item=v}
|
||||
<option value="{$v|escape:'htmlall':'UTF-8'}" {if ($sl_day == $v)}selected="selected"{/if}>{$v|escape:'htmlall':'UTF-8'} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
<select id="months" name="months">
|
||||
<option value="">-</option>
|
||||
{foreach from=$months key=k item=v}
|
||||
<option value="{$k|escape:'htmlall':'UTF-8'}" {if ($sl_month == $k)}selected="selected"{/if}>{l s=$v} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
<select id="years" name="years">
|
||||
<option value="">-</option>
|
||||
{foreach from=$years item=v}
|
||||
<option value="{$v|escape:'htmlall':'UTF-8'}" {if ($sl_year == $v)}selected="selected"{/if}>{$v|escape:'htmlall':'UTF-8'} </option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</fieldset>
|
||||
{if $newsletter}
|
||||
<fieldset data-role="controlgroup">
|
||||
<input type="checkbox" id="newsletter" name="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == 1} checked="checked"{/if} />
|
||||
<label for="newsletter">{l s='Sign up for our newsletter'}</label>
|
||||
<input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == 1} checked="checked"{/if} />
|
||||
<label for="optin">{l s='Receive special offers from our partners'}</label>
|
||||
</fieldset>
|
||||
{/if}
|
||||
<input type="submit" data-theme="a" class="button" name="submitIdentity" value="{l s='Save'}" />
|
||||
<p id="security_informations">
|
||||
{l s='[Insert customer data privacy clause or law here, if applicable]'}
|
||||
</p>
|
||||
</form>
|
||||
{/if}
|
||||
</div><!-- /content -->
|
||||
BIN
themes/default/mobile/img/ajax-loader.gif
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
themes/default/mobile/img/ajax-loader.png
Normal file
|
After Width: | Height: | Size: 340 B |
BIN
themes/default/mobile/img/bg_maintenance.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
themes/default/mobile/img/icon/addrbook.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/favorite.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/gift.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/home.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/my-account.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/order.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/return.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
themes/default/mobile/img/icon/slip.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/userinfos.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
themes/default/mobile/img/icon/voucher.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
themes/default/mobile/img/icons-18-black.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
themes/default/mobile/img/icons-18-white.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
themes/default/mobile/img/icons-36-black.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
themes/default/mobile/img/icons-36-white.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
themes/default/mobile/img/img_cart.png
Normal file
|
After Width: | Height: | Size: 863 B |
BIN
themes/default/mobile/img/logo.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
themes/default/mobile/img/slider_home.png
Normal file
|
After Width: | Height: | Size: 92 KiB |
29
themes/default/mobile/index.tpl
Normal file
@@ -0,0 +1,29 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<div data-role="content" id="content">
|
||||
{hook h="DisplayMobileIndex"}
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- /content -->
|
||||
110
themes/default/mobile/js/cart.js
Normal file
@@ -0,0 +1,110 @@
|
||||
$( '.prestashop-page' ).live( 'pageshow',function(event)
|
||||
{
|
||||
var quantity = new Array();
|
||||
|
||||
$("[name='cart_product_id[]']").each(function(i){
|
||||
quantity[$(this).val()] = parseInt($('[name="product_cart_quantity_'+$(this).val()+'"]').val());
|
||||
});
|
||||
|
||||
$(".display_block_card_product").children().each(function(i){
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
$(".grouped_buttons_card").children().each(function(i){
|
||||
$(this).click(function(){
|
||||
$(".display_block_card_product").children().each(function(i){
|
||||
$(this).hide();
|
||||
});
|
||||
$("#"+$(this).attr('id')+"sheet").show();
|
||||
});
|
||||
});
|
||||
|
||||
$('[name*="product_cart_quantity_"]').change(function()
|
||||
{
|
||||
ids = $(this).attr("name").split('_');
|
||||
id = ids[3];
|
||||
val = parseInt($(this).val());
|
||||
|
||||
if (quantity[id] < val)
|
||||
{
|
||||
CartUpd.ajaxUpdQty(id, val - quantity[id], 1);
|
||||
quantity[id] = val;
|
||||
}
|
||||
else if (quantity[id] > val)
|
||||
{
|
||||
CartUpd.ajaxUpdQty(id, quantity[id] - val, 0);
|
||||
quantity[id] = val;
|
||||
}
|
||||
});
|
||||
|
||||
$('[id*="delete_cart_"]').click(function()
|
||||
{
|
||||
ids = $(this).attr("id").split('_');
|
||||
CartUpd.deleteProductFromSummary(ids[2]);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
var CartUpd = (function()
|
||||
{
|
||||
return {
|
||||
ajaxUpdQty : function(id, qty, op)
|
||||
{
|
||||
productAttributeId = $("#cart_product_attribute_id_"+id).val();
|
||||
id_address_delivery = $("#cart_product_address_delivery_id_"+id).val();
|
||||
customizationId = 0;
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: baseDir,
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
data: 'controller=cart&ajax=true&add&getproductprice&summary&id_product='+id+'&ipa='+productAttributeId+'&id_address_delivery='+id_address_delivery+ ( op == 0 ? '&op=down' : '' ) + ( (customizationId != 0) ? '&id_customization='+customizationId : '') + '&qty='+qty+'&token=' + static_token ,
|
||||
success: function(jsonData)
|
||||
{
|
||||
if (!jsonData.hasError)
|
||||
CartUpd.updData(jsonData);
|
||||
}
|
||||
});
|
||||
},
|
||||
deleteProductFromSummary : function(id)
|
||||
{
|
||||
productAttributeId = $("#cart_product_attribute_id_"+id).val();
|
||||
id_address_delivery = $("#cart_product_address_delivery_id_"+id).val();
|
||||
customizationId = 0;
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: baseDir,
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
data: 'controller=cart&ajax=true&delete&summary&id_product='+id+'&ipa='+productAttributeId+'&id_address_delivery='+id_address_delivery+ ( (customizationId != 0) ? '&id_customization='+customizationId : '') + '&token=' + static_token ,
|
||||
success: function(jsonData)
|
||||
{
|
||||
if (!jsonData.hasError)
|
||||
{
|
||||
if (jsonData.refresh)
|
||||
location.reload();
|
||||
$("#cart_total_products").html(jsonData.summary.total_products_wt);
|
||||
$("#cart_total_price").html(jsonData.summary.total_price);
|
||||
$("#element_product_"+id).fadeOut();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
updData : function(data)
|
||||
{
|
||||
var products = data.summary.products;
|
||||
|
||||
$(products).each(function(i){
|
||||
price = this.price_wt * this.quantity;
|
||||
$("#grouped_buttons_card_"+this.id_product+"_totsheet").html((price).toFixed(2));
|
||||
});
|
||||
|
||||
$("#cart_total_products").html(data.summary.total_products_wt);
|
||||
$("#cart_total_price").html(data.summary.total_price);
|
||||
}
|
||||
}
|
||||
})();
|
||||
42
themes/default/mobile/js/global.js
Normal file
@@ -0,0 +1,42 @@
|
||||
// Allows to set the same height on ui-block element
|
||||
// for #category-list items.
|
||||
$( '.prestashop-page' ).live( 'pageshow',function(event)
|
||||
{
|
||||
if ($('.ui-grid-a.same-height').length)
|
||||
{
|
||||
$('.ui-grid-a.same-height .ui-block-a').each(function()
|
||||
{
|
||||
if ($(this).height() != $(this).next('.ui-block-b').height())
|
||||
{
|
||||
var height1 = $(this).height();
|
||||
var height2 = $(this).next('.ui-block-b').height();
|
||||
if (height1 < height2) {
|
||||
$(this).height(height2).find('.ui-btn-inner.ui-li').height(height2);
|
||||
if ($(this).find('.ui-bar').length) {
|
||||
var less_h = [
|
||||
parseInt($(this).find('.ui-bar').css('padding-top')),
|
||||
parseInt($(this).find('.ui-bar').css('padding-bottom')),
|
||||
parseInt($(this).find('.ui-bar').css('border-top-width')),
|
||||
parseInt($(this).find('.ui-bar').css('border-bottom-width'))
|
||||
];
|
||||
$(this).find('.ui-bar').height(height2-less_h[0]-less_h[1]-less_h[2]-less_h[3]);
|
||||
}
|
||||
} else {
|
||||
$(this).next('.ui-block-b').height(height1).find('.ui-btn-inner.ui-li').height(height1);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$( '.prestashop-page' ).live( 'pageinit',function(event)
|
||||
{
|
||||
if ($('.wrapper_pagination_mobile').length)
|
||||
{
|
||||
$('.wrapper_pagination_mobile').find('.disabled').live('click', function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
});
|
||||
124
themes/default/mobile/js/history.js
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
//show the order-details with ajax
|
||||
function showOrder(mode, var_content, file)
|
||||
{
|
||||
/*$.get(
|
||||
file,
|
||||
((mode == 1) ? {'id_order': var_content, 'ajax': true} : {'id_order_return': var_content, 'ajax': true}),
|
||||
function(data)
|
||||
{
|
||||
$('#block-order-detail').fadeOut('slow', function()
|
||||
{
|
||||
$(this).html(data);
|
||||
// if return is allowed
|
||||
if ($('div#order-detail-content table td.order_cb').length > 0)
|
||||
{
|
||||
//return slip : check or uncheck every checkboxes
|
||||
$('form div#order-detail-content th input[type=checkbox]').click(function()
|
||||
{
|
||||
$('form div#order-detail-content td input[type=checkbox]').each(function()
|
||||
{
|
||||
this.checked = $('form div#order-detail-content th input[type=checkbox]').is(':checked');
|
||||
updateOrderLineDisplay(this);
|
||||
});
|
||||
});
|
||||
//return slip : enable or disable 'global' quantity editing
|
||||
$('form div#order-detail-content td input[type=checkbox]').click(function()
|
||||
{
|
||||
updateOrderLineDisplay(this);
|
||||
});
|
||||
//return slip : limit quantities
|
||||
$('form div#order-detail-content td input.order_qte_input').keyup(function()
|
||||
{
|
||||
var maxQuantity = parseInt($(this).parent().find('span.order_qte_span').text());
|
||||
var quantity = parseInt($(this).val());
|
||||
if (isNaN($(this).val()) && $(this).val() != '')
|
||||
{
|
||||
$(this).val(maxQuantity);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (quantity > maxQuantity)
|
||||
$(this).val(maxQuantity);
|
||||
else if (quantity < 1)
|
||||
$(this).val(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
//catch the submit event of sendOrderMessage form
|
||||
$('form#sendOrderMessage').submit(function(){
|
||||
return sendOrderMessage();
|
||||
});
|
||||
$(this).fadeIn('slow');
|
||||
$('html, body').animate({scrollTop: $(this).offset().top},'slow');
|
||||
// $.scrollTo(this, 1200);
|
||||
});
|
||||
});*/
|
||||
}
|
||||
|
||||
function updateOrderLineDisplay(domCheckbox)
|
||||
{
|
||||
var lineQuantitySpan = $(domCheckbox).parent().parent().find('span.order_qte_span');
|
||||
var lineQuantityInput = $(domCheckbox).parent().parent().find('input.order_qte_input');
|
||||
if($(domCheckbox).is(':checked'))
|
||||
{
|
||||
lineQuantitySpan.hide();
|
||||
lineQuantityInput.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
lineQuantityInput.hide();
|
||||
lineQuantityInput.val(lineQuantitySpan.text());
|
||||
lineQuantitySpan.show();
|
||||
}
|
||||
}
|
||||
|
||||
//send a message in relation to the order with ajax
|
||||
function sendOrderMessage ()
|
||||
{
|
||||
paramString = "ajax=true";
|
||||
$('form#sendOrderMessage').find('input, textarea').each(function(){
|
||||
paramString += '&' + $(this).attr('name') + '=' + encodeURI($(this).val());
|
||||
});
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: baseDir + "index.php?controller=order-detail",
|
||||
data: paramString,
|
||||
success: function (msg){
|
||||
$('#block-order-detail').fadeOut('slow', function() {
|
||||
$(this).html(msg);
|
||||
//catch the submit event of sendOrderMessage form
|
||||
$('form#sendOrderMessage').submit(function(){
|
||||
return sendOrderMessage();
|
||||
});
|
||||
$(this).fadeIn('slow');
|
||||
});
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
53
themes/default/mobile/js/jqm-docs.js
Normal file
@@ -0,0 +1,53 @@
|
||||
//set up the theme switcher on the homepage
|
||||
$('div').live('pagecreate',function(event)
|
||||
{
|
||||
if ( !$(this).is('.ui-dialog'))
|
||||
{
|
||||
var appendEl = $(this).find('.ui-footer:last');
|
||||
if ( !appendEl.length ) {
|
||||
appendEl = $(this).find('.ui-content');
|
||||
}
|
||||
if( appendEl.is("[data-position]") ) {
|
||||
return;
|
||||
}
|
||||
/*$('<a href="#themeswitcher" data-'+ $.mobile.ns +'rel="dialog" data-'+ $.mobile.ns +'transition="pop">Switch theme</a>')
|
||||
.buttonMarkup({
|
||||
'icon':'gear',
|
||||
'inline': true,
|
||||
'shadow': false,
|
||||
'theme': 'd'
|
||||
})
|
||||
.appendTo( appendEl )
|
||||
.wrap('<div class="jqm-themeswitcher">')
|
||||
.bind( "vclick", function(){
|
||||
$.themeswitcher();
|
||||
});*/
|
||||
}
|
||||
});
|
||||
|
||||
//collapse page navs after use
|
||||
$(function()
|
||||
{
|
||||
$('body').delegate('.content-secondary .ui-collapsible-content', 'click', function() {
|
||||
$(this).trigger("collapse")
|
||||
});
|
||||
});
|
||||
|
||||
function setDefaultTransition()
|
||||
{
|
||||
var winwidth = $( window ).width(),
|
||||
trans ="slide";
|
||||
if( winwidth >= 1000 ){
|
||||
trans = "none";
|
||||
}
|
||||
else if( winwidth >= 650 ){
|
||||
trans = "fade";
|
||||
}
|
||||
$.mobile.defaultPageTransition = trans;
|
||||
}
|
||||
|
||||
$(function()
|
||||
{
|
||||
setDefaultTransition();
|
||||
$( window ).bind( "throttledresize", setDefaultTransition );
|
||||
});
|
||||
181
themes/default/mobile/js/jquery.mobile-1.1.1.min.js
vendored
Normal file
@@ -0,0 +1,181 @@
|
||||
/*! jQuery Mobile v1.1.1 1981b3f5ec22675ae47df8f0bdf9622e7780e90e jquerymobile.com | jquery.org/license */
|
||||
(function(l,t,k){typeof define==="function"&&define.amd?define(["jquery"],function(E){k(E,l,t);return E.mobile}):k(l.jQuery,l,t)})(this,document,function(l,t,k,E){(function(a,c,b,d){function e(a){for(;a&&typeof a.originalEvent!=="undefined";)a=a.originalEvent;return a}function g(b){for(var e={},g,d;b;){g=a.data(b,s);for(d in g)if(g[d])e[d]=e.hasVirtualBinding=true;b=b.parentNode}return e}function f(){y&&(clearTimeout(y),y=0);y=setTimeout(function(){G=y=0;A.length=0;F=false;H=true},a.vmouse.resetTimerDuration)}
|
||||
function j(b,g,c){var f,h;if(!(h=c&&c[b])){if(c=!c)a:{for(c=g.target;c;){if((h=a.data(c,s))&&(!b||h[b]))break a;c=c.parentNode}c=null}h=c}if(h){f=g;var c=f.type,j,F;f=a.Event(f);f.type=b;h=f.originalEvent;j=a.event.props;c.search(/^(mouse|click)/)>-1&&(j=w);if(h)for(F=j.length;F;)b=j[--F],f[b]=h[b];if(c.search(/mouse(down|up)|click/)>-1&&!f.which)f.which=1;if(c.search(/^touch/)!==-1&&(b=e(h),c=b.touches,b=b.changedTouches,c=c&&c.length?c[0]:b&&b.length?b[0]:d))for(h=0,len=x.length;h<len;h++)b=x[h],
|
||||
f[b]=c[b];a(g.target).trigger(f)}return f}function h(b){var e=a.data(b.target,u);if(!F&&(!G||G!==e))if(e=j("v"+b.type,b))e.isDefaultPrevented()&&b.preventDefault(),e.isPropagationStopped()&&b.stopPropagation(),e.isImmediatePropagationStopped()&&b.stopImmediatePropagation()}function q(b){var c=e(b).touches,d;if(c&&c.length===1&&(d=b.target,c=g(d),c.hasVirtualBinding))G=N++,a.data(d,u,G),y&&(clearTimeout(y),y=0),z=H=false,d=e(b).touches[0],t=d.pageX,C=d.pageY,j("vmouseover",b,c),j("vmousedown",b,c)}
|
||||
function o(a){H||(z||j("vmousecancel",a,g(a.target)),z=true,f())}function m(b){if(!H){var c=e(b).touches[0],d=z,h=a.vmouse.moveDistanceThreshold;z=z||Math.abs(c.pageX-t)>h||Math.abs(c.pageY-C)>h;flags=g(b.target);z&&!d&&j("vmousecancel",b,flags);j("vmousemove",b,flags);f()}}function v(a){if(!H){H=true;var b=g(a.target),c;j("vmouseup",a,b);if(!z&&(c=j("vclick",a,b))&&c.isDefaultPrevented())c=e(a).changedTouches[0],A.push({touchID:G,x:c.clientX,y:c.clientY}),F=true;j("vmouseout",a,b);z=false;f()}}function n(b){var b=
|
||||
a.data(b,s),e;if(b)for(e in b)if(b[e])return true;return false}function k(){}function p(b){var e=b.substr(1);return{setup:function(){n(this)||a.data(this,s,{});a.data(this,s)[b]=true;l[b]=(l[b]||0)+1;l[b]===1&&J.bind(e,h);a(this).bind(e,k);if(M)l.touchstart=(l.touchstart||0)+1,l.touchstart===1&&J.bind("touchstart",q).bind("touchend",v).bind("touchmove",m).bind("scroll",o)},teardown:function(){--l[b];l[b]||J.unbind(e,h);M&&(--l.touchstart,l.touchstart||J.unbind("touchstart",q).unbind("touchmove",m).unbind("touchend",
|
||||
v).unbind("scroll",o));var g=a(this),c=a.data(this,s);c&&(c[b]=false);g.unbind(e,k);n(this)||g.removeData(s)}}}var s="virtualMouseBindings",u="virtualTouchID",c="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),x="clientX clientY pageX pageY screenX screenY".split(" "),w=a.event.props.concat(a.event.mouseHooks?a.event.mouseHooks.props:[]),l={},y=0,t=0,C=0,z=false,A=[],F=false,H=false,M="addEventListener"in b,J=a(b),N=1,G=0;a.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,
|
||||
resetTimerDuration:1500};for(var K=0;K<c.length;K++)a.event.special[c[K]]=p(c[K]);M&&b.addEventListener("click",function(b){var e=A.length,g=b.target,c,d,f,h,j;if(e){c=b.clientX;d=b.clientY;threshold=a.vmouse.clickDistanceThreshold;for(f=g;f;){for(h=0;h<e;h++)if(j=A[h],f===g&&Math.abs(j.x-c)<threshold&&Math.abs(j.y-d)<threshold||a.data(f,u)===j.touchID){b.preventDefault();b.stopPropagation();return}f=f.parentNode}}},true)})(l,t,k);(function(a,c,b){function d(a){a=a||location.href;return"#"+a.replace(/^[^#]*#?(.*)$/,
|
||||
"$1")}var e="hashchange",g=k,f,j=a.event.special,h=g.documentMode,q="on"+e in c&&(h===b||h>7);a.fn[e]=function(a){return a?this.bind(e,a):this.trigger(e)};a.fn[e].delay=50;j[e]=a.extend(j[e],{setup:function(){if(q)return false;a(f.start)},teardown:function(){if(q)return false;a(f.stop)}});f=function(){function f(){var b=d(),g=s(n);if(b!==n)p(n=b,g),a(c).trigger(e);else if(g!==n)location.href=location.href.replace(/#.*/,"")+g;j=setTimeout(f,a.fn[e].delay)}var h={},j,n=d(),k=function(a){return a},p=
|
||||
k,s=k;h.start=function(){j||f()};h.stop=function(){j&&clearTimeout(j);j=b};a.browser.msie&&!q&&function(){var b,c;h.start=function(){if(!b)c=(c=a.fn[e].src)&&c+d(),b=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){c||p(d());f()}).attr("src",c||"javascript:0").insertAfter("body")[0].contentWindow,g.onpropertychange=function(){try{if(event.propertyName==="title")b.document.title=g.title}catch(a){}}};h.stop=k;s=function(){return d(b.location.href)};p=function(c,d){var f=b.document,
|
||||
h=a.fn[e].domain;if(c!==d)f.title=g.title,f.open(),h&&f.write('<script>document.domain="'+h+'"<\/script>'),f.close(),b.location.hash=c}}();return h}()})(l,this);(function(a,c){if(a.cleanData){var b=a.cleanData;a.cleanData=function(e){for(var c=0,f;(f=e[c])!=null;c++)a(f).triggerHandler("remove");b(e)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){a(this).triggerHandler("remove")});return d.call(a(this),
|
||||
b,c)})}}a.widget=function(b,c,f){var d=b.split(".")[0],h,b=b.split(".")[1];h=d+"-"+b;if(!f)f=c,c=a.Widget;a.expr[":"][h]=function(c){return!!a.data(c,b)};a[d]=a[d]||{};a[d][b]=function(a,b){arguments.length&&this._createWidget(a,b)};c=new c;c.options=a.extend(true,{},c.options);a[d][b].prototype=a.extend(true,c,{namespace:d,widgetName:b,widgetEventPrefix:a[d][b].prototype.widgetEventPrefix||b,widgetBaseClass:h},f);a.widget.bridge(b,a[d][b])};a.widget.bridge=function(b,g){a.fn[b]=function(d){var j=
|
||||
typeof d==="string",h=Array.prototype.slice.call(arguments,1),q=this,d=!j&&h.length?a.extend.apply(null,[true,d].concat(h)):d;if(j&&d.charAt(0)==="_")return q;j?this.each(function(){var g=a.data(this,b);if(!g)throw"cannot call methods on "+b+" prior to initialization; attempted to call method '"+d+"'";if(!a.isFunction(g[d]))throw"no such method '"+d+"' for "+b+" widget instance";var j=g[d].apply(g,h);if(j!==g&&j!==c)return q=j,false}):this.each(function(){var c=a.data(this,b);c?c.option(d||{})._init():
|
||||
a.data(this,b,new g(d,this))});return q}};a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)};a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(b,c){a.data(c,this.widgetName,this);this.element=a(c);this.options=a.extend(true,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){var b=
|
||||
{};a.metadata&&(b=a.metadata.get(element)[this.widgetName]);return b},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(b,d){var f=b;if(arguments.length===0)return a.extend({},this.options);if(typeof b==="string"){if(d===c)return this.options[b];
|
||||
f={};f[b]=d}this._setOptions(f);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b;a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(b,c,d){var j=this.options[b],c=a.Event(c);
|
||||
c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase();d=d||{};if(c.originalEvent)for(var b=a.event.props.length,h;b;)h=a.event.props[--b],c[h]=c.originalEvent[h];this.element.trigger(c,d);return!(a.isFunction(j)&&j.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(l);(function(a,c){a.widget("mobile.widget",{_createWidget:function(){a.Widget.prototype._createWidget.apply(this,arguments);this._trigger("init")},_getCreateOptions:function(){var b=this.element,d={};
|
||||
a.each(this.options,function(a){var g=b.jqmData(a.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()}));g!==c&&(d[a]=g)});return d},enhanceWithin:function(b,c){this.enhance(a(this.options.initSelector,a(b)),c)},enhance:function(b,c){var e,g=a(b),g=a.mobile.enhanceable(g);c&&g.length&&(e=(e=a.mobile.closestPageData(g))&&e.keepNativeSelector()||"",g=g.not(e));g[this.widgetName]()},raise:function(a){throw"Widget ["+this.widgetName+"]: "+a;}})})(l);(function(a,c){var b={};a.mobile=a.extend({},{version:"1.1.1",
|
||||
ns:"",subPageUrlKey:"ui-page",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",focusClass:"ui-focus",ajaxEnabled:true,hashListeningEnabled:true,linkBindingEnabled:true,defaultPageTransition:"fade",maxTransitionWidth:false,minScrollBack:250,touchOverflowEnabled:false,defaultDialogTransition:"pop",loadingMessage:"loading",pageLoadErrorMessage:"Error Loading Page",loadingMessageTextVisible:false,loadingMessageTheme:"a",pageLoadErrorMessageTheme:"e",autoInitializePage:true,pushStateEnabled:true,
|
||||
ignoreContentEnabled:false,orientationChangeEnabled:true,buttonMarkup:{hoverDelay:200},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},silentScroll:function(b){if(a.type(b)!==
|
||||
"number")b=a.mobile.defaultHomeScroll;a.event.special.scrollstart.enabled=false;setTimeout(function(){c.scrollTo(0,b);a(k).trigger("silentscroll",{x:0,y:b})},20);setTimeout(function(){a.event.special.scrollstart.enabled=true},150)},nsNormalizeDict:b,nsNormalize:function(c){return!c?void 0:b[c]||(b[c]=a.camelCase(a.mobile.ns+c))},getInheritedTheme:function(a,b){for(var c=a[0],d="",e=/ui-(bar|body|overlay)-([a-z])\b/,o,m;c;){if((o=c.className||"")&&(m=e.exec(o))&&(d=m[2]))break;c=c.parentNode}return d||
|
||||
b||"a"},closestPageData:function(a){return a.closest(':jqmData(role="page"), :jqmData(role="dialog")').data("page")},enhanceable:function(a){return this.haveParents(a,"enhance")},hijackable:function(a){return this.haveParents(a,"ajax")},haveParents:function(b,c){if(!a.mobile.ignoreContentEnabled)return b;for(var d=b.length,e=a(),q,o,m,v=0;v<d;v++){o=b.eq(v);m=false;for(q=b[v];q;){if((q.getAttribute?q.getAttribute("data-"+a.mobile.ns+c):"")==="false"){m=true;break}q=q.parentNode}m||(e=e.add(o))}return e},
|
||||
getScreenHeight:function(){return c.innerHeight||a(c).height()}},a.mobile);a.fn.jqmData=function(b,c){var d;typeof b!="undefined"&&(b&&(b=a.mobile.nsNormalize(b)),d=this.data.apply(this,arguments.length<2?[b]:[b,c]));return d};a.jqmData=function(b,c,d){var e;typeof c!="undefined"&&(e=a.data(b,c?a.mobile.nsNormalize(c):c,d));return e};a.fn.jqmRemoveData=function(b){return this.removeData(a.mobile.nsNormalize(b))};a.jqmRemoveData=function(b,c){return a.removeData(b,a.mobile.nsNormalize(c))};a.fn.removeWithDependents=
|
||||
function(){a.removeWithDependents(this)};a.removeWithDependents=function(b){b=a(b);(b.jqmData("dependents")||a()).remove();b.remove()};a.fn.addDependents=function(b){a.addDependents(a(this),b)};a.addDependents=function(b,c){var d=a(b).jqmData("dependents")||a();a(b).jqmData("dependents",a.merge(d,c))};a.fn.getEncodedText=function(){return a("<div/>").text(a(this).text()).html()};a.fn.jqmEnhanceable=function(){return a.mobile.enhanceable(this)};a.fn.jqmHijackable=function(){return a.mobile.hijackable(this)};
|
||||
var d=a.find,e=/:jqmData\(([^)]*)\)/g;a.find=function(b,c,j,h){b=b.replace(e,"[data-"+(a.mobile.ns||"")+"$1]");return d.call(this,b,c,j,h)};a.extend(a.find,d);a.find.matches=function(b,c){return a.find(b,null,null,c)};a.find.matchesSelector=function(b,c){return a.find(c,null,null,[b]).length>0}})(l,this);(function(a){a(t);var c=a("html");a.mobile.media=function(){var b={},d=a("<div id='jquery-mediatest'></div>"),e=a("<body>").append(d);return function(a){if(!(a in b)){var f=k.createElement("style"),
|
||||
j="@media "+a+" { #jquery-mediatest { position:absolute; } }";f.type="text/css";f.styleSheet?f.styleSheet.cssText=j:f.appendChild(k.createTextNode(j));c.prepend(e).prepend(f);b[a]=d.css("position")==="absolute";e.add(f).remove()}return b[a]}}()})(l);(function(a,c){function b(a){var b=a.charAt(0).toUpperCase()+a.substr(1),a=(a+" "+f.join(b+" ")+b).split(" "),d;for(d in a)if(g[a[d]]!==c)return true}function d(a,b,c){var d=k.createElement("div"),c=c?[c]:f,e;for(i=0;i<c.length;i++){var h=c[i],j="-"+h.charAt(0).toLowerCase()+
|
||||
h.substr(1)+"-"+a+": "+b+";",h=h.charAt(0).toUpperCase()+h.substr(1)+(a.charAt(0).toUpperCase()+a.substr(1));d.setAttribute("style",j);d.style[h]&&(e=true)}return!!e}var e=a("<body>").prependTo("html"),g=e[0].style,f=["Webkit","Moz","O"],j="palmGetResource"in t,h=t.opera,q=t.operamini&&{}.toString.call(t.operamini)==="[object OperaMini]",o=t.blackberry;a.extend(a.mobile,{browser:{}});a.mobile.browser.ie=function(){for(var a=3,b=k.createElement("div"),c=b.all||[];b.innerHTML="<\!--[if gt IE "+ ++a+
|
||||
"]><br><![endif]--\>",c[0];);return a>4?a:!a}();a.extend(a.support,{orientation:"orientation"in t&&"onorientationchange"in t,touch:"ontouchend"in k,cssTransitions:"WebKitTransitionEvent"in t||d("transition","height 100ms linear")&&!h,pushState:"pushState"in history&&"replaceState"in history,mediaquery:a.mobile.media("only all"),cssPseudoElement:!!b("content"),touchOverflow:!!b("overflowScrolling"),cssTransform3d:d("perspective","10px","moz")||a.mobile.media("(-"+f.join("-transform-3d),(-")+"-transform-3d),(transform-3d)"),
|
||||
boxShadow:!!b("boxShadow")&&!o,scrollTop:("pageXOffset"in t||"scrollTop"in k.documentElement||"scrollTop"in e[0])&&!j&&!q,dynamicBaseTag:function(){var b=location.protocol+"//"+location.host+location.pathname+"ui-dir/",c=a("head base"),d=null,h="",f;c.length?h=c.attr("href"):c=d=a("<base>",{href:b}).appendTo("head");f=a("<a href='testurl' />").prependTo(e)[0].href;c[0].href=h||location.pathname;d&&d.remove();return f.indexOf(b)===0}(),cssPointerEvents:function(){var a=k.createElement("x"),b=k.documentElement,
|
||||
c=t.getComputedStyle;if(!("pointerEvents"in a.style))return false;a.style.pointerEvents="auto";a.style.pointerEvents="x";b.appendChild(a);c=c&&c(a,"").pointerEvents==="auto";b.removeChild(a);return!!c}()});e.remove();j=function(){var a=t.navigator.userAgent;return a.indexOf("Nokia")>-1&&(a.indexOf("Symbian/3")>-1||a.indexOf("Series60/5")>-1)&&a.indexOf("AppleWebKit")>-1&&a.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)}();a.mobile.gradeA=function(){return a.support.mediaquery||a.mobile.browser.ie&&a.mobile.browser.ie>=
|
||||
7};a.mobile.ajaxBlacklist=t.blackberry&&!t.WebKitPoint||q||j;j&&a(function(){a("head link[rel='stylesheet']").attr("rel","alternate stylesheet").attr("rel","stylesheet")});a.support.boxShadow||a("html").addClass("ui-mobile-nosupport-boxshadow")})(l);(function(a,c,b){function d(b,c,d){var e=d.type;d.type=c;a.event.handle.call(b,d);d.type=e}a.each("touchstart touchmove touchend orientationchange throttledresize tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(b,c){a.fn[c]=
|
||||
function(a){return a?this.bind(c,a):this.trigger(c)};a.attrFn[c]=true});var e=a.support.touch,g=e?"touchstart":"mousedown",f=e?"touchend":"mouseup",j=e?"touchmove":"mousemove";a.event.special.scrollstart={enabled:true,setup:function(){function b(a,h){e=h;d(c,e?"scrollstart":"scrollstop",a)}var c=this,e,f;a(c).bind("touchmove scroll",function(c){a.event.special.scrollstart.enabled&&(e||b(c,true),clearTimeout(f),f=setTimeout(function(){b(c,false)},50))})}};a.event.special.tap={setup:function(){var b=
|
||||
this,c=a(b);c.bind("vmousedown",function(e){function f(){clearTimeout(p)}function j(){f();c.unbind("vclick",g).unbind("vmouseup",f);a(k).unbind("vmousecancel",j)}function g(a){j();r==a.target&&d(b,"tap",a)}if(e.which&&e.which!==1)return false;var r=e.target,p;c.bind("vmouseup",f).bind("vclick",g);a(k).bind("vmousecancel",j);p=setTimeout(function(){d(b,"taphold",a.Event("taphold",{target:r}))},750)})}};a.event.special.swipe={scrollSupressionThreshold:10,durationThreshold:1E3,horizontalDistanceThreshold:30,
|
||||
verticalDistanceThreshold:75,setup:function(){var c=a(this);c.bind(g,function(d){function e(b){if(k){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;n={time:(new Date).getTime(),coords:[c.pageX,c.pageY]};Math.abs(k.coords[0]-n.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var g=d.originalEvent.touches?d.originalEvent.touches[0]:d,k={time:(new Date).getTime(),coords:[g.pageX,g.pageY],origin:a(d.target)},n;c.bind(j,e).one(f,function(){c.unbind(j,e);k&&n&&
|
||||
n.time-k.time<a.event.special.swipe.durationThreshold&&Math.abs(k.coords[0]-n.coords[0])>a.event.special.swipe.horizontalDistanceThreshold&&Math.abs(k.coords[1]-n.coords[1])<a.event.special.swipe.verticalDistanceThreshold&&k.origin.trigger("swipe").trigger(k.coords[0]>n.coords[0]?"swipeleft":"swiperight");k=n=b})})}};(function(a,b){function c(){var a=e();a!==f&&(f=a,d.trigger("orientationchange"))}var d=a(b),e,f,j,g,l={0:true,180:true};if(a.support.orientation&&(j=b.innerWidth||a(b).width(),g=b.innerHeight||
|
||||
a(b).height(),j=j>g&&j-g>50,g=l[b.orientation],j&&g||!j&&!g))l={"-90":true,90:true};a.event.special.orientationchange={setup:function(){if(a.support.orientation&&a.mobile.orientationChangeEnabled)return false;f=e();d.bind("throttledresize",c)},teardown:function(){if(a.support.orientation&&a.mobile.orientationChangeEnabled)return false;d.unbind("throttledresize",c)},add:function(a){var b=a.handler;a.handler=function(a){a.orientation=e();return b.apply(this,arguments)}}};a.event.special.orientationchange.orientation=
|
||||
e=function(){var c=true,c=k.documentElement;return(c=a.support.orientation?l[b.orientation]:c&&c.clientWidth/c.clientHeight<1.1)?"portrait":"landscape"}})(l,c);(function(){a.event.special.throttledresize={setup:function(){a(this).bind("resize",b)},teardown:function(){a(this).unbind("resize",b)}};var b=function(){e=(new Date).getTime();f=e-c;f>=250?(c=e,a(this).trigger("throttledresize")):(d&&clearTimeout(d),d=setTimeout(b,250-f))},c=0,d,e,f})();a.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",
|
||||
swiperight:"swipe"},function(b,c){a.event.special[b]={setup:function(){a(this).bind(c,a.noop)}}})})(l,this);(function(a){a.widget("mobile.page",a.mobile.widget,{options:{theme:"c",domCache:false,keepNativeDefault:":jqmData(role='none'), :jqmData(role='nojs')"},_create:function(){var a=this;if(a._trigger("beforecreate")===false)return false;a.element.attr("tabindex","0").addClass("ui-page ui-body-"+a.options.theme).bind("pagebeforehide",function(){a.removeContainerBackground()}).bind("pagebeforeshow",
|
||||
function(){a.setContainerBackground()})},removeContainerBackground:function(){a.mobile.pageContainer.removeClass("ui-overlay-"+a.mobile.getInheritedTheme(this.element.parent()))},setContainerBackground:function(c){this.options.theme&&a.mobile.pageContainer.addClass("ui-overlay-"+(c||this.options.theme))},keepNativeSelector:function(){var c=this.options;return c.keepNative&&a.trim(c.keepNative)&&c.keepNative!==c.keepNativeDefault?[c.keepNative,c.keepNativeDefault].join(", "):c.keepNativeDefault}})})(l);
|
||||
(function(a,c,b){var d=function(d){d===b&&(d=true);return function(b,e,h,q){var k=new a.Deferred,m=e?" reverse":"",l=a.mobile.urlHistory.getActive().lastScroll||a.mobile.defaultHomeScroll,n=a.mobile.getScreenHeight(),r=a.mobile.maxTransitionWidth!==false&&a(c).width()>a.mobile.maxTransitionWidth,p=!a.support.cssTransitions||r||!b||b==="none"||Math.max(a(c).scrollTop(),l)>a.mobile.getMaxScrollForTransition(),s=function(){a.mobile.pageContainer.toggleClass("ui-mobile-viewport-transitioning viewport-"+
|
||||
b)},u=function(){a.event.special.scrollstart.enabled=false;c.scrollTo(0,l);setTimeout(function(){a.event.special.scrollstart.enabled=true},150)},x=function(){q.removeClass(a.mobile.activePageClass+" out in reverse "+b).height("")},r=function(){q&&d&&x();h.addClass(a.mobile.activePageClass);a.mobile.focusPage(h);h.height(n+l);u();p||h.animationComplete(w);h.addClass(b+" in"+m);p&&w()},w=function(){d||q&&x();h.removeClass("out in reverse "+b).height("");s();a(c).scrollTop()!==l&&u();k.resolve(b,e,h,
|
||||
q,true)};s();q&&!p?(d?q.animationComplete(r):r(),q.height(n+a(c).scrollTop()).addClass(b+" out"+m)):r();return k.promise()}},e=d(),d=d(false);a.mobile.defaultTransitionHandler=e;a.mobile.transitionHandlers={"default":a.mobile.defaultTransitionHandler,sequential:e,simultaneous:d};a.mobile.transitionFallbacks={};a.mobile.getMaxScrollForTransition=a.mobile.getMaxScrollForTransition||function(){return a.mobile.getScreenHeight()*3}})(l,this);(function(a,c){function b(b){l&&(!l.closest(".ui-page-active").length||
|
||||
b)&&l.removeClass(a.mobile.activeBtnClass);l=null}function d(){p=false;r.length>0&&a.mobile.changePage.apply(null,r.pop())}function e(b,c,d,e){c&&c.data("page")._trigger("beforehide",null,{nextPage:b});b.data("page")._trigger("beforeshow",null,{prevPage:c||a("")});a.mobile.hidePageLoadingMsg();d&&!a.support.cssTransform3d&&a.mobile.transitionFallbacks[d]&&(d=a.mobile.transitionFallbacks[d]);d=(a.mobile.transitionHandlers[d||"default"]||a.mobile.defaultTransitionHandler)(d,e,b,c);d.done(function(){c&&
|
||||
c.data("page")._trigger("hide",null,{nextPage:b});b.data("page")._trigger("show",null,{prevPage:c||a("")})});return d}function g(){var b=a("."+a.mobile.activePageClass),c=parseFloat(b.css("padding-top")),d=parseFloat(b.css("padding-bottom")),e=parseFloat(b.css("border-top-width")),f=parseFloat(b.css("border-bottom-width"));b.css("min-height",y()-c-d-e-f)}function f(b,c){c&&b.attr("data-"+a.mobile.ns+"role",c);b.page()}function j(a){for(;a;){if(typeof a.nodeName==="string"&&a.nodeName.toLowerCase()==
|
||||
"a")break;a=a.parentNode}return a}function h(b){var b=a(b).closest(".ui-page").jqmData("url"),c=w.hrefNoHash;if(!b||!m.isPath(b))b=c;return m.makeUrlAbsolute(b,c)}var q=a(t);a("html");var o=a("head"),m={urlParseRE:/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,parseUrl:function(b){if(a.type(b)==="object")return b;b=m.urlParseRE.exec(b||"")||[];return{href:b[0]||"",hrefNoHash:b[1]||
|
||||
"",hrefNoSearch:b[2]||"",domain:b[3]||"",protocol:b[4]||"",doubleSlash:b[5]||"",authority:b[6]||"",username:b[8]||"",password:b[9]||"",host:b[10]||"",hostname:b[11]||"",port:b[12]||"",pathname:b[13]||"",directory:b[14]||"",filename:b[15]||"",search:b[16]||"",hash:b[17]||""}},makePathAbsolute:function(a,b){if(a&&a.charAt(0)==="/")return a;for(var a=a||"",c=(b=b?b.replace(/^\/|(\/[^\/]*|[^\/]+)$/g,""):"")?b.split("/"):[],d=a.split("/"),e=0;e<d.length;e++){var f=d[e];switch(f){case ".":break;case "..":c.length&&
|
||||
c.pop();break;default:c.push(f)}}return"/"+c.join("/")},isSameDomain:function(a,b){return m.parseUrl(a).domain===m.parseUrl(b).domain},isRelativeUrl:function(a){return m.parseUrl(a).protocol===""},isAbsoluteUrl:function(a){return m.parseUrl(a).protocol!==""},makeUrlAbsolute:function(a,b){if(!m.isRelativeUrl(a))return a;var c=m.parseUrl(a),d=m.parseUrl(b),e=c.protocol||d.protocol,f=c.protocol?c.doubleSlash:c.doubleSlash||d.doubleSlash,h=c.authority||d.authority,j=c.pathname!=="",g=m.makePathAbsolute(c.pathname||
|
||||
d.filename,d.pathname);return e+f+h+g+(c.search||!j&&d.search||"")+c.hash},addSearchParams:function(b,c){var d=m.parseUrl(b),e=typeof c==="object"?a.param(c):c,f=d.search||"?";return d.hrefNoSearch+f+(f.charAt(f.length-1)!=="?"?"&":"")+e+(d.hash||"")},convertUrlToDataUrl:function(a){var b=m.parseUrl(a);if(m.isEmbeddedPage(b))return b.hash.split(s)[0].replace(/^#/,"");else if(m.isSameDomain(b,w))return b.hrefNoHash.replace(w.domain,"").split(s)[0];return a},get:function(a){if(a===c)a=location.hash;
|
||||
return m.stripHash(a).replace(/[^\/]*\.[^\/*]+$/,"")},getFilePath:function(b){var c="&"+a.mobile.subPageUrlKey;return b&&b.split(c)[0].split(s)[0]},set:function(a){location.hash=a},isPath:function(a){return/\//.test(a)},clean:function(a){return a.replace(w.domain,"")},stripHash:function(a){return a.replace(/^#/,"")},cleanHash:function(a){return m.stripHash(a.replace(/\?.*$/,"").replace(s,""))},isHashValid:function(a){return/^#[^#]+$/.test(a)},isExternal:function(a){a=m.parseUrl(a);return a.protocol&&
|
||||
a.domain!==x.domain?true:false},hasProtocol:function(a){return/^(:?\w+:)/.test(a)},isFirstPageUrl:function(b){var b=m.parseUrl(m.makeUrlAbsolute(b,w)),d=a.mobile.firstPage,d=d&&d[0]?d[0].id:c;return(b.hrefNoHash===x.hrefNoHash||D&&b.hrefNoHash===w.hrefNoHash)&&(!b.hash||b.hash==="#"||d&&b.hash.replace(/^#/,"")===d)},isEmbeddedPage:function(a){a=m.parseUrl(a);return a.protocol!==""?a.hash&&(a.hrefNoHash===x.hrefNoHash||D&&a.hrefNoHash===w.hrefNoHash):/^#/.test(a.href)},isPermittedCrossDomainRequest:function(b,
|
||||
c){return a.mobile.allowCrossDomainPages&&b.protocol==="file:"&&c.search(/^https?:/)!=-1}},l=null,n={stack:[],activeIndex:0,getActive:function(){return n.stack[n.activeIndex]},getPrev:function(){return n.stack[n.activeIndex-1]},getNext:function(){return n.stack[n.activeIndex+1]},addNew:function(a,b,c,d,e){n.getNext()&&n.clearForward();n.stack.push({url:a,transition:b,title:c,pageUrl:d,role:e});n.activeIndex=n.stack.length-1},clearForward:function(){n.stack=n.stack.slice(0,n.activeIndex+1)},directHashChange:function(b){var d,
|
||||
e,f;this.getActive();a.each(n.stack,function(a,c){b.currentUrl===c.url&&(d=a<n.activeIndex,e=!d,f=a)});this.activeIndex=f!==c?f:this.activeIndex;d?(b.either||b.isBack)(true):e&&(b.either||b.isForward)(false)},ignoreNextHashChange:false},r=[],p=false,s="&ui-state=dialog",u=o.children("base"),x=m.parseUrl(location.href),w=u.length?m.parseUrl(m.makeUrlAbsolute(u.attr("href"),x.href)):x,D=x.hrefNoHash!==w.hrefNoHash,y=a.mobile.getScreenHeight,B=a.support.dynamicBaseTag?{element:u.length?u:a("<base>",
|
||||
{href:w.hrefNoHash}).prependTo(o),set:function(a){B.element.attr("href",m.makeUrlAbsolute(a,w))},reset:function(){B.element.attr("href",w.hrefNoHash)}}:c;a.mobile.focusPage=function(a){var b=a.find("[autofocus]"),c=a.find(".ui-title:eq(0)");b.length?b.focus():c.length?c.focus():a.focus()};var C=true,z,A;z=function(){if(C){var b=a.mobile.urlHistory.getActive();if(b){var c=q.scrollTop();b.lastScroll=c<a.mobile.minScrollBack?a.mobile.defaultHomeScroll:c}}};A=function(){setTimeout(z,100)};q.bind(a.support.pushState?
|
||||
"popstate":"hashchange",function(){C=false});q.one(a.support.pushState?"popstate":"hashchange",function(){C=true});q.one("pagecontainercreate",function(){a.mobile.pageContainer.bind("pagechange",function(){C=true;q.unbind("scrollstop",A);q.bind("scrollstop",A)})});q.bind("scrollstop",A);a.fn.animationComplete=function(b){return a.support.cssTransitions?a(this).one("webkitAnimationEnd animationend",b):(setTimeout(b,0),a(this))};a.mobile.path=m;a.mobile.base=B;a.mobile.urlHistory=n;a.mobile.dialogHashKey=
|
||||
s;a.mobile.allowCrossDomainPages=false;a.mobile.getDocumentUrl=function(b){return b?a.extend({},x):x.href};a.mobile.getDocumentBase=function(b){return b?a.extend({},w):w.href};a.mobile._bindPageRemove=function(){var b=a(this);!b.data("page").options.domCache&&b.is(":jqmData(external-page='true')")&&b.bind("pagehide.remove",function(){var b=a(this),c=new a.Event("pageremove");b.trigger(c);c.isDefaultPrevented()||b.removeWithDependents()})};a.mobile.loadPage=function(b,d){var e=a.Deferred(),j=a.extend({},
|
||||
a.mobile.loadPage.defaults,d),g=null,q=null,k=m.makeUrlAbsolute(b,a.mobile.activePage&&h(a.mobile.activePage)||w.hrefNoHash);if(j.data&&j.type==="get")k=m.addSearchParams(k,j.data),j.data=c;if(j.data&&j.type==="post")j.reloadPage=true;var n=m.getFilePath(k),o=m.convertUrlToDataUrl(k);j.pageContainer=j.pageContainer||a.mobile.pageContainer;g=j.pageContainer.children(":jqmData(url='"+o+"')");g.length===0&&o&&!m.isPath(o)&&(g=j.pageContainer.children("#"+o).attr("data-"+a.mobile.ns+"url",o));if(g.length===
|
||||
0)if(a.mobile.firstPage&&m.isFirstPageUrl(n))a.mobile.firstPage.parent().length&&(g=a(a.mobile.firstPage));else if(m.isEmbeddedPage(n))return e.reject(k,d),e.promise();B&&B.reset();if(g.length){if(!j.reloadPage)return f(g,j.role),e.resolve(k,d,g),e.promise();q=g}var l=j.pageContainer,u=new a.Event("pagebeforeload"),p={url:b,absUrl:k,dataUrl:o,deferred:e,options:j};l.trigger(u,p);if(u.isDefaultPrevented())return e.promise();if(j.showLoadMsg)var r=setTimeout(function(){a.mobile.showPageLoadingMsg()},
|
||||
j.loadMsgDelay);!a.mobile.allowCrossDomainPages&&!m.isSameDomain(x,k)?e.reject(k,d):a.ajax({url:n,type:j.type,data:j.data,dataType:"html",success:function(c,h,x){var l=a("<div></div>"),u=c.match(/<title[^>]*>([^<]*)/)&&RegExp.$1,w=RegExp("\\bdata-"+a.mobile.ns+"url=[\"']?([^\"'>]*)[\"']?");RegExp("(<[^>]+\\bdata-"+a.mobile.ns+"role=[\"']?page[\"']?[^>]*>)").test(c)&&RegExp.$1&&w.test(RegExp.$1)&&RegExp.$1&&(b=n=m.getFilePath(RegExp.$1));B&&B.set(n);l.get(0).innerHTML=c;g=l.find(":jqmData(role='page'), :jqmData(role='dialog')").first();
|
||||
g.length||(g=a("<div data-"+a.mobile.ns+"role='page'>"+c.split(/<\/?body[^>]*>/gmi)[1]+"</div>"));u&&!g.jqmData("title")&&(~u.indexOf("&")&&(u=a("<div>"+u+"</div>").text()),g.jqmData("title",u));if(!a.support.dynamicBaseTag){var s=m.get(n);g.find("[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]").each(function(){var b=a(this).is("[href]")?"href":a(this).is("[src]")?"src":"action",c=a(this).attr(b),c=c.replace(location.protocol+"//"+location.host+location.pathname,"");/^(\w+:|#|\/)/.test(c)||
|
||||
a(this).attr(b,s+c)})}g.attr("data-"+a.mobile.ns+"url",m.convertUrlToDataUrl(n)).attr("data-"+a.mobile.ns+"external-page",true).appendTo(j.pageContainer);g.one("pagecreate",a.mobile._bindPageRemove);f(g,j.role);k.indexOf("&"+a.mobile.subPageUrlKey)>-1&&(g=j.pageContainer.children(":jqmData(url='"+o+"')"));j.showLoadMsg&&(clearTimeout(r),a.mobile.hidePageLoadingMsg());p.xhr=x;p.textStatus=h;p.page=g;j.pageContainer.trigger("pageload",p);e.resolve(k,d,g,q)},error:function(b,c,f){B&&B.set(m.get());p.xhr=
|
||||
b;p.textStatus=c;p.errorThrown=f;b=new a.Event("pageloadfailed");j.pageContainer.trigger(b,p);b.isDefaultPrevented()||(j.showLoadMsg&&(clearTimeout(r),a.mobile.hidePageLoadingMsg(),a.mobile.showPageLoadingMsg(a.mobile.pageLoadErrorMessageTheme,a.mobile.pageLoadErrorMessage,true),setTimeout(a.mobile.hidePageLoadingMsg,1500)),e.reject(k,d))}});return e.promise()};a.mobile.loadPage.defaults={type:"get",data:c,reloadPage:false,role:c,showLoadMsg:false,pageContainer:c,loadMsgDelay:50};a.mobile.changePage=
|
||||
function(j,g){if(p)r.unshift(arguments);else{var h=a.extend({},a.mobile.changePage.defaults,g);h.pageContainer=h.pageContainer||a.mobile.pageContainer;h.fromPage=h.fromPage||a.mobile.activePage;var q=h.pageContainer,o=new a.Event("pagebeforechange"),l={toPage:j,options:h};q.trigger(o,l);if(!o.isDefaultPrevented())if(j=l.toPage,p=true,typeof j=="string")a.mobile.loadPage(j,h).done(function(b,c,d,e){p=false;c.duplicateCachedPage=e;a.mobile.changePage(d,c)}).fail(function(){p=false;b(true);d();h.pageContainer.trigger("pagechangefailed",
|
||||
l)});else{if(j[0]===a.mobile.firstPage[0]&&!h.dataUrl)h.dataUrl=x.hrefNoHash;var o=h.fromPage,u=h.dataUrl&&m.convertUrlToDataUrl(h.dataUrl)||j.jqmData("url"),w=u;m.getFilePath(u);var v=n.getActive(),t=n.activeIndex===0,y=0,D=k.title,B=h.role==="dialog"||j.jqmData("role")==="dialog";if(o&&o[0]===j[0]&&!h.allowSamePageTransition)p=false,q.trigger("pagechange",l),h.fromHashChange&&n.directHashChange({currentUrl:u,isBack:function(){},isForward:function(){}});else{f(j,h.role);h.fromHashChange&&n.directHashChange({currentUrl:u,
|
||||
isBack:function(){y=-1},isForward:function(){y=1}});try{k.activeElement&&k.activeElement.nodeName.toLowerCase()!="body"?a(k.activeElement).blur():a("input:focus, textarea:focus, select:focus").blur()}catch(z){}var C=false;if(B&&v){if(v.url.indexOf(s)>-1&&!a.mobile.activePage.is(".ui-dialog"))h.changeHash=false,C=true;u=(v.url||"")+s;n.activeIndex===0&&u===n.initialDst&&(u+=s)}if(h.changeHash!==false&&u)n.ignoreNextHashChange=true,m.set(u);var A=!v?D:j.jqmData("title")||j.children(":jqmData(role='header')").find(".ui-title").getEncodedText();
|
||||
A&&D==k.title&&(D=A);j.jqmData("title")||j.jqmData("title",D);h.transition=h.transition||(y&&!t?v.transition:c)||(B?a.mobile.defaultDialogTransition:a.mobile.defaultPageTransition);!y&&!C&&n.addNew(u,h.transition,D,w,h.role);k.title=n.getActive().title;a.mobile.activePage=j;h.reverse=h.reverse||y<0;e(j,o,h.transition,h.reverse).done(function(c,e,f,g,m){b();h.duplicateCachedPage&&h.duplicateCachedPage.remove();m||a.mobile.focusPage(j);d();q.trigger("pagechange",l)})}}}};a.mobile.changePage.defaults=
|
||||
{transition:c,reverse:false,changeHash:true,fromHashChange:false,role:c,duplicateCachedPage:c,pageContainer:c,showLoadMsg:true,dataUrl:c,fromPage:c,allowSamePageTransition:false};a.mobile.navreadyDeferred=a.Deferred();a.mobile.navreadyDeferred.done(function(){a(k).delegate("form","submit",function(b){var c=a(this);if(a.mobile.ajaxEnabled&&!c.is(":jqmData(ajax='false')")&&c.jqmHijackable().length){var d=c.attr("method"),e=c.attr("target"),j=c.attr("action");if(!j&&(j=h(c),j===w.hrefNoHash))j=x.hrefNoSearch;
|
||||
j=m.makeUrlAbsolute(j,h(c));m.isExternal(j)&&!m.isPermittedCrossDomainRequest(x,j)||e||(a.mobile.changePage(j,{type:d&&d.length&&d.toLowerCase()||"get",data:c.serialize(),transition:c.jqmData("transition"),direction:c.jqmData("direction"),reloadPage:true}),b.preventDefault())}});a(k).bind("vclick",function(c){if(!(c.which>1)&&a.mobile.linkBindingEnabled&&(c=j(c.target),a(c).jqmHijackable().length&&c&&m.parseUrl(c.getAttribute("href")||"#").hash!=="#"))b(true),l=a(c).closest(".ui-btn").not(".ui-disabled"),
|
||||
l.addClass(a.mobile.activeBtnClass)});a(k).bind("click",function(d){if(a.mobile.linkBindingEnabled){var e=j(d.target),f=a(e),g;if(e&&!(d.which>1)&&f.jqmHijackable().length){g=function(){t.setTimeout(function(){b(true)},200)};if(f.is(":jqmData(rel='back')"))return t.history.back(),false;var k=h(f),e=m.makeUrlAbsolute(f.attr("href")||"#",k);if(!a.mobile.ajaxEnabled&&!m.isEmbeddedPage(e))g();else{if(e.search("#")!=-1)if(e=e.replace(/[^#]*#/,""))e=m.isPath(e)?m.makeUrlAbsolute(e,k):m.makeUrlAbsolute("#"+
|
||||
e,x.hrefNoHash);else{d.preventDefault();return}f.is("[rel='external']")||f.is(":jqmData(ajax='false')")||f.is("[target]")||m.isExternal(e)&&!m.isPermittedCrossDomainRequest(x,e)?g():(g=f.jqmData("transition"),k=(k=f.jqmData("direction"))&&k==="reverse"||f.jqmData("back"),f=f.attr("data-"+a.mobile.ns+"rel")||c,a.mobile.changePage(e,{transition:g,reverse:k,role:f}),d.preventDefault())}}}});a(k).delegate(".ui-page","pageshow.prefetch",function(){var b=[];a(this).find("a:jqmData(prefetch)").each(function(){var c=
|
||||
a(this),d=c.attr("href");d&&a.inArray(d,b)===-1&&(b.push(d),a.mobile.loadPage(d,{role:c.attr("data-"+a.mobile.ns+"rel")}))})});a.mobile._handleHashChange=function(b){var d=m.stripHash(b),e={transition:a.mobile.urlHistory.stack.length===0?"none":c,changeHash:false,fromHashChange:true};if(0===n.stack.length)n.initialDst=d;if(!a.mobile.hashListeningEnabled||n.ignoreNextHashChange)n.ignoreNextHashChange=false;else{if(n.stack.length>1&&d.indexOf(s)>-1&&n.initialDst!==d)if(a.mobile.activePage.is(".ui-dialog"))n.directHashChange({currentUrl:d,
|
||||
either:function(b){var c=a.mobile.urlHistory.getActive();d=c.pageUrl;a.extend(e,{role:c.role,transition:c.transition,reverse:b})}});else{n.directHashChange({currentUrl:d,isBack:function(){t.history.back()},isForward:function(){t.history.forward()}});return}d?(d=typeof d==="string"&&!m.isPath(d)?m.makeUrlAbsolute("#"+d,w):d,a.mobile.changePage(d,e)):a.mobile.changePage(a.mobile.firstPage,e)}};q.bind("hashchange",function(){a.mobile._handleHashChange(location.hash)});a(k).bind("pageshow",g);a(t).bind("throttledresize",
|
||||
g)})})(l);(function(a,c){var b={},d=a(c),e=a.mobile.path.parseUrl(location.href),g=a.Deferred(),f=a.Deferred();a(k).ready(a.proxy(f,"resolve"));a(k).one("mobileinit",a.proxy(g,"resolve"));a.extend(b,{initialFilePath:e.pathname+e.search,hashChangeTimeout:200,hashChangeEnableTimer:E,initialHref:e.hrefNoHash,state:function(){return{hash:location.hash||"#"+b.initialFilePath,title:k.title,initialHref:b.initialHref}},resetUIKeys:function(b){var c="&"+a.mobile.subPageUrlKey,d=b.indexOf(a.mobile.dialogHashKey);
|
||||
d>-1?b=b.slice(0,d)+"#"+b.slice(d):b.indexOf(c)>-1&&(b=b.split(c).join("#"+c));return b},nextHashChangePrevented:function(c){a.mobile.urlHistory.ignoreNextHashChange=c;b.onHashChangeDisabled=c},onHashChange:function(){if(!b.onHashChangeDisabled){var c,d;c=location.hash;var e=a.mobile.path.isPath(c),f=e?location.href:a.mobile.getDocumentUrl();c=e?c.replace("#",""):c;d=b.state();c=a.mobile.path.makeUrlAbsolute(c,f);e&&(c=b.resetUIKeys(c));history.replaceState(d,k.title,c)}},onPopState:function(c){if(c=
|
||||
c.originalEvent.state)clearTimeout(b.hashChangeEnableTimer),b.nextHashChangePrevented(false),a.mobile._handleHashChange(c.hash),b.nextHashChangePrevented(true),b.hashChangeEnableTimer=setTimeout(function(){b.nextHashChangePrevented(false)},b.hashChangeTimeout)},init:function(){d.bind("hashchange",b.onHashChange);d.bind("popstate",b.onPopState);location.hash===""&&history.replaceState(b.state(),k.title,location.href)}});a.when(f,g,a.mobile.navreadyDeferred).done(function(){a.mobile.pushStateEnabled&&
|
||||
a.support.pushState&&b.init()})})(l,this);l.mobile.transitionFallbacks.pop="fade";(function(a){a.mobile.transitionHandlers.slide=a.mobile.transitionHandlers.simultaneous;a.mobile.transitionFallbacks.slide="fade"})(l,this);l.mobile.transitionFallbacks.slidedown="fade";l.mobile.transitionFallbacks.slideup="fade";l.mobile.transitionFallbacks.flip="fade";l.mobile.transitionFallbacks.flow="fade";l.mobile.transitionFallbacks.turn="fade";(function(a){a.mobile.page.prototype.options.degradeInputs={color:false,
|
||||
date:false,datetime:false,"datetime-local":false,email:false,month:false,number:false,range:"number",search:"text",tel:false,time:false,url:false,week:false};a(k).bind("pagecreate create",function(c){var b=a.mobile.closestPageData(a(c.target)),d;if(b)d=b.options,a(c.target).find("input").not(b.keepNativeSelector()).each(function(){var b=a(this),c=this.getAttribute("type"),f=d.degradeInputs[c]||"text";if(d.degradeInputs[c]){var j=a("<div>").html(b.clone()).html(),h=j.indexOf(" type=")>-1;b.replaceWith(j.replace(h?
|
||||
/\s+type=["']?\w+['"]?/:/\/?>/,' type="'+f+'" data-'+a.mobile.ns+'type="'+c+'"'+(h?"":">")))}})})})(l);(function(a,c){a.widget("mobile.dialog",a.mobile.widget,{options:{closeBtnText:"Close",overlayTheme:"a",initSelector:":jqmData(role='dialog')"},_create:function(){var b=this,c=this.element,e=a("<a href='#' data-"+a.mobile.ns+"icon='delete' data-"+a.mobile.ns+"iconpos='notext'>"+this.options.closeBtnText+"</a>"),g=a("<div/>",{role:"dialog","class":"ui-dialog-contain ui-corner-all ui-overlay-shadow"});
|
||||
c.addClass("ui-dialog ui-overlay-"+this.options.overlayTheme);c.wrapInner(g).children().find(":jqmData(role='header')").prepend(e).end().children(":first-child").addClass("ui-corner-top").end().children(":last-child").addClass("ui-corner-bottom");e.bind("click",function(){b.close()});c.bind("vclick submit",function(b){var b=a(b.target).closest(b.type==="vclick"?"a":"form"),c;b.length&&!b.jqmData("transition")&&(c=a.mobile.urlHistory.getActive()||{},b.attr("data-"+a.mobile.ns+"transition",c.transition||
|
||||
a.mobile.defaultDialogTransition).attr("data-"+a.mobile.ns+"direction","reverse"))}).bind("pagehide",function(){b._isClosed=false;a(this).find("."+a.mobile.activeBtnClass).not(".ui-slider-bg").removeClass(a.mobile.activeBtnClass)}).bind("pagebeforeshow",function(){b.options.overlayTheme&&b.element.page("removeContainerBackground").page("setContainerBackground",b.options.overlayTheme)})},close:function(){if(!this._isClosed)this._isClosed=true,a.mobile.hashListeningEnabled?c.history.back():a.mobile.changePage(a.mobile.urlHistory.getPrev().url)}});
|
||||
a(k).delegate(a.mobile.dialog.prototype.options.initSelector,"pagecreate",function(){a.mobile.dialog.prototype.enhance(this)})})(l,this);(function(a){a.mobile.page.prototype.options.backBtnText="Back";a.mobile.page.prototype.options.addBackBtn=false;a.mobile.page.prototype.options.backBtnTheme=null;a.mobile.page.prototype.options.headerTheme="a";a.mobile.page.prototype.options.footerTheme="a";a.mobile.page.prototype.options.contentTheme=null;a(k).bind("pagecreate",function(c){var b=a(c.target),d=
|
||||
b.data("page").options,e=b.jqmData("role"),g=d.theme;a(":jqmData(role='header'), :jqmData(role='footer'), :jqmData(role='content')",b).jqmEnhanceable().each(function(){var c=a(this),j=c.jqmData("role"),h=c.jqmData("theme"),k=h||d.contentTheme||e==="dialog"&&g,o;c.addClass("ui-"+j);if(j==="header"||j==="footer"){var m=h||(j==="header"?d.headerTheme:d.footerTheme)||g;c.addClass("ui-bar-"+m).attr("role",j==="header"?"banner":"contentinfo");j==="header"&&(h=c.children("a"),o=h.hasClass("ui-btn-left"),
|
||||
k=h.hasClass("ui-btn-right"),o=o||h.eq(0).not(".ui-btn-right").addClass("ui-btn-left").length,k||h.eq(1).addClass("ui-btn-right"));d.addBackBtn&&j==="header"&&a(".ui-page").length>1&&b.jqmData("url")!==a.mobile.path.stripHash(location.hash)&&!o&&a("<a href='javascript:void(0);' class='ui-btn-left' data-"+a.mobile.ns+"rel='back' data-"+a.mobile.ns+"icon='arrow-l'>"+d.backBtnText+"</a>").attr("data-"+a.mobile.ns+"theme",d.backBtnTheme||m).prependTo(c);c.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({role:"heading",
|
||||
"aria-level":"1"})}else j==="content"&&(k&&c.addClass("ui-body-"+k),c.attr("role","main"))})})})(l);(function(a){a.fn.fieldcontain=function(){return this.addClass("ui-field-contain ui-body ui-br").contents().filter(function(){return this.nodeType===3&&!/\S/.test(this.nodeValue)}).remove()};a(k).bind("pagecreate create",function(c){a(":jqmData(role='fieldcontain')",c.target).jqmEnhanceable().fieldcontain()})})(l);(function(a){a.fn.grid=function(c){return this.each(function(){var b=a(this),d=a.extend({grid:null},
|
||||
c),e=b.children(),g={solo:1,a:2,b:3,c:4,d:5},d=d.grid;if(!d)if(e.length<=5)for(var f in g)g[f]===e.length&&(d=f);else d="a",b.addClass("ui-grid-duo");g=g[d];b.addClass("ui-grid-"+d);e.filter(":nth-child("+g+"n+1)").addClass("ui-block-a");g>1&&e.filter(":nth-child("+g+"n+2)").addClass("ui-block-b");g>2&&e.filter(":nth-child(3n+3)").addClass("ui-block-c");g>3&&e.filter(":nth-child(4n+4)").addClass("ui-block-d");g>4&&e.filter(":nth-child(5n+5)").addClass("ui-block-e")})}})(l);(function(a){a(k).bind("pagecreate create",
|
||||
function(c){a(":jqmData(role='nojs')",c.target).addClass("ui-nojs")})})(l);(function(a,c){function b(a){for(var b;a;){if((b=typeof a.className==="string"&&a.className+" ")&&b.indexOf("ui-btn ")>-1&&b.indexOf("ui-disabled ")<0)break;a=a.parentNode}return a}a.fn.buttonMarkup=function(b){for(var b=b&&a.type(b)=="object"?b:{},g=0;g<this.length;g++){var f=this.eq(g),j=f[0],h=a.extend({},a.fn.buttonMarkup.defaults,{icon:b.icon!==c?b.icon:f.jqmData("icon"),iconpos:b.iconpos!==c?b.iconpos:f.jqmData("iconpos"),
|
||||
theme:b.theme!==c?b.theme:f.jqmData("theme")||a.mobile.getInheritedTheme(f,"c"),inline:b.inline!==c?b.inline:f.jqmData("inline"),shadow:b.shadow!==c?b.shadow:f.jqmData("shadow"),corners:b.corners!==c?b.corners:f.jqmData("corners"),iconshadow:b.iconshadow!==c?b.iconshadow:f.jqmData("iconshadow"),mini:b.mini!==c?b.mini:f.jqmData("mini")},b),q="ui-btn-inner",o,m,l,n,r,p;a.each(h,function(b,c){j.setAttribute("data-"+a.mobile.ns+b,c);f.jqmData(b,c)});(p=a.data(j.tagName==="INPUT"||j.tagName==="BUTTON"?
|
||||
j.parentNode:j,"buttonElements"))?(j=p.outer,f=a(j),l=p.inner,n=p.text,a(p.icon).remove(),p.icon=null):(l=k.createElement(h.wrapperEls),n=k.createElement(h.wrapperEls));r=h.icon?k.createElement("span"):null;d&&!p&&d();if(!h.theme)h.theme=a.mobile.getInheritedTheme(f,"c");o="ui-btn ui-btn-up-"+h.theme;o+=h.inline?" ui-btn-inline":"";o+=h.shadow?" ui-shadow":"";o+=h.corners?" ui-btn-corner-all":"";h.mini!==c&&(o+=h.mini?" ui-mini":" ui-fullsize");h.inline!==c&&(o+=h.inline===false?" ui-btn-block":" ui-btn-inline");
|
||||
if(h.icon)h.icon="ui-icon-"+h.icon,h.iconpos=h.iconpos||"left",m="ui-icon "+h.icon,h.iconshadow&&(m+=" ui-icon-shadow");h.iconpos&&(o+=" ui-btn-icon-"+h.iconpos,h.iconpos=="notext"&&!f.attr("title")&&f.attr("title",f.getEncodedText()));q+=h.corners?" ui-btn-corner-all":"";h.iconpos&&h.iconpos==="notext"&&!f.attr("title")&&f.attr("title",f.getEncodedText());p&&f.removeClass(p.bcls||"");f.removeClass("ui-link").addClass(o);l.className=q;n.className="ui-btn-text";p||l.appendChild(n);if(r&&(r.className=
|
||||
m,!p||!p.icon))r.appendChild(k.createTextNode("\u00a0")),l.appendChild(r);for(;j.firstChild&&!p;)n.appendChild(j.firstChild);p||j.appendChild(l);p={bcls:o,outer:j,inner:l,text:n,icon:r};a.data(j,"buttonElements",p);a.data(l,"buttonElements",p);a.data(n,"buttonElements",p);r&&a.data(r,"buttonElements",p)}return this};a.fn.buttonMarkup.defaults={corners:true,shadow:true,iconshadow:true,wrapperEls:"span"};var d=function(){var c=a.mobile.buttonMarkup.hoverDelay,g,f;a(k).bind({"vmousedown vmousecancel vmouseup vmouseover vmouseout focus blur scrollstart":function(d){var h,
|
||||
k=a(b(d.target)),d=d.type;if(k.length)if(h=k.attr("data-"+a.mobile.ns+"theme"),d==="vmousedown")a.support.touch?g=setTimeout(function(){k.removeClass("ui-btn-up-"+h).addClass("ui-btn-down-"+h)},c):k.removeClass("ui-btn-up-"+h).addClass("ui-btn-down-"+h);else if(d==="vmousecancel"||d==="vmouseup")k.removeClass("ui-btn-down-"+h).addClass("ui-btn-up-"+h);else if(d==="vmouseover"||d==="focus")a.support.touch?f=setTimeout(function(){k.removeClass("ui-btn-up-"+h).addClass("ui-btn-hover-"+h)},c):k.removeClass("ui-btn-up-"+
|
||||
h).addClass("ui-btn-hover-"+h);else if(d==="vmouseout"||d==="blur"||d==="scrollstart")k.removeClass("ui-btn-hover-"+h+" ui-btn-down-"+h).addClass("ui-btn-up-"+h),g&&clearTimeout(g),f&&clearTimeout(f)},"focusin focus":function(c){a(b(c.target)).addClass(a.mobile.focusClass)},"focusout blur":function(c){a(b(c.target)).removeClass(a.mobile.focusClass)}});d=null};a(k).bind("pagecreate create",function(b){a(":jqmData(role='button'), .ui-bar > a, .ui-header > a, .ui-footer > a, .ui-bar > :jqmData(role='controlgroup') > a",
|
||||
b.target).not(".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')").buttonMarkup()})})(l);(function(a){a.widget("mobile.collapsible",a.mobile.widget,{options:{expandCueText:" click to expand contents",collapseCueText:" click to collapse contents",collapsed:true,heading:"h1,h2,h3,h4,h5,h6,legend",theme:null,contentTheme:null,iconTheme:"d",mini:false,initSelector:":jqmData(role='collapsible')"},_create:function(){var c=this.element,b=this.options,d=c.addClass("ui-collapsible"),e=c.children(b.heading).first(),
|
||||
g=d.wrapInner("<div class='ui-collapsible-content'></div>").find(".ui-collapsible-content"),f=c.closest(":jqmData(role='collapsible-set')").addClass("ui-collapsible-set");e.is("legend")&&(e=a("<div role='heading'>"+e.html()+"</div>").insertBefore(e),e.next().remove());if(f.length){if(!b.theme)b.theme=f.jqmData("theme")||a.mobile.getInheritedTheme(f,"c");if(!b.contentTheme)b.contentTheme=f.jqmData("content-theme");if(!b.iconPos)b.iconPos=f.jqmData("iconpos");if(!b.mini)b.mini=f.jqmData("mini")}g.addClass(b.contentTheme?
|
||||
"ui-body-"+b.contentTheme:"");e.insertBefore(g).addClass("ui-collapsible-heading").append("<span class='ui-collapsible-heading-status'></span>").wrapInner("<a href='#' class='ui-collapsible-heading-toggle'></a>").find("a").first().buttonMarkup({shadow:false,corners:false,iconpos:c.jqmData("iconpos")||b.iconPos||"left",icon:"plus",mini:b.mini,theme:b.theme}).add(".ui-btn-inner",c).addClass("ui-corner-top ui-corner-bottom");d.bind("expand collapse",function(c){if(!c.isDefaultPrevented()){c.preventDefault();
|
||||
var h=a(this),c=c.type==="collapse",k=b.contentTheme;e.toggleClass("ui-collapsible-heading-collapsed",c).find(".ui-collapsible-heading-status").text(c?b.expandCueText:b.collapseCueText).end().find(".ui-icon").toggleClass("ui-icon-minus",!c).toggleClass("ui-icon-plus",c).end().find("a").first().removeClass(a.mobile.activeBtnClass);h.toggleClass("ui-collapsible-collapsed",c);g.toggleClass("ui-collapsible-content-collapsed",c).attr("aria-hidden",c);if(k&&(!f.length||d.jqmData("collapsible-last")))e.find("a").first().add(e.find(".ui-btn-inner")).toggleClass("ui-corner-bottom",
|
||||
c),g.toggleClass("ui-corner-bottom",!c);g.trigger("updatelayout")}}).trigger(b.collapsed?"collapse":"expand");e.bind("tap",function(){e.find("a").first().addClass(a.mobile.activeBtnClass)}).bind("click",function(a){var b=e.is(".ui-collapsible-heading-collapsed")?"expand":"collapse";d.trigger(b);a.preventDefault();a.stopPropagation()})}});a(k).bind("pagecreate create",function(c){a.mobile.collapsible.prototype.enhanceWithin(c.target)})})(l);(function(a,c){a.widget("mobile.collapsibleset",a.mobile.widget,
|
||||
{options:{initSelector:":jqmData(role='collapsible-set')"},_create:function(){var b=this.element.addClass("ui-collapsible-set"),d=this.options;if(!d.theme)d.theme=a.mobile.getInheritedTheme(b,"c");if(!d.contentTheme)d.contentTheme=b.jqmData("content-theme");if(!d.corners)d.corners=b.jqmData("corners")===c?true:false;b.jqmData("collapsiblebound")||b.jqmData("collapsiblebound",true).bind("expand collapse",function(b){var c=b.type==="collapse",b=a(b.target).closest(".ui-collapsible"),d=b.data("collapsible");
|
||||
d.options.contentTheme&&b.jqmData("collapsible-last")&&(b.find(d.options.heading).first().find("a").first().toggleClass("ui-corner-bottom",c).find(".ui-btn-inner").toggleClass("ui-corner-bottom",c),b.find(".ui-collapsible-content").toggleClass("ui-corner-bottom",!c))}).bind("expand",function(b){a(b.target).closest(".ui-collapsible").siblings(".ui-collapsible").trigger("collapse")})},_init:function(){this.refresh()},refresh:function(){var b=this.options,c=this.element.children(":jqmData(role='collapsible')");
|
||||
a.mobile.collapsible.prototype.enhance(c.not(".ui-collapsible"));c.each(function(){a(this).find(a.mobile.collapsible.prototype.options.heading).find("a").first().removeClass("ui-corner-top ui-corner-bottom").find(".ui-btn-inner").removeClass("ui-corner-top ui-corner-bottom")});c.first().find("a").first().addClass(b.corners?"ui-corner-top":"").find(".ui-btn-inner").addClass("ui-corner-top");c.last().jqmData("collapsible-last",true).find("a").first().addClass(b.corners?"ui-corner-bottom":"").find(".ui-btn-inner").addClass("ui-corner-bottom")}});
|
||||
a(k).bind("pagecreate create",function(b){a.mobile.collapsibleset.prototype.enhanceWithin(b.target)})})(l);(function(a,c){a.widget("mobile.navbar",a.mobile.widget,{options:{iconpos:"top",grid:null,initSelector:":jqmData(role='navbar')"},_create:function(){var b=this.element,d=b.find("a"),e=d.filter(":jqmData(icon)").length?this.options.iconpos:c;b.addClass("ui-navbar ui-mini").attr("role","navigation").find("ul").jqmEnhanceable().grid({grid:this.options.grid});d.buttonMarkup({corners:false,shadow:false,
|
||||
inline:true,iconpos:e});b.delegate("a","vclick",function(b){a(b.target).hasClass("ui-disabled")||(d.removeClass(a.mobile.activeBtnClass),a(this).addClass(a.mobile.activeBtnClass))});b.closest(".ui-page").bind("pagebeforeshow",function(){d.filter(".ui-state-persist").addClass(a.mobile.activeBtnClass)})}});a(k).bind("pagecreate create",function(b){a.mobile.navbar.prototype.enhanceWithin(b.target)})})(l);(function(a){var c={};a.widget("mobile.listview",a.mobile.widget,{options:{theme:null,countTheme:"c",
|
||||
headerTheme:"b",dividerTheme:"b",splitIcon:"arrow-r",splitTheme:"b",inset:false,initSelector:":jqmData(role='listview')"},_create:function(){var a="";a+=this.options.inset?" ui-listview-inset ui-corner-all ui-shadow ":"";this.element.addClass(function(c,e){return e+" ui-listview "+a});this.refresh(true)},_removeCorners:function(a,c){a=a.add(a.find(".ui-btn-inner, .ui-li-link-alt, .ui-li-thumb"));c==="top"?a.removeClass("ui-corner-top ui-corner-tr ui-corner-tl"):c==="bottom"?a.removeClass("ui-corner-bottom ui-corner-br ui-corner-bl"):
|
||||
a.removeClass("ui-corner-top ui-corner-tr ui-corner-tl ui-corner-bottom ui-corner-br ui-corner-bl")},_refreshCorners:function(a){var c,e;this.options.inset&&(c=this.element.children("li"),e=a?c.not(".ui-screen-hidden"):c.filter(":visible"),this._removeCorners(c),c=e.first().addClass("ui-corner-top"),c.add(c.find(".ui-btn-inner").not(".ui-li-link-alt span:first-child")).addClass("ui-corner-top").end().find(".ui-li-link-alt, .ui-li-link-alt span:first-child").addClass("ui-corner-tr").end().find(".ui-li-thumb").not(".ui-li-icon").addClass("ui-corner-tl"),
|
||||
e=e.last().addClass("ui-corner-bottom"),e.add(e.find(".ui-btn-inner")).find(".ui-li-link-alt").addClass("ui-corner-br").end().find(".ui-li-thumb").not(".ui-li-icon").addClass("ui-corner-bl"));a||this.element.trigger("updatelayout")},_findFirstElementByTagName:function(a,c,e,g){var f={};for(f[e]=f[g]=true;a;){if(f[a.nodeName])return a;a=a[c]}return null},_getChildrenByTagName:function(b,c,e){var g=[],f={};f[c]=f[e]=true;for(b=b.firstChild;b;)f[b.nodeName]&&g.push(b),b=b.nextSibling;return a(g)},_addThumbClasses:function(b){var c,
|
||||
e,g=b.length;for(c=0;c<g;c++)e=a(this._findFirstElementByTagName(b[c].firstChild,"nextSibling","img","IMG")),e.length&&(e.addClass("ui-li-thumb"),a(this._findFirstElementByTagName(e[0].parentNode,"parentNode","li","LI")).addClass(e.is(".ui-li-icon")?"ui-li-has-icon":"ui-li-has-thumb"))},refresh:function(b){this.parentPage=this.element.closest(".ui-page");this._createSubPages();var c=this.options,e=this.element,g=e.jqmData("dividertheme")||c.dividerTheme,f=e.jqmData("splittheme"),j=e.jqmData("spliticon"),
|
||||
h=this._getChildrenByTagName(e[0],"li","LI"),l=a.support.cssPseudoElement||!a.nodeName(e[0],"ol")?0:1,o={},m,v,n,r,p,s,u;l&&e.find(".ui-li-dec").remove();if(!c.theme)c.theme=a.mobile.getInheritedTheme(this.element,"c");for(var x=0,w=h.length;x<w;x++){m=h.eq(x);v="ui-li";if(b||!m.hasClass("ui-li"))n=m.jqmData("theme")||c.theme,r=this._getChildrenByTagName(m[0],"a","A"),s=m.jqmData("role")==="list-divider",r.length&&!s?(s=m.jqmData("icon"),m.buttonMarkup({wrapperEls:"div",shadow:false,corners:false,
|
||||
iconpos:"right",icon:r.length>1||s===false?false:s||"arrow-r",theme:n}),s!=false&&r.length==1&&m.addClass("ui-li-has-arrow"),r.first().removeClass("ui-link").addClass("ui-link-inherit"),r.length>1&&(v+=" ui-li-has-alt",r=r.last(),p=f||r.jqmData("theme")||c.splitTheme,u=r.jqmData("icon"),r.appendTo(m).attr("title",r.getEncodedText()).addClass("ui-li-link-alt").empty().buttonMarkup({shadow:false,corners:false,theme:n,icon:false,iconpos:"notext"}).find(".ui-btn-inner").append(a(k.createElement("span")).buttonMarkup({shadow:true,
|
||||
corners:true,theme:p,iconpos:"notext",icon:u||s||j||c.splitIcon})))):s?(v+=" ui-li-divider ui-bar-"+g,m.attr("role","heading"),l&&(l=1)):v+=" ui-li-static ui-body-"+n;l&&v.indexOf("ui-li-divider")<0&&(n=m.is(".ui-li-static:first")?m:m.find(".ui-link-inherit"),n.addClass("ui-li-jsnumbering").prepend("<span class='ui-li-dec'>"+l++ +". </span>"));o[v]||(o[v]=[]);o[v].push(m[0])}for(v in o)a(o[v]).addClass(v).children(".ui-btn-inner").addClass(v);e.find("h1, h2, h3, h4, h5, h6").addClass("ui-li-heading").end().find("p, dl").addClass("ui-li-desc").end().find(".ui-li-aside").each(function(){var b=
|
||||
a(this);b.prependTo(b.parent())}).end().find(".ui-li-count").each(function(){a(this).closest("li").addClass("ui-li-has-count")}).addClass("ui-btn-up-"+(e.jqmData("counttheme")||this.options.countTheme)+" ui-btn-corner-all");this._addThumbClasses(h);this._addThumbClasses(e.find(".ui-link-inherit"));this._refreshCorners(b)},_idStringEscape:function(a){return a.replace(/[^a-zA-Z0-9]/g,"-")},_createSubPages:function(){var b=this.element,d=b.closest(".ui-page"),e=d.jqmData("url"),g=e||d[0][a.expando],
|
||||
f=b.attr("id"),j=this.options,h="data-"+a.mobile.ns,k=this,l=d.find(":jqmData(role='footer')").jqmData("id"),m;typeof c[g]==="undefined"&&(c[g]=-1);f=f||++c[g];a(b.find("li>ul, li>ol").toArray().reverse()).each(function(c){var d=a(this),g=d.attr("id")||f+"-"+c,c=d.parent(),k=a(d.prevAll().toArray().reverse()),k=k.length?k:a("<span>"+a.trim(c.contents()[0].nodeValue)+"</span>"),q=k.first().getEncodedText(),g=(e||"")+"&"+a.mobile.subPageUrlKey+"="+g,u=d.jqmData("theme")||j.theme,x=d.jqmData("counttheme")||
|
||||
b.jqmData("counttheme")||j.countTheme;m=true;d.detach().wrap("<div "+h+"role='page' "+h+"url='"+g+"' "+h+"theme='"+u+"' "+h+"count-theme='"+x+"'><div "+h+"role='content'></div></div>").parent().before("<div "+h+"role='header' "+h+"theme='"+j.headerTheme+"'><div class='ui-title'>"+q+"</div></div>").after(l?a("<div "+h+"role='footer' "+h+"id='"+l+"'>"):"").parent().appendTo(a.mobile.pageContainer).page();d=c.find("a:first");d.length||(d=a("<a/>").html(k||q).prependTo(c.empty()));d.attr("href","#"+g)}).listview();
|
||||
m&&d.is(":jqmData(external-page='true')")&&d.data("page").options.domCache===false&&d.unbind("pagehide.remove").bind("pagehide.remove",function(b,c){var f=c.nextPage,h=new a.Event("pageremove");c.nextPage&&(f=f.jqmData("url"),f.indexOf(e+"&"+a.mobile.subPageUrlKey)!==0&&(k.childPages().remove(),d.trigger(h),h.isDefaultPrevented()||d.removeWithDependents()))})},childPages:function(){var b=this.parentPage.jqmData("url");return a(":jqmData(url^='"+b+"&"+a.mobile.subPageUrlKey+"')")}});a(k).bind("pagecreate create",
|
||||
function(b){a.mobile.listview.prototype.enhanceWithin(b.target)})})(l);(function(a,c){a.widget("mobile.checkboxradio",a.mobile.widget,{options:{theme:null,initSelector:"input[type='checkbox'],input[type='radio']"},_create:function(){var b=this,d=this.element,e=a(d).closest("label"),g=e.length?e:a(d).closest("form,fieldset,:jqmData(role='page'),:jqmData(role='dialog')").find("label").filter("[for='"+d[0].id+"']"),f=d[0].type,e=d.jqmData("mini")||d.closest("form,fieldset").jqmData("mini"),j=f+"-on",
|
||||
h=f+"-off",l=d.parents(":jqmData(type='horizontal')").length?c:h,o=d.jqmData("iconpos")||d.closest("form,fieldset").jqmData("iconpos");if(!(f!=="checkbox"&&f!=="radio")){a.extend(this,{label:g,inputtype:f,checkedClass:"ui-"+j+(l?"":" "+a.mobile.activeBtnClass),uncheckedClass:"ui-"+h,checkedicon:"ui-icon-"+j,uncheckedicon:"ui-icon-"+h});if(!this.options.theme)this.options.theme=a.mobile.getInheritedTheme(this.element,"c");g.buttonMarkup({theme:this.options.theme,icon:l,shadow:false,mini:e,iconpos:o});
|
||||
e=k.createElement("div");e.className="ui-"+f;d.add(g).wrapAll(e);g.bind({vmouseover:function(b){a(this).parent().is(".ui-disabled")&&b.stopPropagation()},vclick:function(a){if(d.is(":disabled"))a.preventDefault();else return b._cacheVals(),d.prop("checked",f==="radio"&&true||!d.prop("checked")),d.triggerHandler("click"),b._getInputSet().not(d).prop("checked",false),b._updateAll(),false}});d.bind({vmousedown:function(){b._cacheVals()},vclick:function(){var c=a(this);c.is(":checked")?(c.prop("checked",
|
||||
true),b._getInputSet().not(c).prop("checked",false)):c.prop("checked",false);b._updateAll()},focus:function(){g.addClass(a.mobile.focusClass)},blur:function(){g.removeClass(a.mobile.focusClass)}});this.refresh()}},_cacheVals:function(){this._getInputSet().each(function(){a(this).jqmData("cacheVal",this.checked)})},_getInputSet:function(){return this.inputtype==="checkbox"?this.element:this.element.closest("form,fieldset,:jqmData(role='page')").find("input[name='"+this.element[0].name+"'][type='"+
|
||||
this.inputtype+"']")},_updateAll:function(){var b=this;this._getInputSet().each(function(){var c=a(this);(this.checked||b.inputtype==="checkbox")&&c.trigger("change")}).checkboxradio("refresh")},refresh:function(){var a=this.element[0],c=this.label,e=c.find(".ui-icon");a.checked?(c.addClass(this.checkedClass).removeClass(this.uncheckedClass),e.addClass(this.checkedicon).removeClass(this.uncheckedicon)):(c.removeClass(this.checkedClass).addClass(this.uncheckedClass),e.removeClass(this.checkedicon).addClass(this.uncheckedicon));
|
||||
a.disabled?this.disable():this.enable()},disable:function(){this.element.prop("disabled",true).parent().addClass("ui-disabled")},enable:function(){this.element.prop("disabled",false).parent().removeClass("ui-disabled")}});a(k).bind("pagecreate create",function(b){a.mobile.checkboxradio.prototype.enhanceWithin(b.target,true)})})(l);(function(a,c){a.widget("mobile.button",a.mobile.widget,{options:{theme:null,icon:null,iconpos:null,inline:false,corners:true,shadow:true,iconshadow:true,initSelector:"button, [type='button'], [type='submit'], [type='reset'], [type='image']",
|
||||
mini:false},_create:function(){var b=this.element,d,e=this.options,g;g="";var f;if(b[0].tagName==="A")!b.hasClass("ui-btn")&&b.buttonMarkup();else{if(!this.options.theme)this.options.theme=a.mobile.getInheritedTheme(this.element,"c");~b[0].className.indexOf("ui-btn-left")&&(g="ui-btn-left");~b[0].className.indexOf("ui-btn-right")&&(g="ui-btn-right");if(b.attr("type")==="submit"||b.attr("type")==="reset")g?g+=" ui-submit":g="ui-submit";a("label[for='"+b.attr("id")+"']").addClass("ui-submit");d=this.button=
|
||||
a("<div></div>").text(b.text()||b.val()).insertBefore(b).buttonMarkup({theme:e.theme,icon:e.icon,iconpos:e.iconpos,inline:e.inline,corners:e.corners,shadow:e.shadow,iconshadow:e.iconshadow,mini:e.mini}).addClass(g).append(b.addClass("ui-btn-hidden"));e=b.attr("type");g=b.attr("name");e!=="button"&&e!=="reset"&&g&&b.bind("vclick",function(){f===c&&(f=a("<input>",{type:"hidden",name:b.attr("name"),value:b.attr("value")}).insertBefore(b),a(k).one("submit",function(){f.remove();f=c}))});b.bind({focus:function(){d.addClass(a.mobile.focusClass)},
|
||||
blur:function(){d.removeClass(a.mobile.focusClass)}});this.refresh()}},enable:function(){this.element.attr("disabled",false);this.button.removeClass("ui-disabled").attr("aria-disabled",false);return this._setOption("disabled",false)},disable:function(){this.element.attr("disabled",true);this.button.addClass("ui-disabled").attr("aria-disabled",true);return this._setOption("disabled",true)},refresh:function(){var b=this.element;b.prop("disabled")?this.disable():this.enable();a(this.button.data("buttonElements").text).text(b.text()||
|
||||
b.val())}});a(k).bind("pagecreate create",function(b){a.mobile.button.prototype.enhanceWithin(b.target,true)})})(l);(function(a){a.fn.controlgroup=function(c){function b(a,b){a.removeClass("ui-btn-corner-all ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-controlgroup-last ui-shadow").eq(0).addClass(b[0]).end().last().addClass(b[1]).addClass("ui-controlgroup-last")}return this.each(function(){var d=a(this),e=a.extend({direction:d.jqmData("type")||"vertical",shadow:false,excludeInvisible:true,
|
||||
mini:d.jqmData("mini")},c),g=d.children("legend"),f=e.direction=="horizontal"?["ui-corner-left","ui-corner-right"]:["ui-corner-top","ui-corner-bottom"];d.find("input").first().attr("type");d.wrapInner("<div class='ui-controlgroup-controls'></div>");g.length&&(a("<div role='heading' class='ui-controlgroup-label'>"+g.html()+"</div>").insertBefore(d.children(0)),g.remove());d.addClass("ui-corner-all ui-controlgroup ui-controlgroup-"+e.direction);b(d.find(".ui-btn"+(e.excludeInvisible?":visible":"")).not(".ui-slider-handle"),
|
||||
f);b(d.find(".ui-btn-inner"),f);e.shadow&&d.addClass("ui-shadow");e.mini&&d.addClass("ui-mini")})}})(l);(function(a){a(k).bind("pagecreate create",function(c){a(c.target).find("a").jqmEnhanceable().not(".ui-btn, .ui-link-inherit, :jqmData(role='none'), :jqmData(role='nojs')").addClass("ui-link")})})(l);(function(a){var c=a("meta[name=viewport]"),b=c.attr("content"),d=b+",maximum-scale=1, user-scalable=no",e=b+",maximum-scale=10, user-scalable=yes",g=/(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test(b);
|
||||
a.mobile.zoom=a.extend({},{enabled:!g,locked:false,disable:function(b){if(!g&&!a.mobile.zoom.locked)c.attr("content",d),a.mobile.zoom.enabled=false,a.mobile.zoom.locked=b||false},enable:function(b){if(!g&&(!a.mobile.zoom.locked||b===true))c.attr("content",e),a.mobile.zoom.enabled=true,a.mobile.zoom.locked=false},restore:function(){if(!g)c.attr("content",b),a.mobile.zoom.enabled=true}})})(l);(function(a){a.widget("mobile.textinput",a.mobile.widget,{options:{theme:null,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&
|
||||
navigator.userAgent.indexOf("AppleWebKit")>-1,initSelector:"input[type='text'], input[type='search'], :jqmData(type='search'), input[type='number'], :jqmData(type='number'), input[type='password'], input[type='email'], input[type='url'], input[type='tel'], textarea, input[type='time'], input[type='date'], input[type='month'], input[type='week'], input[type='datetime'], input[type='datetime-local'], input[type='color'], input:not([type])",clearSearchButtonText:"clear text"},_create:function(){var c=
|
||||
this.element,b=this.options,d=b.theme||a.mobile.getInheritedTheme(this.element,"c"),e=" ui-body-"+d,g=c.jqmData("mini")==true,f=g?" ui-mini":"",j,h;a("label[for='"+c.attr("id")+"']").addClass("ui-input-text");j=c.addClass("ui-input-text ui-body-"+d);typeof c[0].autocorrect!=="undefined"&&!a.support.touchOverflow&&(c[0].setAttribute("autocorrect","off"),c[0].setAttribute("autocomplete","off"));c.is("[type='search'],:jqmData(type='search')")?(j=c.wrap("<div class='ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield"+
|
||||
e+f+"'></div>").parent(),h=a("<a href='#' class='ui-input-clear' title='"+b.clearSearchButtonText+"'>"+b.clearSearchButtonText+"</a>").bind("click",function(a){c.val("").focus().trigger("change");h.addClass("ui-input-clear-hidden");a.preventDefault()}).appendTo(j).buttonMarkup({icon:"delete",iconpos:"notext",corners:true,shadow:true,mini:g}),d=function(){setTimeout(function(){h.toggleClass("ui-input-clear-hidden",!c.val())},0)},d(),c.bind("paste cut keyup focus change blur",d)):c.addClass("ui-corner-all ui-shadow-inset"+
|
||||
e+f);c.focus(function(){j.addClass(a.mobile.focusClass)}).blur(function(){j.removeClass(a.mobile.focusClass)}).bind("focus",function(){b.preventFocusZoom&&a.mobile.zoom.disable(true)}).bind("blur",function(){b.preventFocusZoom&&a.mobile.zoom.enable(true)});if(c.is("textarea")){var l=function(){var a=c[0].scrollHeight;c[0].clientHeight<a&&c.height(a+15)},o;c.keyup(function(){clearTimeout(o);o=setTimeout(l,100)});a(k).one("pagechange",l);a.trim(c.val())&&a(t).load(l)}},disable:function(){(this.element.attr("disabled",
|
||||
true).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).addClass("ui-disabled")},enable:function(){(this.element.attr("disabled",false).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).removeClass("ui-disabled")}});a(k).bind("pagecreate create",function(c){a.mobile.textinput.prototype.enhanceWithin(c.target,true)})})(l);(function(a){a.mobile.listview.prototype.options.filter=false;a.mobile.listview.prototype.options.filterPlaceholder=
|
||||
"Filter items...";a.mobile.listview.prototype.options.filterTheme="c";a.mobile.listview.prototype.options.filterCallback=function(a,b){return a.toLowerCase().indexOf(b)===-1};a(k).delegate(":jqmData(role='listview')","listviewcreate",function(){var c=a(this),b=c.data("listview");if(b.options.filter){var d=a("<form>",{"class":"ui-listview-filter ui-bar-"+b.options.filterTheme,role:"search"});a("<input>",{placeholder:b.options.filterPlaceholder}).attr("data-"+a.mobile.ns+"type","search").jqmData("lastval",
|
||||
"").bind("keyup change",function(){var d=a(this),g=this.value.toLowerCase(),f=null,f=d.jqmData("lastval")+"",j=false,h="";d.jqmData("lastval",g);f=g.length<f.length||g.indexOf(f)!==0?c.children():c.children(":not(.ui-screen-hidden)");if(g){for(var k=f.length-1;k>=0;k--)d=a(f[k]),h=d.jqmData("filtertext")||d.text(),d.is("li:jqmData(role=list-divider)")?(d.toggleClass("ui-filter-hidequeue",!j),j=false):b.options.filterCallback(h,g)?d.toggleClass("ui-filter-hidequeue",true):j=true;f.filter(":not(.ui-filter-hidequeue)").toggleClass("ui-screen-hidden",
|
||||
false);f.filter(".ui-filter-hidequeue").toggleClass("ui-screen-hidden",true).toggleClass("ui-filter-hidequeue",false)}else f.toggleClass("ui-screen-hidden",false);b._refreshCorners()}).appendTo(d).textinput();b.options.inset&&d.addClass("ui-listview-filter-inset");d.bind("submit",function(){return false}).insertBefore(c)}})})(l);(function(a,c){a.widget("mobile.slider",a.mobile.widget,{options:{theme:null,trackTheme:null,disabled:false,initSelector:"input[type='range'], :jqmData(type='range'), :jqmData(role='slider')",
|
||||
mini:false},_create:function(){var b=this,d=this.element,e=a.mobile.getInheritedTheme(d,"c"),g=this.options.theme||e,e=this.options.trackTheme||e,f=d[0].nodeName.toLowerCase(),j=f=="select"?"ui-slider-switch":"",h=d.attr("id"),l=a("[for='"+h+"']"),o=l.attr("id")||h+"-label",l=l.attr("id",o),m=function(){return f=="input"?parseFloat(d.val()):d[0].selectedIndex},v=f=="input"?parseFloat(d.attr("min")):0,n=f=="input"?parseFloat(d.attr("max")):d.find("option").length-1,r=t.parseFloat(d.attr("step")||1),
|
||||
p=this.options.inline||d.jqmData("inline")==true?" ui-slider-inline":"",s=this.options.mini||d.jqmData("mini")?" ui-slider-mini":"",u=k.createElement("a"),x=a(u),h=k.createElement("div"),w=a(h),D=d.jqmData("highlight")&&f!="select"?function(){var b=k.createElement("div");b.className="ui-slider-bg "+a.mobile.activeBtnClass+" ui-btn-corner-all";return a(b).prependTo(w)}():false;u.setAttribute("href","#");h.setAttribute("role","application");h.className=["ui-slider ",j," ui-btn-down-",e," ui-btn-corner-all",
|
||||
p,s].join("");u.className="ui-slider-handle";h.appendChild(u);x.buttonMarkup({corners:true,theme:g,shadow:true}).attr({role:"slider","aria-valuemin":v,"aria-valuemax":n,"aria-valuenow":m(),"aria-valuetext":m(),title:m(),"aria-labelledby":o});a.extend(this,{slider:w,handle:x,valuebg:D,dragging:false,beforeStart:null,userModified:false,mouseMoved:false});if(f=="select"){g=k.createElement("div");g.className="ui-slider-inneroffset";j=0;for(o=h.childNodes.length;j<o;j++)g.appendChild(h.childNodes[j]);
|
||||
h.appendChild(g);x.addClass("ui-slider-handle-snapping");g=d.find("option");h=0;for(j=g.length;h<j;h++)o=!h?"b":"a",p=!h?" ui-btn-down-"+e:" "+a.mobile.activeBtnClass,k.createElement("div"),s=k.createElement("span"),s.className=["ui-slider-label ui-slider-label-",o,p," ui-btn-corner-all"].join(""),s.setAttribute("role","img"),s.appendChild(k.createTextNode(g[h].innerHTML)),a(s).prependTo(w);b._labels=a(".ui-slider-label",w)}l.addClass("ui-slider");d.addClass(f==="input"?"ui-slider-input":"ui-slider-switch").change(function(){b.mouseMoved||
|
||||
b.refresh(m(),true)}).keyup(function(){b.refresh(m(),true,true)}).blur(function(){b.refresh(m(),true)});a(k).bind("vmousemove",function(a){if(b.dragging)return b.mouseMoved=true,f==="select"&&x.removeClass("ui-slider-handle-snapping"),b.refresh(a),b.userModified=b.beforeStart!==d[0].selectedIndex,false});w.bind("vmousedown",function(a){b.dragging=true;b.userModified=false;b.mouseMoved=false;if(f==="select")b.beforeStart=d[0].selectedIndex;b.refresh(a);return false}).bind("vclick",false);w.add(k).bind("vmouseup",
|
||||
function(){if(b.dragging)return b.dragging=false,f==="select"&&(x.addClass("ui-slider-handle-snapping"),b.mouseMoved?b.userModified?b.refresh(b.beforeStart==0?1:0):b.refresh(b.beforeStart):b.refresh(b.beforeStart==0?1:0)),b.mouseMoved=false});w.insertAfter(d);f=="select"&&this.handle.bind({focus:function(){w.addClass(a.mobile.focusClass)},blur:function(){w.removeClass(a.mobile.focusClass)}});this.handle.bind({vmousedown:function(){a(this).focus()},vclick:false,keydown:function(c){var d=m();if(!b.options.disabled){switch(c.keyCode){case a.mobile.keyCode.HOME:case a.mobile.keyCode.END:case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:if(c.preventDefault(),
|
||||
!b._keySliding)b._keySliding=true,a(this).addClass("ui-state-active")}switch(c.keyCode){case a.mobile.keyCode.HOME:b.refresh(v);break;case a.mobile.keyCode.END:b.refresh(n);break;case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:b.refresh(d+r);break;case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:b.refresh(d-r)}}},keyup:function(){if(b._keySliding)b._keySliding=false,a(this).removeClass("ui-state-active")}});this.refresh(c,c,true)},
|
||||
refresh:function(b,c,e){(this.options.disabled||this.element.attr("disabled"))&&this.disable();var g=this.element,f=g[0].nodeName.toLowerCase(),j=f==="input"?parseFloat(g.attr("min")):0,h=f==="input"?parseFloat(g.attr("max")):g.find("option").length-1,k=f==="input"&&parseFloat(g.attr("step"))>0?parseFloat(g.attr("step")):1;if(typeof b==="object"){if(!this.dragging||b.pageX<this.slider.offset().left-8||b.pageX>this.slider.offset().left+this.slider.width()+8)return;b=Math.round((b.pageX-this.slider.offset().left)/
|
||||
this.slider.width()*100)}else b==null&&(b=f==="input"?parseFloat(g.val()||0):g[0].selectedIndex),b=(parseFloat(b)-j)/(h-j)*100;if(!isNaN(b)){b<0&&(b=0);b>100&&(b=100);var l=b/100*(h-j)+j,m=(l-j)%k;l-=m;Math.abs(m)*2>=k&&(l+=m>0?k:-k);l=parseFloat(l.toFixed(5));l<j&&(l=j);l>h&&(l=h);this.handle.css("left",b+"%");this.handle.attr({"aria-valuenow":f==="input"?l:g.find("option").eq(l).attr("value"),"aria-valuetext":f==="input"?l:g.find("option").eq(l).getEncodedText(),title:f==="input"?l:g.find("option").eq(l).getEncodedText()});
|
||||
this.valuebg&&this.valuebg.css("width",b+"%");if(this._labels){var j=this.handle.width()/this.slider.width()*100,t=b&&j+(100-j)*b/100,n=b===100?0:Math.min(j+100-t,100);this._labels.each(function(){var b=a(this).is(".ui-slider-label-a");a(this).width((b?t:n)+"%")})}if(!e)e=false,f==="input"?(e=g.val()!==l,g.val(l)):(e=g[0].selectedIndex!==l,g[0].selectedIndex=l),!c&&e&&g.trigger("change")}},enable:function(){this.element.attr("disabled",false);this.slider.removeClass("ui-disabled").attr("aria-disabled",
|
||||
false);return this._setOption("disabled",false)},disable:function(){this.element.attr("disabled",true);this.slider.addClass("ui-disabled").attr("aria-disabled",true);return this._setOption("disabled",true)}});a(k).bind("pagecreate create",function(b){a.mobile.slider.prototype.enhanceWithin(b.target,true)})})(l);(function(a){a.widget("mobile.selectmenu",a.mobile.widget,{options:{theme:null,disabled:false,icon:"arrow-d",iconpos:"right",inline:false,corners:true,shadow:true,iconshadow:true,overlayTheme:"a",
|
||||
hidePlaceholderMenuItems:true,closeText:"Close",nativeMenu:true,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1,initSelector:"select:not(:jqmData(role='slider'))",mini:false},_button:function(){return a("<div/>")},_setDisabled:function(a){this.element.attr("disabled",a);this.button.attr("aria-disabled",a);return this._setOption("disabled",a)},_focusButton:function(){var a=this;setTimeout(function(){a.button.focus()},40)},_selectOptions:function(){return this.select.find("option")},
|
||||
_preExtension:function(){var c="";~this.element[0].className.indexOf("ui-btn-left")&&(c=" ui-btn-left");~this.element[0].className.indexOf("ui-btn-right")&&(c=" ui-btn-right");this.select=this.element.wrap("<div class='ui-select"+c+"'>");this.selectID=this.select.attr("id");this.label=a("label[for='"+this.selectID+"']").addClass("ui-select");this.isMultiple=this.select[0].multiple;if(!this.options.theme)this.options.theme=a.mobile.getInheritedTheme(this.select,"c")},_create:function(){this._preExtension();
|
||||
this._trigger("beforeCreate");this.button=this._button();var c=this,b=this.options,d=b.inline||this.select.jqmData("inline"),e=b.mini||this.select.jqmData("mini"),g=b.icon?b.iconpos||this.select.jqmData("iconpos"):false,d=this.button.text(a(this.select[0].options.item(this.select[0].selectedIndex==-1?0:this.select[0].selectedIndex)).text()).insertBefore(this.select).buttonMarkup({theme:b.theme,icon:b.icon,iconpos:g,inline:d,corners:b.corners,shadow:b.shadow,iconshadow:b.iconshadow,mini:e});b.nativeMenu&&
|
||||
t.opera&&t.opera.version&&d.addClass("ui-select-nativeonly");if(this.isMultiple)this.buttonCount=a("<span>").addClass("ui-li-count ui-btn-up-c ui-btn-corner-all").hide().appendTo(d.addClass("ui-li-has-count"));(b.disabled||this.element.attr("disabled"))&&this.disable();this.select.change(function(){c.refresh()});this.build()},build:function(){var c=this;this.select.appendTo(c.button).bind("vmousedown",function(){c.button.addClass(a.mobile.activeBtnClass)}).bind("focus",function(){c.button.addClass(a.mobile.focusClass)}).bind("blur",
|
||||
function(){c.button.removeClass(a.mobile.focusClass)}).bind("focus vmouseover",function(){c.button.trigger("vmouseover")}).bind("vmousemove",function(){c.button.removeClass(a.mobile.activeBtnClass)}).bind("change blur vmouseout",function(){c.button.trigger("vmouseout").removeClass(a.mobile.activeBtnClass)}).bind("change blur",function(){c.button.removeClass("ui-btn-down-"+c.options.theme)});c.button.bind("vmousedown",function(){c.options.preventFocusZoom&&a.mobile.zoom.disable(true)}).bind("mouseup",
|
||||
function(){c.options.preventFocusZoom&&a.mobile.zoom.enable(true)})},selected:function(){return this._selectOptions().filter(":selected")},selectedIndices:function(){var a=this;return this.selected().map(function(){return a._selectOptions().index(this)}).get()},setButtonText:function(){var c=this,b=this.selected();this.button.find(".ui-btn-text").text(function(){return!c.isMultiple?b.text():b.length?b.map(function(){return a(this).text()}).get().join(", "):c.placeholder})},setButtonCount:function(){var a=
|
||||
this.selected();this.isMultiple&&this.buttonCount[a.length>1?"show":"hide"]().text(a.length)},refresh:function(){this.setButtonText();this.setButtonCount()},open:a.noop,close:a.noop,disable:function(){this._setDisabled(true);this.button.addClass("ui-disabled")},enable:function(){this._setDisabled(false);this.button.removeClass("ui-disabled")}});a(k).bind("pagecreate create",function(c){a.mobile.selectmenu.prototype.enhanceWithin(c.target,true)})})(l);(function(a){var c=function(b){var c=b.selectID,
|
||||
e=b.label,g=b.select.closest(".ui-page"),f=a("<div>",{"class":"ui-selectmenu-screen ui-screen-hidden"}).appendTo(g),j=b._selectOptions(),h=b.isMultiple=b.select[0].multiple,l=c+"-button",o=c+"-menu",m=a("<div data-"+a.mobile.ns+"role='dialog' data-"+a.mobile.ns+"theme='"+b.options.theme+"' data-"+a.mobile.ns+"overlay-theme='"+b.options.overlayTheme+"'><div data-"+a.mobile.ns+"role='header'><div class='ui-title'>"+e.getEncodedText()+"</div></div><div data-"+a.mobile.ns+"role='content'></div></div>"),
|
||||
v=a("<div>",{"class":"ui-selectmenu ui-selectmenu-hidden ui-overlay-shadow ui-corner-all ui-body-"+b.options.overlayTheme+" "+a.mobile.defaultDialogTransition}).insertAfter(f),n=a("<ul>",{"class":"ui-selectmenu-list",id:o,role:"listbox","aria-labelledby":l}).attr("data-"+a.mobile.ns+"theme",b.options.theme).appendTo(v),r=a("<div>",{"class":"ui-header ui-bar-"+b.options.theme}).prependTo(v),p=a("<h1>",{"class":"ui-title"}).appendTo(r),s;b.isMultiple&&(s=a("<a>",{text:b.options.closeText,href:"#","class":"ui-btn-left"}).attr("data-"+
|
||||
a.mobile.ns+"iconpos","notext").attr("data-"+a.mobile.ns+"icon","delete").appendTo(r).buttonMarkup());a.extend(b,{select:b.select,selectID:c,buttonId:l,menuId:o,thisPage:g,menuPage:m,label:e,screen:f,selectOptions:j,isMultiple:h,theme:b.options.theme,listbox:v,list:n,header:r,headerTitle:p,headerClose:s,menuPageContent:void 0,menuPageClose:void 0,placeholder:"",build:function(){var c=this;c.refresh();c.select.attr("tabindex","-1").focus(function(){a(this).blur();c.button.focus()});c.button.bind("vclick keydown",
|
||||
function(b){if(b.type=="vclick"||b.keyCode&&(b.keyCode===a.mobile.keyCode.ENTER||b.keyCode===a.mobile.keyCode.SPACE))c.open(),b.preventDefault()});c.list.attr("role","listbox").bind("focusin",function(b){a(b.target).attr("tabindex","0").trigger("vmouseover")}).bind("focusout",function(b){a(b.target).attr("tabindex","-1").trigger("vmouseout")}).delegate("li:not(.ui-disabled, .ui-li-divider)","click",function(d){var e=c.select[0].selectedIndex,f=c.list.find("li:not(.ui-li-divider)").index(this),h=c._selectOptions().eq(f)[0];
|
||||
h.selected=c.isMultiple?!h.selected:true;c.isMultiple&&a(this).find(".ui-icon").toggleClass("ui-icon-checkbox-on",h.selected).toggleClass("ui-icon-checkbox-off",!h.selected);(c.isMultiple||e!==f)&&c.select.trigger("change");c.isMultiple?c.list.find("li:not(.ui-li-divider)").eq(f).addClass("ui-btn-down-"+b.options.theme).find("a").first().focus():c.close();d.preventDefault()}).keydown(function(c){var d=a(c.target),e=d.closest("li");switch(c.keyCode){case 38:return c=e.prev().not(".ui-selectmenu-placeholder"),
|
||||
c.is(".ui-li-divider")&&(c=c.prev()),c.length&&(d.blur().attr("tabindex","-1"),c.addClass("ui-btn-down-"+b.options.theme).find("a").first().focus()),false;case 40:return c=e.next(),c.is(".ui-li-divider")&&(c=c.next()),c.length&&(d.blur().attr("tabindex","-1"),c.addClass("ui-btn-down-"+b.options.theme).find("a").first().focus()),false;case 13:case 32:return d.trigger("click"),false}});c.menuPage.bind("pagehide",function(){c.list.appendTo(c.listbox);c._focusButton();a.mobile._bindPageRemove.call(c.thisPage)});
|
||||
c.screen.bind("vclick",function(){c.close()});c.isMultiple&&c.headerClose.click(function(){if(c.menuType=="overlay")return c.close(),false});c.thisPage.addDependents(this.menuPage)},_isRebuildRequired:function(){var a=this.list.find("li");return this._selectOptions().text()!==a.text()},selected:function(){return this._selectOptions().filter(":selected:not(:jqmData(placeholder='true'))")},refresh:function(b){var c=this,d;(b||this._isRebuildRequired())&&c._buildList();d=this.selectedIndices();c.setButtonText();
|
||||
c.setButtonCount();c.list.find("li:not(.ui-li-divider)").removeClass(a.mobile.activeBtnClass).attr("aria-selected",false).each(function(b){a.inArray(b,d)>-1&&(b=a(this),b.attr("aria-selected",true),c.isMultiple?b.find(".ui-icon").removeClass("ui-icon-checkbox-off").addClass("ui-icon-checkbox-on"):b.is(".ui-selectmenu-placeholder")?b.next().addClass(a.mobile.activeBtnClass):b.addClass(a.mobile.activeBtnClass))})},close:function(){if(!this.options.disabled&&this.isOpen)this.menuType=="page"?t.history.back():
|
||||
(this.screen.addClass("ui-screen-hidden"),this.listbox.addClass("ui-selectmenu-hidden").removeAttr("style").removeClass("in"),this.list.appendTo(this.listbox),this._focusButton()),this.isOpen=false},open:function(){function c(){var e=d.list.find("."+a.mobile.activeBtnClass+" a");e.length===0&&(e=d.list.find("li.ui-btn:not(:jqmData(placeholder='true')) a"));e.first().focus().closest("li").addClass("ui-btn-down-"+b.options.theme)}if(!this.options.disabled){var d=this,e=a(t),f=d.list.parent(),h=f.outerHeight(),
|
||||
f=f.outerWidth();a(".ui-page-active");var g=e.scrollTop(),j=d.button.offset().top,l=e.height(),e=e.width();d.button.addClass(a.mobile.activeBtnClass);setTimeout(function(){d.button.removeClass(a.mobile.activeBtnClass)},300);if(h>l-80||!a.support.scrollTop){d.menuPage.appendTo(a.mobile.pageContainer).page();d.menuPageContent=m.find(".ui-content");d.menuPageClose=m.find(".ui-header a");d.thisPage.unbind("pagehide.remove");if(g==0&&j>l)d.thisPage.one("pagehide",function(){a(this).jqmData("lastScroll",
|
||||
j)});d.menuPage.one("pageshow",function(){c();d.isOpen=true});d.menuType="page";d.menuPageContent.append(d.list);d.menuPage.find("div .ui-title").text(d.label.text());a.mobile.changePage(d.menuPage,{transition:a.mobile.defaultDialogTransition})}else{d.menuType="overlay";d.screen.height(a(k).height()).removeClass("ui-screen-hidden");var n=j-g,o=g+l-j,q=h/2,p=parseFloat(d.list.parent().css("max-width")),h=n>h/2&&o>h/2?j+d.button.outerHeight()/2-q:n>o?g+l-h-30:g+30;f<p?g=(e-f)/2:(g=d.button.offset().left+
|
||||
d.button.outerWidth()/2-f/2,g<30?g=30:g+f>e&&(g=e-f-30));d.listbox.append(d.list).removeClass("ui-selectmenu-hidden").css({top:h,left:g}).addClass("in");c();d.isOpen=true}}},_buildList:function(){var b=this.options,c=this.placeholder,d=true,e=this.isMultiple?"checkbox-off":"false";this.list.empty().filter(".ui-listview").listview("destroy");var f=this.select.find("option"),h=f.length,g=this.select[0],j="data-"+a.mobile.ns,l=j+"option-index",m=j+"icon",n=j+"role";j+="placeholder";for(var o=k.createDocumentFragment(),
|
||||
q=false,p,t=0;t<h;t++,q=false){var s=f[t],r=a(s),v=s.parentNode,E=r.text(),I=k.createElement("a"),L=[];I.setAttribute("href","#");I.appendChild(k.createTextNode(E));v!==g&&v.nodeName.toLowerCase()==="optgroup"&&(v=v.getAttribute("label"),v!=p&&(p=k.createElement("li"),p.setAttribute(n,"list-divider"),p.setAttribute("role","option"),p.setAttribute("tabindex","-1"),p.appendChild(k.createTextNode(v)),o.appendChild(p),p=v));if(d&&(!s.getAttribute("value")||E.length==0||r.jqmData("placeholder")))if(d=
|
||||
false,q=true,s.setAttribute(j,true),b.hidePlaceholderMenuItems&&L.push("ui-selectmenu-placeholder"),!c)c=this.placeholder=E;r=k.createElement("li");s.disabled&&(L.push("ui-disabled"),r.setAttribute("aria-disabled",true));r.setAttribute(l,t);r.setAttribute(m,e);q&&r.setAttribute(j,true);r.className=L.join(" ");r.setAttribute("role","option");I.setAttribute("tabindex","-1");r.appendChild(I);o.appendChild(r)}this.list[0].appendChild(o);!this.isMultiple&&!c.length?this.header.hide():this.headerTitle.text(this.placeholder);
|
||||
this.list.listview()},_button:function(){return a("<a>",{href:"#",role:"button",id:this.buttonId,"aria-haspopup":"true","aria-owns":this.menuId})}})};a(k).bind("selectmenubeforecreate",function(b){b=a(b.target).data("selectmenu");b.options.nativeMenu||c(b)})})(l);(function(a){a.widget("mobile.fixedtoolbar",a.mobile.widget,{options:{visibleOnPageShow:true,disablePageZoom:true,transition:"slide",fullscreen:false,tapToggle:true,tapToggleBlacklist:"a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed",
|
||||
hideDuringFocus:"input, textarea, select",updatePagePadding:true,trackPersistentToolbars:true,supportBlacklist:function(){var a=navigator.userAgent,b=navigator.platform,d=a.match(/AppleWebKit\/([0-9]+)/),d=!!d&&d[1],e=a.match(/Fennec\/([0-9]+)/),e=!!e&&e[1],g=a.match(/Opera Mobi\/([0-9]+)/),f=!!g&&g[1];return(b.indexOf("iPhone")>-1||b.indexOf("iPad")>-1||b.indexOf("iPod")>-1)&&d&&d<534||t.operamini&&{}.toString.call(t.operamini)==="[object OperaMini]"||g&&f<7458||a.indexOf("Android")>-1&&d&&d<533||
|
||||
e&&e<6||"palmGetResource"in t&&d&&d<534||a.indexOf("MeeGo")>-1&&a.indexOf("NokiaBrowser/8.5.0")>-1?true:false},initSelector:":jqmData(position='fixed')"},_create:function(){var a=this.options,b=this.element,d=b.is(":jqmData(role='header')")?"header":"footer",e=b.closest(".ui-page");a.supportBlacklist()?this.destroy():(b.addClass("ui-"+d+"-fixed"),a.fullscreen?(b.addClass("ui-"+d+"-fullscreen"),e.addClass("ui-page-"+d+"-fullscreen")):e.addClass("ui-page-"+d+"-fixed"),this._addTransitionClass(),this._bindPageEvents(),
|
||||
this._bindToggleHandlers())},_addTransitionClass:function(){var a=this.options.transition;a&&a!=="none"&&(a==="slide"&&(a=this.element.is(".ui-header")?"slidedown":"slideup"),this.element.addClass(a))},_bindPageEvents:function(){var c=this,b=c.options;c.element.closest(".ui-page").bind("pagebeforeshow",function(){b.disablePageZoom&&a.mobile.zoom.disable(true);b.visibleOnPageShow||c.hide(true)}).bind("webkitAnimationStart animationstart updatelayout",function(){b.updatePagePadding&&c.updatePagePadding(this)}).bind("pageshow",
|
||||
function(){var d=this;c.updatePagePadding(d);b.updatePagePadding&&a(t).bind("throttledresize."+c.widgetName,function(){c.updatePagePadding(d)})}).bind("pagebeforehide",function(d,e){b.disablePageZoom&&a.mobile.zoom.enable(true);b.updatePagePadding&&a(t).unbind("throttledresize."+c.widgetName);if(b.trackPersistentToolbars){var g=a(".ui-footer-fixed:jqmData(id)",this),f=a(".ui-header-fixed:jqmData(id)",this),j=g.length&&e.nextPage&&a(".ui-footer-fixed:jqmData(id='"+g.jqmData("id")+"')",e.nextPage),
|
||||
h=f.length&&e.nextPage&&a(".ui-header-fixed:jqmData(id='"+f.jqmData("id")+"')",e.nextPage),j=j||a();if(j.length||h.length)j.add(h).appendTo(a.mobile.pageContainer),e.nextPage.one("pageshow",function(){j.add(h).appendTo(this)})}})},_visible:true,updatePagePadding:function(c){var b=this.element,d=b.is(".ui-header");this.options.fullscreen||(c=c||b.closest(".ui-page"),a(c).css("padding-"+(d?"top":"bottom"),b.outerHeight()))},_useTransition:function(c){var b=this.element,d=a(t).scrollTop(),e=b.height(),
|
||||
g=b.closest(".ui-page").height(),f=a.mobile.getScreenHeight(),b=b.is(":jqmData(role='header')")?"header":"footer";return!c&&(this.options.transition&&this.options.transition!=="none"&&(b==="header"&&!this.options.fullscreen&&d>e||b==="footer"&&!this.options.fullscreen&&d+f<g-e)||this.options.fullscreen)},show:function(a){var b=this.element;this._useTransition(a)?b.removeClass("out ui-fixed-hidden").addClass("in"):b.removeClass("ui-fixed-hidden");this._visible=true},hide:function(a){var b=this.element,
|
||||
d="out"+(this.options.transition==="slide"?" reverse":"");this._useTransition(a)?b.addClass(d).removeClass("in").animationComplete(function(){b.addClass("ui-fixed-hidden").removeClass(d)}):b.addClass("ui-fixed-hidden").removeClass(d);this._visible=false},toggle:function(){this[this._visible?"hide":"show"]()},_bindToggleHandlers:function(){var c=this,b=c.options;c.element.closest(".ui-page").bind("vclick",function(d){b.tapToggle&&!a(d.target).closest(b.tapToggleBlacklist).length&&c.toggle()}).bind("focusin focusout",
|
||||
function(d){if(screen.width<500&&a(d.target).is(b.hideDuringFocus)&&!a(d.target).closest(".ui-header-fixed, .ui-footer-fixed").length)c[d.type==="focusin"&&c._visible?"hide":"show"]()})},destroy:function(){this.element.removeClass("ui-header-fixed ui-footer-fixed ui-header-fullscreen ui-footer-fullscreen in out fade slidedown slideup ui-fixed-hidden");this.element.closest(".ui-page").removeClass("ui-page-header-fixed ui-page-footer-fixed ui-page-header-fullscreen ui-page-footer-fullscreen")}});a(k).bind("pagecreate create",
|
||||
function(c){a(c.target).jqmData("fullscreen")&&a(a.mobile.fixedtoolbar.prototype.options.initSelector,c.target).not(":jqmData(fullscreen)").jqmData("fullscreen",true);a.mobile.fixedtoolbar.prototype.enhanceWithin(c.target)})})(l);(function(a,c){if(/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1){var b=a.mobile.zoom,d,e,g,f,j;a(c).bind("orientationchange.iosorientationfix",b.enable).bind("devicemotion.iosorientationfix",function(a){d=a.originalEvent;j=d.accelerationIncludingGravity;
|
||||
e=Math.abs(j.x);g=Math.abs(j.y);f=Math.abs(j.z);!c.orientation&&(e>7||(f>6&&g<8||f<8&&g>6)&&e>5)?b.enabled&&b.disable():b.enabled||b.enable()})}})(l,this);(function(a,c){function b(){var b=a("."+a.mobile.activeBtnClass).first();j.css({top:a.support.scrollTop&&f.scrollTop()+f.height()/2||b.length&&b.offset().top||100})}function d(){var c=j.offset(),e=f.scrollTop(),g=a.mobile.getScreenHeight();if(c.top<e||c.top-e>g)j.addClass("ui-loader-fakefix"),b(),f.unbind("scroll",d).bind("scroll",b)}function e(){g.removeClass("ui-mobile-rendering")}
|
||||
var g=a("html");a("head");var f=a(c);a(c.document).trigger("mobileinit");if(a.mobile.gradeA()){if(a.mobile.ajaxBlacklist)a.mobile.ajaxEnabled=false;g.addClass("ui-mobile ui-mobile-rendering");setTimeout(e,5E3);var j=a("<div class='ui-loader'><span class='ui-icon ui-icon-loading'></span><h1></h1></div>");a.extend(a.mobile,{showPageLoadingMsg:function(b,c,e){g.addClass("ui-loading");if(a.mobile.loadingMessage){var k=e||a.mobile.loadingMessageTextVisible;b=b||a.mobile.loadingMessageTheme;j.attr("class",
|
||||
"ui-loader ui-corner-all ui-body-"+(b||"a")+" ui-loader-"+(k?"verbose":"default")+(e?" ui-loader-textonly":"")).find("h1").text(c||a.mobile.loadingMessage).end().appendTo(a.mobile.pageContainer);d();f.bind("scroll",d)}},hidePageLoadingMsg:function(){g.removeClass("ui-loading");a.mobile.loadingMessage&&j.removeClass("ui-loader-fakefix");a(c).unbind("scroll",b);a(c).unbind("scroll",d)},initializePage:function(){var b=a(":jqmData(role='page'), :jqmData(role='dialog')");b.length||(b=a("body").wrapInner("<div data-"+
|
||||
a.mobile.ns+"role='page'></div>").children(0));b.each(function(){var b=a(this);b.jqmData("url")||b.attr("data-"+a.mobile.ns+"url",b.attr("id")||location.pathname+location.search)});a.mobile.firstPage=b.first();a.mobile.pageContainer=b.first().parent().addClass("ui-mobile-viewport");f.trigger("pagecontainercreate");a.mobile.showPageLoadingMsg();e();!a.mobile.hashListeningEnabled||!a.mobile.path.isHashValid(location.hash)||!a(location.hash+':jqmData(role="page")').length&&!a.mobile.path.isPath(location.hash)?
|
||||
a.mobile.changePage(a.mobile.firstPage,{transition:"none",reverse:true,changeHash:false,fromHashChange:true}):f.trigger("hashchange",[true])}});a.mobile.navreadyDeferred.resolve();a(function(){c.scrollTo(0,1);a.mobile.defaultHomeScroll=!a.support.scrollTop||a(c).scrollTop()===1?0:1;a.fn.controlgroup&&a(k).bind("pagecreate create",function(b){a(":jqmData(role='controlgroup')",b.target).jqmEnhanceable().controlgroup({excludeInvisible:false})});a.mobile.autoInitializePage&&a.mobile.initializePage();
|
||||
f.load(a.mobile.silentScroll);a.support.cssPointerEvents||a(k).delegate(".ui-disabled","vclick",function(a){a.preventDefault();a.stopImmediatePropagation()})})}})(l,this)});
|
||||
1130
themes/default/mobile/js/jquery.touch-gallery.js
Normal file
135
themes/default/mobile/js/opc.js
Normal file
@@ -0,0 +1,135 @@
|
||||
$( '.prestashop-page' ).live( 'pageinit' , function() {
|
||||
initEvent();
|
||||
});
|
||||
$( '.prestashop-page' ).live( 'pagechange' , function() {
|
||||
initEvent();
|
||||
});
|
||||
|
||||
function initEvent()
|
||||
{
|
||||
$('.qty-field').change(function() {
|
||||
var initial_quantity = $(this).data('initial-quantity');
|
||||
var current_quantity = $(this).val();
|
||||
|
||||
if (initial_quantity != current_quantity)
|
||||
{
|
||||
var op = 'up';
|
||||
if (initial_quantity > current_quantity)
|
||||
op = 'down';
|
||||
|
||||
var qty = Math.abs(current_quantity - initial_quantity);
|
||||
|
||||
$.mobile.showPageLoadingMsg();
|
||||
$.ajax({
|
||||
url: baseDir,
|
||||
async: true,
|
||||
cache: false,
|
||||
data: 'controller=cart&add&id_product='+$(this).data('id-product')+'&ipa='+$(this).data('id-product-attribute')+'&op='+op+'&qty='+qty+'&id_address_delivery=0&token='+static_token,
|
||||
success: function()
|
||||
{
|
||||
$.mobile.changePage(baseDir+'index.php?controller=order-opc', { reloadPage: true });
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('.address-field').change(function() {
|
||||
$.mobile.showPageLoadingMsg();
|
||||
$.ajax({
|
||||
url: baseDir,
|
||||
async: true,
|
||||
cache: false,
|
||||
data: 'controller=order-opc&ajax=true&mobile_theme=true&method=updateAddressesSelected&id_address_delivery=' + $('#delivery-address-choice').val() + '&id_address_invoice=' + $('#invoice-address-choice').val() + '&token=' + static_token,
|
||||
success: function()
|
||||
{
|
||||
$.mobile.changePage(baseDir+'index.php?controller=order-opc', { reloadPage: true });
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//
|
||||
$("#addressesAreEquals").bind("change", function(event, ui) {
|
||||
$("#address_invoice_form").toggle();
|
||||
});
|
||||
// paquet cadeau
|
||||
$("#gift").bind("change", function(event, ui) {
|
||||
$("#gift_div").toggle();
|
||||
});
|
||||
|
||||
$('.delivery_option_radio').click(function() {
|
||||
updateCarrierSection($(this));
|
||||
});
|
||||
|
||||
$('#gift').click(function() {
|
||||
giftShowDiv();
|
||||
});
|
||||
|
||||
$('#gift_div').change(function() {
|
||||
updateCarrierSection($(this));
|
||||
});
|
||||
|
||||
$('#cgv').click(function() {
|
||||
if ($('#cgv:checked').length != 0)
|
||||
var checked = 1;
|
||||
else
|
||||
var checked = 0;
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: orderOpcUrl,
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType : "json",
|
||||
data: 'ajax=true&method=updateTOSStatusAndGetPayments&checked=' + checked + '&token=' + static_token,
|
||||
success: function(json)
|
||||
{
|
||||
$.mobile.changePage(baseDir+'index.php?controller=order-opc', { reloadPage: true });
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function giftShowDiv()
|
||||
{
|
||||
if ($('#gift').is(':checked'))
|
||||
$('#gift_div').show();
|
||||
else
|
||||
$('#gift_div').hide();
|
||||
}
|
||||
|
||||
function updateCarrierSection(elm)
|
||||
{
|
||||
var recyclablePackage = 0;
|
||||
var gift = 0;
|
||||
var giftMessage = '';
|
||||
|
||||
var delivery_option_radio = $('.delivery_option_radio');
|
||||
var delivery_option_params = '&';
|
||||
$.each(delivery_option_radio, function(i) {
|
||||
if ($(this).prop('checked'))
|
||||
delivery_option_params += $(delivery_option_radio[i]).attr('name') + '=' + $(delivery_option_radio[i]).val() + '&';
|
||||
});
|
||||
if (delivery_option_params == '&')
|
||||
delivery_option_params = '&delivery_option=&'
|
||||
|
||||
if ($('input#recyclable:checked').length)
|
||||
recyclablePackage = 1;
|
||||
if ($('input#gift:checked').length)
|
||||
{
|
||||
gift = 1;
|
||||
giftMessage = encodeURIComponent($('textarea#gift_message').val());
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: orderOpcUrl,
|
||||
async: true,
|
||||
cache: false,
|
||||
dataType : "json",
|
||||
data: 'ajax=true&method=updateCarrierAndGetPayments' + delivery_option_params + 'recyclable=' + recyclablePackage + '&gift=' + gift + '&gift_message=' + giftMessage + '&token=' + static_token ,
|
||||
success: function(jsonData)
|
||||
{
|
||||
if (!elm.is('#gift'))
|
||||
$.mobile.changePage(baseDir+'index.php?controller=order-opc', { reloadPage: true });
|
||||
}
|
||||
});
|
||||
}
|
||||
732
themes/default/mobile/js/product.js
Normal file
@@ -0,0 +1,732 @@
|
||||
/*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 7310 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
|
||||
// TODO finish the customization behaviour
|
||||
|
||||
var ProductFn = (function()
|
||||
{
|
||||
return {
|
||||
// PrestaShop internal settings
|
||||
currencySign:'',
|
||||
currencyRate:'',
|
||||
currencyFormat:'',
|
||||
currencyBlank:'',
|
||||
taxRate: 0,
|
||||
|
||||
// Parameters
|
||||
id_product: '',
|
||||
productHasAttributes: false,
|
||||
quantitiesDisplayAllowed: false,
|
||||
quantityAvailable: 0,
|
||||
allowBuyWhenOutOfStock: false,
|
||||
availableNowValue: '',
|
||||
availableLaterValue: '',
|
||||
productPriceTaxExcluded: 0,
|
||||
reduction_percent: 0,
|
||||
reduction_price: 0,
|
||||
specific_price: 0,
|
||||
product_specific_price: [],
|
||||
globalQuantity: 0,
|
||||
|
||||
specific_currency: false,
|
||||
group_reduction: '',
|
||||
default_eco_tax: 0,
|
||||
ecotaxTax_rate: 0,
|
||||
currentDate: '',
|
||||
maxQuantityToAllowDisplayOfLastQuantityMessage: 0,
|
||||
noTaxForThisProduct: false,
|
||||
displayPrice: 0,
|
||||
productReference: '',
|
||||
productAvailableForOrder: '',
|
||||
productShowPrice: '0',
|
||||
productUnitPriceRatio: '',
|
||||
|
||||
productPriceWithoutRedution: '',
|
||||
productPrice: '',
|
||||
|
||||
// Customizable field
|
||||
img_ps_dir: '',
|
||||
customizationFields: [],
|
||||
|
||||
// Images
|
||||
img_prod_dir: '',
|
||||
combinationImages: [],
|
||||
|
||||
// Translations
|
||||
doesntExist: '',
|
||||
doesntExistNoMore: '',
|
||||
doesntExistNoMoreBut: '',
|
||||
uploading_in_progress: '',
|
||||
fieldRequired: '',
|
||||
|
||||
// Combinations attributes informations
|
||||
attributesCombinations: [],
|
||||
combinations: [],
|
||||
selectedCombination: {},
|
||||
|
||||
original_url: '',
|
||||
already_init: false,
|
||||
|
||||
init: function()
|
||||
{
|
||||
if (ProductFn.already_init) {
|
||||
return true;
|
||||
}
|
||||
ProductFn.already_init = true;
|
||||
if ($('.attributes_group select').length) {
|
||||
initAttrSelector();
|
||||
}
|
||||
ProductFn.checkMinimalQuantity();
|
||||
$('#quantity_wanted').bind('keyup', function() {
|
||||
if ($(this).val() != '') {
|
||||
ProductFn.checkMinimalQuantity();
|
||||
}
|
||||
});
|
||||
$('#quantity_wanted').bind('blur', function() {
|
||||
ProductFn.checkMinimalQuantity();
|
||||
});
|
||||
|
||||
checkUrl();
|
||||
},
|
||||
checkMinimalQuantity: function()
|
||||
{
|
||||
if ($('#quantity_wanted').val() < ProductFn.selectedCombination.minimalQuantity)
|
||||
{
|
||||
$('#quantity_wanted').css('border', '1px solid red');
|
||||
$('#minimal_quantity_wanted_p').css({color: 'red', display: 'block'});
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#quantity_wanted').css('border', '1px solid #BDC2C9');
|
||||
$('#minimal_quantity_wanted_p').css({color: '#374853'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initAttrSelector()
|
||||
{
|
||||
$('.attributes_group select').change(function()
|
||||
{
|
||||
findCombination();
|
||||
});
|
||||
$('.attributes_group input[type=radio]').click(function()
|
||||
{
|
||||
findCombination();
|
||||
});
|
||||
}
|
||||
|
||||
// search the combinations' case of attributes and update displaying of availability, prices, ecotax, and image
|
||||
function findCombination(firstTime)
|
||||
{
|
||||
$('#minimal_quantity_wanted_p').fadeOut();
|
||||
$('#quantity_wanted').val(1);
|
||||
|
||||
//create a temporary 'choice' array containing the choices of the customer
|
||||
var choice = new Array();
|
||||
$('div#attributes select, div#attributes input[type=hidden], div#attributes input[type=radio]:checked').each(function(){
|
||||
choice.push($(this).val());
|
||||
});
|
||||
|
||||
ProductFn.selectedCombination = new ProductCombination();
|
||||
var combinationFound = false;
|
||||
//testing every combination to find the conbination's attributes' case of the user
|
||||
for (var combination = 0; combination < ProductFn.combinations.length; ++combination)
|
||||
{
|
||||
var oCombination = ProductFn.combinations[combination];
|
||||
//verify if this combinaison is the same that the user's choice
|
||||
var combinationMatchForm = true;
|
||||
$.each(oCombination.idsAttributes, function(key, value) {
|
||||
if (!in_array(value, choice)) {
|
||||
combinationMatchForm = false;
|
||||
}
|
||||
});
|
||||
|
||||
if (combinationMatchForm)
|
||||
{
|
||||
combinationFound = true;
|
||||
//get the data of product with these attributes
|
||||
ProductFn.selectedCombination = oCombination;
|
||||
|
||||
if (oCombination.minimalQuantity > 1)
|
||||
{
|
||||
$('#minimal_quantity_label').html(oCombination.minimalQuantity);
|
||||
$('#minimal_quantity_wanted_p').fadeIn();
|
||||
$('#quantity_wanted').val(oCombination.minimalQuantity);
|
||||
}
|
||||
|
||||
ProductFn.checkMinimalQuantity();
|
||||
|
||||
// Is the hidden field for the form
|
||||
$('#idCombination').val(oCombination.id);
|
||||
|
||||
//get the data of product with these attributes
|
||||
ProductFn.quantityAvailable = oCombination.quantity;
|
||||
|
||||
// show the large image in relation to the selected combination
|
||||
if (oCombination.idImage && oCombination.idImage != -1)
|
||||
ProductDisplay.image(firstTime);
|
||||
|
||||
// show discounts values according to the selected combination
|
||||
if (oCombination.id && oCombination.id > 0)
|
||||
{
|
||||
ProductDisplay.discounts();
|
||||
ProductDisplay.refreshImages(oCombination.id);
|
||||
}
|
||||
|
||||
//leave the loop because combination has been found
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!combinationFound)
|
||||
{
|
||||
//this combination doesn't exist (not created in back office)
|
||||
ProductFn.selectedCombination.unavailable = true;
|
||||
}
|
||||
//update the display
|
||||
ProductDisplay.update();
|
||||
}
|
||||
|
||||
function saveCustomization()
|
||||
{
|
||||
$('#quantityBackup').val($('#quantity_wanted').val());
|
||||
customAction = $('#customizationForm').attr('action');
|
||||
$('body select[id^="group_"]').each(function() {
|
||||
customAction = customAction.replace(new RegExp(this.id + '=\\d+'), this.id +'='+this.value);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: customAction,
|
||||
data: 'ajax=true&'+$('#customizationForm').serialize(),
|
||||
dataType: 'json',
|
||||
async : true,
|
||||
success: function(data) {
|
||||
$('#customizedDatas').fadeOut();
|
||||
$('#customizedDatas').html(input_save_customized_datas);
|
||||
$('#customizedDatas').fadeIn();
|
||||
if (!data.hasErrors)
|
||||
{
|
||||
$('#customizationForm').find('.error').fadeOut(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
// display a confirmation message
|
||||
if ($('#customizationForm').find('.success').val() == undefined)
|
||||
$('#customizationForm').prepend("<p class='success'>"+data.conf+"</p>");
|
||||
else
|
||||
$('#customizationForm.success').html("<p class='success'>"+data.conf+"</p>");
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#customizationForm').find('.success').fadeOut(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
// display an error message
|
||||
if ($('#customizationForm').find('.error').val() == undefined)
|
||||
{
|
||||
$('#customizationForm').prepend("<p class='error'></p>");
|
||||
for (var i = 0; i < data.errors.length; i++)
|
||||
$('#customizationForm .error').html($('#customizationForm .error').html()+data.errors[i]+"<br />");
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#customizationForm .error').html('');
|
||||
for (var i = 0; i < data.errors.length; i++)
|
||||
$('#customizationForm .error').html($('#customizationForm .error').html()+data.errors[i]+"<br />");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function checkUrl()
|
||||
{
|
||||
var url = ProductFn.original_url;
|
||||
// if we need to load a specific combination
|
||||
if (url.indexOf('#/') != -1)
|
||||
{
|
||||
// get the params to fill from a "normal" url
|
||||
var params = url.substring(url.indexOf('#') + 1, url.length);
|
||||
var tabParams = params.split('/');
|
||||
var tabValues = new Array();
|
||||
if (tabParams[0] == '')
|
||||
tabParams.shift();
|
||||
for (i in tabParams)
|
||||
tabValues.push(tabParams[i].split('-'));
|
||||
//var product_id = $('#product_page_product_id').val();
|
||||
// fill html with values
|
||||
var count = 0;
|
||||
for (z in tabValues)
|
||||
for (a in ProductFn.attributesCombinations)
|
||||
if (ProductFn.attributesCombinations[a].group == tabValues[z][0]
|
||||
&& ProductFn.attributesCombinations[a].attribute == tabValues[z][1])
|
||||
{
|
||||
count++;
|
||||
// add class 'selected' to the selected color
|
||||
$('#attributes').find('input:radio[value='+ProductFn.attributesCombinations[a].id_attribute+']').attr('checked', 'checked').checkboxradio("refresh")
|
||||
$('#attributes').find('input:hidden[name=group_'+ProductFn.attributesCombinations[a].id_attribute_group+']').val(ProductFn.attributesCombinations[a].id_attribute)
|
||||
$('#attributes').find('select[name=group_'+ProductFn.attributesCombinations[a].id_attribute_group+']')
|
||||
.find('option[value='+ProductFn.attributesCombinations[a].id_attribute+']').attr('selected', 'selected').end().selectmenu('refresh');;
|
||||
}
|
||||
// find combination
|
||||
if (count > 0) {
|
||||
findCombination(true);
|
||||
}
|
||||
var $url = $.mobile.path.parseUrl(ProductFn.original_url);
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
var ProductDisplay = (function()
|
||||
{
|
||||
return {
|
||||
idDefaultImage: 0,
|
||||
//update display of the discounts table
|
||||
discounts: function()
|
||||
{
|
||||
$('#quantityDiscount table tbody tr').each(function() {
|
||||
if (($(this).attr('id') != 'quantityDiscount_0') &&
|
||||
($(this).attr('id') != 'quantityDiscount_'+ProductFn.selectedCombination.id) &&
|
||||
($(this).attr('id') != 'noQuantityDiscount'))
|
||||
$(this).fadeOut('slow');
|
||||
});
|
||||
|
||||
if ($('#quantityDiscount_'+ProductFn.selectedCombination.id).length != 0) {
|
||||
$('#quantityDiscount_'+ProductFn.selectedCombination.id).show();
|
||||
$('#noQuantityDiscount').hide();
|
||||
} else
|
||||
$('#noQuantityDiscount').show();
|
||||
},
|
||||
refreshImages: function(id_product_attribute)
|
||||
{
|
||||
// Change the current product images regarding the combination selected
|
||||
/*$('#thumbs_list_frame').scrollTo('li:eq(0)', 700, {axis:'x'});*/
|
||||
$('.thumbs_list li').hide();
|
||||
id_product_attribute = parseInt(id_product_attribute);
|
||||
|
||||
if (typeof(ProductFn.combinationImages) != 'undefined' && typeof(ProductFn.combinationImages[id_product_attribute]) != 'undefined')
|
||||
{
|
||||
for (var i = 0; i < ProductFn.combinationImages[id_product_attribute].length; i++)
|
||||
$('#thumbnail_' + parseInt(ProductFn.combinationImages[id_product_attribute][i])).show();
|
||||
}
|
||||
if (i > 0)
|
||||
{
|
||||
/*var thumb_width = $('#thumbs_list_frame >li').width()+parseInt($('#thumbs_list_frame >li').css('marginRight'));
|
||||
$('#thumbs_list_frame').width((parseInt((thumb_width)* i) + 3) + 'px'); // Bug IE6, needs 3 pixels more ?*/
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#thumbnail_' + ProductDisplay.idDefaultImage).show();
|
||||
ProductDisplay.image($('#thumbnail_'+ ProductDisplay.idDefaultImage +' a'));
|
||||
}
|
||||
//$('#thumbs_list').trigger('goto', 0);
|
||||
//serialScrollFixLock('', '', '', '', 0);// SerialScroll Bug on goto 0 ?
|
||||
},
|
||||
//update display of the large image
|
||||
image: function($el, no_animation)
|
||||
{
|
||||
$el = $('#thumbnail_'+ProductFn.selectedCombination.idImage+' img');
|
||||
|
||||
if (typeof(no_animation) == 'undefined')
|
||||
no_animation = false;
|
||||
if ($el.data('large'))
|
||||
{
|
||||
var newSrc = $el.data('large').replace('thickbox','large');
|
||||
if ($('#bigpic').attr('src') != newSrc)
|
||||
{
|
||||
$('#bigpic').fadeOut((no_animation ? 0 : 'fast'), function() {
|
||||
$(this).attr('src', newSrc).show();
|
||||
});
|
||||
}
|
||||
$('.view_product .thumbs_list li a').removeClass('shown');
|
||||
$el.addClass('shown');
|
||||
}
|
||||
},
|
||||
|
||||
quantityIsAvailable: function()
|
||||
{
|
||||
//show the choice of quantities
|
||||
$('#quantity_wanted_p:hidden').show('slow');
|
||||
|
||||
//show the "add to cart" button ONLY if it was hidden
|
||||
$('#add_to_cart:hidden').fadeIn(600);
|
||||
|
||||
//hide availability date
|
||||
/* =============================================
|
||||
* Don't exists ??
|
||||
$('#availability_date_label').hide();
|
||||
$('#availability_date_value').hide();
|
||||
============================================= */
|
||||
|
||||
//availability value management
|
||||
if (ProductFn.availableNowValue != '')
|
||||
{
|
||||
//update the availability statut of the product
|
||||
$('#availability_value').removeClass('warning_inline');
|
||||
$('#availability_value').text(ProductFn.availableNowValue);
|
||||
$('#availability_statut:hidden').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
//hide the availability value
|
||||
$('#availability_statut:visible').hide();
|
||||
}
|
||||
|
||||
//'last quantities' message management
|
||||
if (!ProductFn.allowBuyWhenOutOfStock)
|
||||
{
|
||||
if (ProductFn.quantityAvailable <= ProductFn.maxQuantityToAllowDisplayOfLastQuantityMessage)
|
||||
$('#last_quantities').show('slow');
|
||||
else
|
||||
$('#last_quantities').hide('slow');
|
||||
}
|
||||
|
||||
if (ProductFn.quantitiesDisplayAllowed)
|
||||
{
|
||||
$('#pQuantityAvailable:hidden').show('slow');
|
||||
$('#quantityAvailable').text(ProductFn.quantityAvailable);
|
||||
|
||||
if (ProductFn.quantityAvailable < 2) // we have 1 or less product in stock and need to show "item" instead of "items"
|
||||
{
|
||||
$('#quantityAvailableTxt').show();
|
||||
$('#quantityAvailableTxtMultiple').hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#quantityAvailableTxt').hide();
|
||||
$('#quantityAvailableTxtMultiple').show();
|
||||
}
|
||||
}
|
||||
},
|
||||
quantityIsNotAvailable: function()
|
||||
{
|
||||
//hide 'last quantities' message if it was previously visible
|
||||
$('#last_quantities:visible').hide('slow');
|
||||
|
||||
//hide the quantity of pieces if it was previously visible
|
||||
$('#pQuantityAvailable:visible').hide('slow');
|
||||
|
||||
//hide the choice of quantities
|
||||
if (!ProductFn.allowBuyWhenOutOfStock)
|
||||
$('#quantity_wanted_p:visible').hide('slow');
|
||||
|
||||
//display that the product is unavailable with theses attributes
|
||||
if (!ProductFn.selectedCombination['unavailable'])
|
||||
$('#availability_value').text(ProductFn.doesntExistNoMore + (ProductFn.globalQuantity > 0 ? ' ' + ProductFn.doesntExistNoMoreBut : '')).addClass('warning_inline');
|
||||
else
|
||||
{
|
||||
$('#availability_value').text(doesntExist).addClass('warning_inline');
|
||||
$('#oosHook').hide();
|
||||
}
|
||||
$('#availability_statut:hidden').show();
|
||||
|
||||
//display availability date
|
||||
if (ProductFn.selectedCombination.length)
|
||||
{
|
||||
var available_date = ProductFn.selectedCombination['available_date'];
|
||||
tab_date = available_date.split('-');
|
||||
var time_available = new Date(tab_date[2], tab_date[1], tab_date[0]);
|
||||
time_available.setMonth(time_available.getMonth()-1);
|
||||
var now = new Date();
|
||||
// date displayed only if time_available
|
||||
if (now.getTime() < time_available.getTime())
|
||||
{
|
||||
$('#availability_date_value').text(ProductFn.selectedCombination['available_date']);
|
||||
$('#availability_date_label').show();
|
||||
$('#availability_date_value').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#availability_date_label').hide();
|
||||
$('#availability_date_value').hide();
|
||||
}
|
||||
}
|
||||
//show the 'add to cart' button ONLY IF it's possible to buy when out of stock AND if it was previously invisible
|
||||
if (ProductFn.allowBuyWhenOutOfStock && !ProductFn.selectedCombination['unavailable'] && ProductFn.productAvailableForOrder == 1)
|
||||
{
|
||||
$('#add_to_cart:hidden').fadeIn(600);
|
||||
|
||||
if (ProductFn.availableLaterValue != '')
|
||||
{
|
||||
$('#availability_value').text(ProductFn.availableLaterValue);
|
||||
$('p#availability_statut:hidden').show('slow');
|
||||
}
|
||||
else
|
||||
$('p#availability_statut:visible').hide('slow');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#add_to_cart:visible').fadeOut(600);
|
||||
$('p#availability_statut:hidden').show('slow');
|
||||
}
|
||||
|
||||
if (ProductFn.productAvailableForOrder == 0)
|
||||
$('p#availability_statut:visible').hide();
|
||||
},
|
||||
combinationRef: function()
|
||||
{
|
||||
if (ProductFn.selectedCombination.reference || ProductFn.productReference)
|
||||
{
|
||||
if (ProductFn.selectedCombination.reference)
|
||||
$('#product_reference span').text(ProductFn.selectedCombination.reference);
|
||||
else if (ProductFn.productReference)
|
||||
$('#product_reference span').text(ProductFn.productReference);
|
||||
$('#product_reference:hidden').show('slow');
|
||||
}
|
||||
else
|
||||
$('#product_reference:visible').hide('slow');
|
||||
},
|
||||
price: function()
|
||||
{
|
||||
// retrieve price without group_reduction in order to compute the group reduction after
|
||||
// the specific price discount (done in the JS in order to keep backward compatibility)
|
||||
if (!ProductFn.displayPrice && !ProductFn.noTaxForThisProduct)
|
||||
{
|
||||
var priceTaxExclWithoutGroupReduction = ps_round(ProductFn.productPriceTaxExcluded, 6) * (1 / ProductFn.group_reduction);
|
||||
} else {
|
||||
var priceTaxExclWithoutGroupReduction = ps_round(ProductFn.productPriceTaxExcluded, 6) * (1 / ProductFn.group_reduction);
|
||||
}
|
||||
var combination_add_price = ProductFn.selectedCombination.price * ProductFn.group_reduction;
|
||||
|
||||
var tax = (ProductFn.taxRate / 100) + 1;
|
||||
|
||||
var display_specific_price;
|
||||
if (ProductFn.selectedCombination.specific_price)
|
||||
{
|
||||
display_specific_price = ProductFn.selectedCombination.specific_price.price;
|
||||
if (ProductFn.selectedCombination.specific_price.reduction_type == 'percentage')
|
||||
{
|
||||
$('#reduction_amount').hide();
|
||||
$('#reduction_percent_display').html('-' + parseFloat(ProductFn.selectedCombination.specific_price.reduction_percent) + '%');
|
||||
$('#reduction_percent').show();
|
||||
} else if (ProductFn.selectedCombination.specific_price.reduction_type == 'amount') {
|
||||
$('#reduction_percent').hide();
|
||||
$('#reduction_amount').show();
|
||||
} else {
|
||||
$('#reduction_percent').hide();
|
||||
$('#reduction_amount').hide();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
display_specific_price = ProductFn.product_specific_price.price;
|
||||
if (ProductFn.product_specific_price.reduction_type == 'percentage')
|
||||
$('#reduction_percent_display').html(ProductFn.product_specific_price.specific_price.reduction_percent);
|
||||
}
|
||||
|
||||
if (ProductFn.product_specific_price.reduction_type != '' || ProductFn.selectedCombination.specific_price.reduction_type != '')
|
||||
$('#discount_reduced_price,#old_price').show();
|
||||
else
|
||||
$('#discount_reduced_price,#old_price').hide();
|
||||
|
||||
if (ProductFn.product_specific_price.reduction_type == 'percentage' || ProductFn.selectedCombination.specific_price.reduction_type == 'percentage')
|
||||
$('#reduction_percent').show();
|
||||
else
|
||||
$('#reduction_percent').hide();
|
||||
if (ProductFn.display_specific_price)
|
||||
$('#not_impacted_by_discount').show();
|
||||
else
|
||||
$('#not_impacted_by_discount').hide();
|
||||
|
||||
var taxExclPrice = 0;
|
||||
if (ProductFn.display_specific_price) {
|
||||
taxExclPrice = ProductFn.specific_currency ? ProductFn.display_specific_price : ProductFn.display_specific_price * ProductFn.currencyRate;
|
||||
} else {
|
||||
taxExclPrice = priceTaxExclWithoutGroupReduction;
|
||||
}
|
||||
taxExclPrice += ProductFn.selectedCombination['price'] * ProductFn.currencyRate
|
||||
|
||||
if (ProductFn.display_specific_price)
|
||||
ProductFn.productPriceWithoutReduction = priceTaxExclWithoutGroupReduction + selectedCombination['price'] * currencyRate; // Need to be global => no var
|
||||
|
||||
if (!ProductFn.displayPrice && !ProductFn.noTaxForThisProduct)
|
||||
{
|
||||
ProductFn.productPrice = taxExclPrice * tax; // Need to be global => no var
|
||||
if (ProductFn.display_specific_price)
|
||||
ProductFn.productPriceWithoutReduction = ps_round(ProductFn.productPriceWithoutReduction * tax, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
ProductFn.productPrice = ps_round(taxExclPrice, 2); // Need to be global => no var
|
||||
if (ProductFn.display_specific_price)
|
||||
ProductFn.productPriceWithoutReduction = ps_round(ProductFn.productPriceWithoutReduction, 2);
|
||||
}
|
||||
|
||||
var reduction = 0;
|
||||
if (ProductFn.selectedCombination.specific_price.reduction_price || ProductFn.selectedCombination.specific_price.reduction_percent)
|
||||
{
|
||||
ProductFn.selectedCombination.specific_price.reduction_price = (ProductFn.specific_currency ? ProductFn.selectedCombination.specific_price.reduction_price : ProductFn.selectedCombination.specific_price.reduction_price * ProductFn.currencyRate);
|
||||
reduction = ProductFn.productPrice * (parseFloat(ProductFn.selectedCombination.specific_price.reduction_percent) / 100) + ProductFn.selectedCombination.specific_price.reduction_price;
|
||||
if (ProductFn.selectedCombination.specific_price.reduction_price && (ProductFn.displayPrice || ProductFn.noTaxForThisProduct))
|
||||
reduction = ps_round(reduction / tax, 6);
|
||||
}
|
||||
else if (ProductFn.product_specific_price.reduction_price || ProductFn.product_specific_price.reduction_percent)
|
||||
{
|
||||
ProductFn.product_specific_price.reduction_price = (ProductFn.specific_currency ? ProductFn.product_specific_price.reduction_price : ProductFn.product_specific_price.reduction_price * ProductFn.currencyRate);
|
||||
reduction = ProductFn.productPrice * (parseFloat(ProductFn.product_specific_price.reduction_percent) / 100) + ProductFn.product_specific_price.reduction_price;
|
||||
if (ProductFn.product_specific_price.reduction_price && (ProductFn.displayPrice || ProductFn.noTaxForThisProduct))
|
||||
reduction = ps_round(reduction / tax, 6);
|
||||
}
|
||||
|
||||
if (!ProductFn.display_specific_price)
|
||||
ProductFn.productPriceWithoutReduction = ProductFn.productPrice * ProductFn.group_reduction;
|
||||
|
||||
|
||||
ProductFn.productPrice -= reduction;
|
||||
var tmp = ProductFn.productPrice * ProductFn.group_reduction;
|
||||
ProductFn.productPrice = ps_round(ProductFn.productPrice * ProductFn.group_reduction, 2);
|
||||
|
||||
var ecotaxAmount = !ProductFn.displayPrice ? ps_round(ProductFn.selectedCombination.ecotax * (1 + ProductFn.ecotaxTax_rate / 100), 2) : ProductFn.selectedCombination.ecotax;
|
||||
ProductFn.productPrice += ecotaxAmount;
|
||||
ProductFn.productPriceWithoutReduction += ecotaxAmount;
|
||||
|
||||
//productPrice = ps_round(productPrice * currencyRate, 2);
|
||||
var our_price = '';
|
||||
if (ProductFn.productPrice > 0) {
|
||||
our_price = formatCurrency(ProductFn.productPrice, ProductFn.currencyFormat, ProductFn.currencySign, ProductFn.currencyBlank);
|
||||
} else {
|
||||
our_price = formatCurrency(0, ProductFn.currencyFormat, ProductFn.currencySign, ProductFn.currencyBlank);
|
||||
}
|
||||
$('#our_price_display').text(our_price);
|
||||
|
||||
|
||||
$('#old_price_display').text(formatCurrency(ProductFn.productPriceWithoutReduction, ProductFn.currencyFormat, ProductFn.currencySign, ProductFn.currencyBlank));
|
||||
if (ProductFn.productPriceWithoutReduction > ProductFn.productPrice)
|
||||
$('#old_price,#old_price_display,#old_price_display_taxes').show();
|
||||
else
|
||||
$('#old_price,#old_price_display,#old_price_display_taxes').hide();
|
||||
// Special feature: "Display product price tax excluded on product page"
|
||||
if (!ProductFn.noTaxForThisProduct)
|
||||
var productPricePretaxed = ProductFn.productPrice / tax;
|
||||
else
|
||||
var productPricePretaxed = ProductFn.productPrice;
|
||||
$('#pretaxe_price_display').text(formatCurrency(productPricePretaxed, ProductFn.currencyFormat, ProductFn.currencySign, ProductFn.currencyBlank));
|
||||
// Unit price
|
||||
ProductFn.productUnitPriceRatio = parseFloat(ProductFn.productUnitPriceRatio);
|
||||
if (ProductFn.productUnitPriceRatio > 0 )
|
||||
{
|
||||
var newUnitPrice = (productPrice / parseFloat(productUnitPriceRatio)) + selectedCombination['unit_price'];
|
||||
$('#unit_price_display').text(formatCurrency(newUnitPrice, currencyFormat, currencySign, currencyBlank));
|
||||
}
|
||||
|
||||
// Ecotax
|
||||
var ecotaxAmount = !ProductFn.displayPrice ? ps_round(ProductFn.selectedCombination.ecotax * (1 + ProductFn.ecotaxTax_rate / 100), 2) : ProductFn.selectedCombination.ecotax;
|
||||
$('#ecotax_price_display').text(formatCurrency(ecotaxAmount, ProductFn.currencyFormat, ProductFn.currencySign, ProductFn.currencyBlank));
|
||||
},
|
||||
//update display of the availability of the product AND the prices of the product
|
||||
update: function()
|
||||
{
|
||||
if (!ProductFn.selectedCombination.unavailable
|
||||
&& ProductFn.quantityAvailable > 0
|
||||
&& ProductFn.productAvailableForOrder == 1) {
|
||||
this.quantityIsAvailable();
|
||||
} else {
|
||||
this.quantityIsNotAvailable();
|
||||
}
|
||||
this.combinationRef();
|
||||
|
||||
//update display of the the prices in relation to tax, discount, ecotax, and currency criteria
|
||||
if (!ProductFn.selectedCombination.unavailable && ProductFn.productShowPrice == 1)
|
||||
{
|
||||
this.price();
|
||||
}
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
function ProductCombination(id)
|
||||
{
|
||||
if (typeof id == 'undefined') {
|
||||
id = 0;
|
||||
}
|
||||
this.id = id;
|
||||
this.idsAttributes = [];
|
||||
this.quantity = 0;
|
||||
this.price = 0;
|
||||
this.ecotax = ProductFn.default_eco_tax;
|
||||
this.idImage = 0,
|
||||
this.reference = '';
|
||||
this.unitPrice = 0;
|
||||
this.minimalQuantity = 0;
|
||||
this.availableDate = '';
|
||||
this.specific_price = new SpecificPriceCombination();
|
||||
this.unavailable = false;
|
||||
}
|
||||
|
||||
function AttributeCombination(idAttribute)
|
||||
{
|
||||
this.id_attribute = idAttribute;
|
||||
this.attribute = '';
|
||||
this.group = '';
|
||||
this.id_attribute_group = '';
|
||||
}
|
||||
|
||||
function SpecificPriceCombination()
|
||||
{
|
||||
this.reduction_percent = 0;
|
||||
this.reduction_price = 0;
|
||||
this.price = 0;
|
||||
this.reduction_type = '';
|
||||
}
|
||||
|
||||
|
||||
// Disable for this page the JQM hash behaviour,
|
||||
// this allow to get the product attributes in the url.
|
||||
$(document).bind("mobileinit", function(){
|
||||
ProductFn.original_url = window.location+'';
|
||||
$.extend($.mobile , {
|
||||
hashListeningEnabled: false,
|
||||
});
|
||||
});
|
||||
|
||||
$( '.prestashop-page' ).live( 'pageshow',function(event)
|
||||
{
|
||||
initProductPage();
|
||||
if ($('.btn-cart').length)
|
||||
{
|
||||
if ($('.btn-cart').hasClass('disabled'))
|
||||
{
|
||||
$('.btn-cart').parent().addClass('disabled');
|
||||
$('.btn-cart').live('click', function(e)
|
||||
{
|
||||
e.preventDefault();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
ProductFn.init();
|
||||
|
||||
$('img[data-large]').click(function() {
|
||||
$.scrollTo('0');
|
||||
});
|
||||
$('img[data-large]').touchGallery({
|
||||
getSource: function() {
|
||||
return $(this).data('large');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
112
themes/default/mobile/js/stores.js
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 14118 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
$( '.prestashop-page' ).live( 'pageshow',function(event)
|
||||
{
|
||||
if ($('#stores_search_block .ui-btn').length)
|
||||
{
|
||||
$('#stores_search_block .ui-btn').live('click', function()
|
||||
{
|
||||
searchStores();
|
||||
});
|
||||
}
|
||||
});
|
||||
function searchStores()
|
||||
{
|
||||
// gets pattern and radius requested
|
||||
var pattern = $('#location').val();
|
||||
var radius = $('#radius').val();
|
||||
|
||||
// if pattern and radius are valid
|
||||
if (pattern != '' && radius > 0 && radius <= 100)
|
||||
{
|
||||
// as usual, ask Google for the coordinates :)
|
||||
var geocoder = new google.maps.Geocoder();
|
||||
geocoder.geocode({address: pattern}, function(res, code) {
|
||||
|
||||
if (code == google.maps.GeocoderStatus.OK)
|
||||
getStores(res[0].geometry.location, radius);
|
||||
|
||||
});
|
||||
}
|
||||
else if ($('.stores_block').is(':visible'))
|
||||
$('.stores_block').hide();
|
||||
}
|
||||
|
||||
function getStores(coordinates, radius)
|
||||
{
|
||||
// given the coordinates, gets latitude/longitude
|
||||
var latitude = coordinates.lat();
|
||||
var longitude = coordinates.lng();
|
||||
|
||||
// if parameters are valid, calls the StoresController
|
||||
if (latitude != undefined && latitude != undefined && radius != undefined)
|
||||
{
|
||||
// ajax call
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: 'index.php?controller=stores',
|
||||
data: 'ajax=true&latitude=' + latitude + '&longitude=' + longitude + '&radius=' + radius,
|
||||
dataType: 'json',
|
||||
async : true,
|
||||
success: function(data) {
|
||||
var list = $('#stores_list');
|
||||
// hide if nothing to display
|
||||
if (data.length == 0)
|
||||
list.hide();
|
||||
else // constructs <ul>
|
||||
{
|
||||
// resets the list
|
||||
list.html('');
|
||||
// for each stores to display
|
||||
$.each(data, function(index, element) {
|
||||
// constructs the address
|
||||
var store_address = '';
|
||||
store_address += element.address1 + (element.address2 != null ? element.address2 : ' ') + ', ';
|
||||
store_address += element.city + ', ' + element.postcode + (element.state != null ? ' ' + element.state : '') + ', ' + element.country;
|
||||
|
||||
// apprends <li>, wrapped in a google map link
|
||||
list.append($(
|
||||
'<li>' +
|
||||
'<a href="http://maps.google.com/maps?q=' + encodeURI(store_address) + '">' +
|
||||
'<img src="' + img_store_dir + parseInt(element.picture) + '.jpg" width="80"/>' +
|
||||
'<h3>'+ element.name +' (' + Math.floor(element.distance) + distance_unit + ')</h3>' +
|
||||
'<p>' + store_address + '</p>' +
|
||||
'</a>' +
|
||||
'</li>'))
|
||||
});
|
||||
|
||||
// display the list and refresh
|
||||
list.parent().show();
|
||||
list.listview('refresh');
|
||||
// scroll
|
||||
$('html, body').animate({scrollTop: list.parent().offset().top},'slow');
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, status) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
40
themes/default/mobile/layout.tpl
Normal file
@@ -0,0 +1,40 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 13866 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
{assign var='header_file' value='./header.tpl'}
|
||||
{assign var='footer_file' value='./footer.tpl'}
|
||||
|
||||
{if !empty($display_header)}
|
||||
{include file=$header_file}
|
||||
{/if}
|
||||
{if !empty($template)}
|
||||
{$template}
|
||||
{/if}
|
||||
{if !empty($display_footer)}
|
||||
{include file=$footer_file}
|
||||
{/if}
|
||||
{if !empty($live_edit)}
|
||||
{$live_edit}
|
||||
{/if}
|
||||
57
themes/default/mobile/maintenance.tpl
Normal file
@@ -0,0 +1,57 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 14105 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}" lang="{$lang_iso}">
|
||||
<head>
|
||||
<title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
{if isset($meta_description)}
|
||||
<meta name="description" content="{$meta_description|escape:'htmlall':'UTF-8'}" />
|
||||
{/if}
|
||||
|
||||
{if isset($meta_keywords)}
|
||||
<meta name="keywords" content="{$meta_keywords|escape:'htmlall':'UTF-8'}" />
|
||||
{/if}
|
||||
|
||||
<meta name="robots" content="{if isset($nobots)}no{/if}index,follow" />
|
||||
<link rel="shortcut icon" href="{$favicon_url}" />
|
||||
<link href="{$css_mobile_dir}maintenance.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<!-- Maintenance container -->
|
||||
<div data-role="content" id="maintenance" class="maintenance">
|
||||
<p id="store"><img src="{$content_dir}img/logo.jpg" alt="logo" /><br /></p>
|
||||
<p id="message">
|
||||
{l s='In order to perform site maintenance, our online shop has shut down temporarily.'}<br /><br />
|
||||
{l s='We apologize for the inconvenience and ask that you please try again later.'}
|
||||
</p>
|
||||
<p id="prestashop"> </p>
|
||||
</div>
|
||||
<!-- END Maintenance container -->
|
||||
</body>
|
||||
</html>
|
||||
64
themes/default/mobile/manufacturer-list.tpl
Normal file
@@ -0,0 +1,64 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Manufacturers'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
|
||||
{if isset($errors) AND $errors}
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
{else}
|
||||
<p class="nbrmanufacturer">{strip}
|
||||
<span class="bold">
|
||||
{if $nbManufacturers == 0}{l s='There are no manufacturers.'}
|
||||
{else}
|
||||
{if $nbManufacturers == 1}{l s='There is'}{else}{l s='There are'}{/if} 
|
||||
{$nbManufacturers} 
|
||||
{if $nbManufacturers == 1}{l s='manufacturer.'}{else}{l s='manufacturers.'}{/if}
|
||||
{/if}
|
||||
</span>{/strip}
|
||||
</p>
|
||||
|
||||
{if $nbManufacturers > 0}
|
||||
<ul id="manufacturers_list" data-role="listview">
|
||||
{foreach from=$manufacturers item=manufacturer name=manufacturers}
|
||||
<li data-corners="false" data-shadow="false" data-iconshadow="true" data-inline="false" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="c" class="clearfix {if $smarty.foreach.manufacturers.first}first_item{elseif $smarty.foreach.manufacturers.last}last_item{else}item{/if}">
|
||||
{if $manufacturer.nb_products > 0}<a href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$manufacturer.name|escape:'htmlall':'UTF-8'}" class="lnk_img">{/if}
|
||||
<img src="{$img_manu_dir}{$manufacturer.image|escape:'htmlall':'UTF-8'}-medium.jpg" alt="" width="80" />
|
||||
<h3>{$manufacturer.name|truncate:60:'...'|escape:'htmlall':'UTF-8'}</h3>
|
||||
<p>
|
||||
{$manufacturer.nb_products|intval} {if $manufacturer.nb_products == 1}{l s='product'}{else}{l s='products'}{/if}
|
||||
</p>
|
||||
{if $manufacturer.nb_products > 0}</a>{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{include file="$tpl_dir./pagination.tpl"}
|
||||
{/if}
|
||||
{/if}
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
62
themes/default/mobile/manufacturer.tpl
Normal file
@@ -0,0 +1,62 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{$manufacturer->name|escape:'htmlall':'UTF-8'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
|
||||
{if !isset($errors) OR !sizeof($errors)}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<p><a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('manufacturer', true)}">{l s="Manufacturers"}</a></p>
|
||||
{if !empty($manufacturer->description) || !empty($manufacturer->short_description)}
|
||||
<div class="category_desc clearfix">
|
||||
{if !empty($manufacturer->short_description)}
|
||||
<p>{$manufacturer->short_description}</p>
|
||||
<p class="hide_desc">{$manufacturer->description}</p>
|
||||
<a href="#" data-theme="f" data-role="button" data-mini="true" data-inline="true" data-icon="arrow-d" class="lnk_more" onclick="$(this).prev().slideDown('slow'); $(this).hide(); return false;">{l s='More'}</a>
|
||||
{else}
|
||||
<p>{$manufacturer->description}</p>
|
||||
{/if}
|
||||
</div><!-- .category_desc -->
|
||||
{/if}
|
||||
|
||||
{if $products}
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2"/>
|
||||
{include file="./pagination.tpl"}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
{include file="./pagination.tpl"}
|
||||
|
||||
{else}
|
||||
<p class="warning">{l s='No new products.'}</p>
|
||||
{/if}
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
{/if}
|
||||
98
themes/default/mobile/my-account.tpl
Normal file
@@ -0,0 +1,98 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6599 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='My account'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<p>{l s='Welcome to your account. Here you can manage your addresses and orders.'}</p>
|
||||
|
||||
<ul data-role="listview" data-inset="true" id="list_myaccount">
|
||||
{if $has_customer_an_address}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('address', true)}" title="{l s='Add my first address'}">
|
||||
<img src="{$img_dir}icon/addrbook.png" alt="{l s='Add my first address'}" class="icon" />
|
||||
{l s='Add my first address'}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('history', true)}" title="{l s='Orders'}">
|
||||
<img src="{$img_mobile_dir}icon/order.png" alt="{l s='Orders'}" class="ui-li-icon ui-li-thumb" />
|
||||
{l s='History and details of my orders'}
|
||||
</a>
|
||||
</li>
|
||||
{if $returnAllowed}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('order-follow', true)}" title="{l s='Merchandise returns'}">
|
||||
<img src="{$img_mobile_dir}icon/return.png" alt="{l s='Merchandise returns'}" class="ui-li-icon ui-li-thumb" />
|
||||
{l s='My merchandise returns'}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('order-slip', true)}" title="{l s='Credit slips'}">
|
||||
<img src="{$img_mobile_dir}icon/slip.png" alt="{l s='Credit slips'}" class="ui-li-icon ui-li-thumb" />
|
||||
{l s='My credit slips'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{$link->getPageLink('addresses', true)}" title="{l s='Addresses'}">
|
||||
<img src="{$img_mobile_dir}icon/addrbook.png" alt="{l s='Addresses'}" class="ui-li-icon ui-li-thumb" />
|
||||
{l s='My addresses'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{$link->getPageLink('identity', true)}" title="{l s='Information'}">
|
||||
<img src="{$img_mobile_dir}icon/userinfos.png" alt="{l s='Information'}" class="ui-li-icon ui-li-thumb" />
|
||||
{l s='My personal information'}
|
||||
</a>
|
||||
</li>
|
||||
{if $voucherAllowed}
|
||||
<li>
|
||||
<a href="{$link->getPageLink('discount', true)}" title="{l s='Vouchers'}">
|
||||
<img src="{$img_mobile_dir}icon/voucher.png" alt="{l s='Vouchers'}" class="ui-li-icon ui-li-thumb" />
|
||||
{l s='My vouchers'}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li data-icon="delete" data-theme="a">
|
||||
<a href="{$link->getPageLink('index', true)}?mylogout" title="{l s='Sign out'}">
|
||||
{l s='Sign out'}
|
||||
</a>
|
||||
</li>
|
||||
{* Un hook est dans la liste (pour favoris et wishlist) *}
|
||||
{* ===================================== *}
|
||||
{hook h="mobileCustomerAccount"}
|
||||
{* ===================================== *}
|
||||
</ul>
|
||||
|
||||
<a href="{$base_dir}" class="lnk_my-account_home" title="{l s='Home'}">
|
||||
<img class="" alt="{l s='Home'}" src="{$img_mobile_dir}icon/home.png">
|
||||
{l s='Home'}
|
||||
</a>
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- /content -->
|
||||
44
themes/default/mobile/new-products.tpl
Normal file
@@ -0,0 +1,44 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='New products'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{if $products}
|
||||
<div data-role="content" id="content">
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2"/>
|
||||
{include file="./pagination.tpl"}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
{include file="./pagination.tpl"}
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
{else}
|
||||
<p class="warning">{l s='No new products.'}</p>
|
||||
{/if}
|
||||
123
themes/default/mobile/order-detail-product-li.tpl
Normal file
@@ -0,0 +1,123 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<!-- Customized products -->
|
||||
{* > TO CHECK ==========================*}
|
||||
{*if isset($product.customizedDatas)}
|
||||
<li class="item">
|
||||
{if $return_allowed}<span class="order_cb"></span>{/if}
|
||||
<h3>{$product.product_name|escape:'htmlall':'UTF-8'}</h3>
|
||||
<p><strong>{l s='Reference'}</strong> {if $product.product_reference}{$product.product_reference|escape:'htmlall':'UTF-8'}{else}--{/if}</p>
|
||||
<p><strong>{l s='Quantity'}</strong></p>
|
||||
<fieldset><input class="order_qte_input" name="order_qte_input[{$smarty.foreach.products.index}]" type="text" size="2" value="{$product.customizationQuantityTotal|intval}" /><span class="order_qte_span editable">{$product.customizationQuantityTotal|intval}</span></fieldset>
|
||||
<p><strong>{l s='Unit price'}</strong>
|
||||
{if $group_use_tax}
|
||||
{convertPriceWithCurrency price=$product.unit_price_tax_incl currency=$currency}
|
||||
{else}
|
||||
{convertPriceWithCurrency price=$product.unit_price_tax_excl currency=$currency}
|
||||
{/if}
|
||||
</p>
|
||||
<p><strong>{l s='Total price'}</strong>
|
||||
{if isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{if $group_use_tax}
|
||||
{convertPriceWithCurrency price=$product.total_customization_wt currency=$currency}
|
||||
{else}
|
||||
{convertPriceWithCurrency price=$product.total_customization currency=$currency}
|
||||
{/if}
|
||||
{else}
|
||||
{if $group_use_tax}
|
||||
{convertPriceWithCurrency price=$product.total_price_tax_incl currency=$currency}
|
||||
{else}
|
||||
{convertPriceWithCurrency price=$product.total_price_tax_excl currency=$currency}
|
||||
{/if}
|
||||
{/if}
|
||||
</p>
|
||||
</li>
|
||||
{foreach from=$product.customizedDatas item='customization' key='customizationId'}
|
||||
<li class="alternate_item">
|
||||
{if $return_allowed}<p class="order_cb"><input type="checkbox" id="cb_{$product.id_order_detail|intval}" name="customization_ids[{$product.id_order_detail|intval}][]" value="{$customizationId|intval}" /></p>{/if}
|
||||
<p>
|
||||
{foreach from=$customization.datas key='type' item='datas'}
|
||||
{if $type == $CUSTOMIZE_FILE}
|
||||
<ul class="customizationUploaded">
|
||||
{foreach from=$datas item='data'}
|
||||
<li><img src="{$pic_dir}{$data.value}_small" alt="" class="customizationUploaded" /></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{elseif $type == $CUSTOMIZE_TEXTFIELD}
|
||||
<ul class="typedText">{counter start=0 print=false}
|
||||
{foreach from=$datas item='data'}
|
||||
{assign var='customizationFieldName' value="Text #"|cat:$data.id_customization_field}
|
||||
<li>{$data.name|default:$customizationFieldName}{l s=':'} {$data.value}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</p>
|
||||
<p>
|
||||
<input class="order_qte_input" name="customization_qty_input[{$customizationId|intval}]" type="text" size="2" value="{$customization.quantity|intval}" /><span class="order_qte_span editable">{$customization.quantity|intval}</span>
|
||||
</p>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if*}
|
||||
{* / TO CHECK ==========================*}
|
||||
<!-- Classic products -->
|
||||
{if $product.product_quantity > $product.customizationQuantityTotal}
|
||||
<li class="item" id="cb-{$product.id_order_detail|intval}" data-icon="back">
|
||||
{if $return_allowed}<a href="#">{/if}
|
||||
<h3>
|
||||
{if $product.download_hash && $invoice && $product.display_filename != ''}
|
||||
{if isset($is_guest) && $is_guest}
|
||||
<a href="{$link->getPageLink('get-file', true, NULL, "key={$product.filename|escape:'htmlall':'UTF-8'}-{$product.download_hash|escape:'htmlall':'UTF-8'}&id_order={$order->id}&secure_key={$order->secure_key}")}" title="{l s='download this product'}">
|
||||
{else}
|
||||
<a href="{$link->getPageLink('get-file', true, NULL, "key={$product.filename|escape:'htmlall':'UTF-8'}-{$product.download_hash|escape:'htmlall':'UTF-8'}")}" title="{l s='download this product'}">
|
||||
{/if}
|
||||
<img src="{$img_dir}icon/download_product.gif" class="icon" alt="{l s='Download product'}" />
|
||||
{$product.product_name|escape:'htmlall':'UTF-8'}
|
||||
</a>
|
||||
{else}
|
||||
{$product.product_name|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
</h3>
|
||||
<p><strong>{l s='Reference'}</strong> {if $product.product_reference}{$product.product_reference|escape:'htmlall':'UTF-8'}{else}--{/if}</p>
|
||||
<p><strong>{l s='Quantity'}</strong></p>
|
||||
<fieldset><input class="order_qte_input" data-mini="true" name="order_qte_input[{$product.id_order_detail|intval}]" type="text" size="2" value="{$productQuantity|intval}" /><span class="order_qte_span editable">{$productQuantity|intval}</span></fieldset>
|
||||
<p><strong>{l s='Unit price'}</strong>
|
||||
{if $group_use_tax}
|
||||
{convertPriceWithCurrency price=$product.unit_price_tax_incl currency=$currency}
|
||||
{else}
|
||||
{convertPriceWithCurrency price=$product.unit_price_tax_excl currency=$currency}
|
||||
{/if}
|
||||
</p>
|
||||
<p><strong>{l s='Total price'}</strong>
|
||||
{if $group_use_tax}
|
||||
{convertPriceWithCurrency price=$product.total_price_tax_incl currency=$currency}
|
||||
{else}
|
||||
{convertPriceWithCurrency price=$product.total_price_tax_excl currency=$currency}
|
||||
{/if}
|
||||
</p>
|
||||
{if $return_allowed}</a>{/if}
|
||||
</li>
|
||||
{/if}
|
||||
298
themes/default/mobile/order-detail.tpl
Normal file
@@ -0,0 +1,298 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Order'} {l s='#'}{$order->id|string_format:"%06d"}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div class="ui-grid-a">
|
||||
<div class="ui-block-a">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-rel="back" href="#" title="">{l s='Back'}</a>
|
||||
</div>
|
||||
<div class="ui-block-b">
|
||||
{assign var='type_order' value="order"}
|
||||
{if isset($opc) && $opc}
|
||||
{assign var='type_order' value="order-opc"}
|
||||
{/if}
|
||||
<a data-icon="refresh" data-role="button" data-theme="e" href="{$link->getPageLink({$type_order}, true, NULL, "submitReorder&id_order={$order->id|intval}")}" title="{l s='Reorder'}">
|
||||
{l s='Reorder'}
|
||||
</a>
|
||||
</div>
|
||||
</div><!-- .ui-grid-a -->
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<h3 class="bg">{l s='Order'} {l s='#'}{$order->id|string_format:"%06d"} - {l s='placed on'} {dateFormat date=$order->date_add full=0}</h3>
|
||||
|
||||
|
||||
<ul class="info-order" data-role="listview">
|
||||
{if $carrier->id}<li><strong>{l s='Carrier:'}</strong> {if $carrier->name == "0"}{$shop_name|escape:'htmlall':'UTF-8'}{else}{$carrier->name|escape:'htmlall':'UTF-8'}{/if}</li>{/if}
|
||||
<li><strong>{l s='Payment method:'}</strong> <span class="color-myaccount">{$order->payment|escape:'htmlall':'UTF-8'}</span></li>
|
||||
{if $invoice AND $invoiceAllowed}
|
||||
<li>
|
||||
<img src="{$img_dir}icon/pdf.gif" alt="" class="icon" />
|
||||
<a href="{$link->getPageLink('pdf-invoice.php', true)}?id_order={$order->id|intval}{if $is_guest}&secure_key={$order->secure_key}{/if}">{l s='Download your invoice as a .PDF file'}</li>
|
||||
</li>
|
||||
{/if}
|
||||
{if $order->recyclable}
|
||||
<li><img src="{$img_dir}icon/recyclable.gif" alt="" class="icon" /> {l s='You have given permission to receive your order in recycled packaging.'}</li>
|
||||
{/if}
|
||||
{if $order->gift}
|
||||
<li><img src="{$img_dir}icon/gift.gif" alt="" class="icon" /> {l s='You requested gift-wrapping for your order.'}</li>
|
||||
<li>{l s='Message:'} {$order->gift_message|nl2br}</li>
|
||||
{/if}
|
||||
</ul><!-- .info-order -->
|
||||
|
||||
{if count($order_history)}
|
||||
<h3 class="bg">{l s='Follow your order step by step'}</h3>
|
||||
<ul data-role="listview" >
|
||||
{foreach from=$order_history item=state name="orderStates"}
|
||||
<li>
|
||||
{$state.ostate_name|escape:'htmlall':'UTF-8'}
|
||||
<span class="ui-li-aside">{dateFormat date=$state.date_add full=1}</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
|
||||
{* > TO CHECK ==========================*}
|
||||
{if isset($followup)}
|
||||
<p class="bold">{l s='Click the following link to track the delivery of your order'}</p>
|
||||
<a href="{$followup|escape:'htmlall':'UTF-8'}">{$followup|escape:'htmlall':'UTF-8'}</a>
|
||||
{/if}
|
||||
{* / TO CHECK ==========================*}
|
||||
|
||||
<h3 class="bg">{l s='Addresses'}</h3>
|
||||
<div class="adresses_bloc clearfix">
|
||||
|
||||
{* > TO CHECK ==========================*}
|
||||
{if $invoice AND $invoiceAllowed}
|
||||
<p>
|
||||
<img src="{$img_dir}icon/pdf.gif" alt="" class="icon" />
|
||||
{if $is_guest}
|
||||
<a href="{$link->getPageLink('pdf-invoice', true, NULL, "id_order={$order->id}&secure_key=$order->secure_key")}" >{l s='Download your invoice as a .PDF file'}</a>
|
||||
{else}
|
||||
<a href="{$link->getPageLink('pdf-invoice', true, NULL, "id_order={$order->id}")}" >{l s='Download your invoice as a .PDF file'}</a>
|
||||
{/if}
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{if $order->recyclable && isset($isRecyclable) && $isRecyclable}
|
||||
<p><img src="{$img_dir}icon/recyclable.gif" alt="" class="icon" /> {l s='You have given permission to receive your order in recycled packaging.'}</p>
|
||||
{/if}
|
||||
{if $order->gift}
|
||||
<p><img src="{$img_dir}icon/gift.gif" alt="" class="icon" /> {l s='You requested gift-wrapping for your order.'}</p>
|
||||
<p>{l s='Message:'} {$order->gift_message|nl2br}</p>
|
||||
{/if}
|
||||
{* / TO CHECK ==========================*}
|
||||
|
||||
<ul data-role="listview" data-inset="true" data-dividertheme="c">
|
||||
{if !$order->isVirtual()}
|
||||
<li data-role="list-divider">{l s='Invoice'}</li>
|
||||
<li>
|
||||
{foreach from=$inv_adr_fields name=inv_loop item=field_item}
|
||||
{if $field_item eq "company" && isset($address_invoice->company)}<p class="address_company">{$address_invoice->company|escape:'htmlall':'UTF-8'}</p>
|
||||
{elseif $field_item eq "address2" && $address_invoice->address2}<p class="address_address2">{$address_invoice->address2|escape:'htmlall':'UTF-8'}</p>
|
||||
{elseif $field_item eq "phone_mobile" && $address_invoice->phone_mobile}<p class="address_phone_mobile">{$address_invoice->phone_mobile|escape:'htmlall':'UTF-8'}</p>
|
||||
{else}
|
||||
{assign var=address_words value=" "|explode:$field_item}
|
||||
<p>{foreach from=$address_words item=word_item name="word_loop"}{if !$smarty.foreach.word_loop.first} {/if}<span class="address_{$word_item}">{$invoiceAddressFormatedValues[$word_item]|escape:'htmlall':'UTF-8'}</span>{/foreach}</p>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</li>
|
||||
{/if}
|
||||
<li data-role="list-divider" >{l s='Delivery'}</li>
|
||||
<li>
|
||||
{foreach from=$dlv_adr_fields name=dlv_loop item=field_item}
|
||||
{if $field_item eq "company" && isset($address_delivery->company)}<p class="address_company">{$address_delivery->company|escape:'htmlall':'UTF-8'}</p>
|
||||
{elseif $field_item eq "address2" && $address_delivery->address2}<p class="address_address2">{$address_delivery->address2|escape:'htmlall':'UTF-8'}</p>
|
||||
{elseif $field_item eq "phone_mobile" && $address_delivery->phone_mobile}<p class="address_phone_mobile">{$address_delivery->phone_mobile|escape:'htmlall':'UTF-8'}</p>
|
||||
{else}
|
||||
{assign var=address_words value=" "|explode:$field_item}
|
||||
<p>{foreach from=$address_words item=word_item name="word_loop"}{if !$smarty.foreach.word_loop.first} {/if}<span class="address_{$word_item}">{$deliveryAddressFormatedValues[$word_item]|escape:'htmlall':'UTF-8'}</span>{/foreach}</p>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- .adresses_bloc -->
|
||||
|
||||
<!-- order details -->
|
||||
<h3 class="bg">{l s="Order details"}</h3>
|
||||
{* > TO CHECK ==========================*}
|
||||
{*$HOOK_ORDERDETAILDISPLAYED*}
|
||||
{* / TO CHECK ==========================*}
|
||||
{if $return_allowed}<p>{l s='If you wish to return one or more products, please click on the product line and go to the "Merchandise return" section below.'}</p>{/if}
|
||||
{if !$is_guest}<form action="{$link->getPageLink('order-follow', true)}" method="post">{/if}
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{foreach from=$products item=product name=products}
|
||||
{if !isset($product.deleted)}
|
||||
{assign var='productId' value=$product.product_id}
|
||||
{assign var='productAttributeId' value=$product.product_attribute_id}
|
||||
{if isset($product.customizedDatas)}
|
||||
{assign var='productQuantity' value=$product.product_quantity-$product.customizationQuantityTotal}
|
||||
{else}
|
||||
{assign var='productQuantity' value=$product.product_quantity}
|
||||
{/if}
|
||||
{include file="./order-detail-product-li.tpl"}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{* > TO CHECK ==========================*}
|
||||
{foreach from=$discounts item=discount}
|
||||
<li class="item">
|
||||
<h3>{$discount.name|escape:'htmlall':'UTF-8'}</h3>
|
||||
<p>{l s='Voucher:'} {$discount.name|escape:'htmlall':'UTF-8'}</p>
|
||||
<p><span class="order_qte_span editable">1</span></p>
|
||||
<p> </p>
|
||||
<p>{if $discount.value != 0.00}{l s='-'}{/if}{convertPriceWithCurrency price=$discount.value currency=$currency}</p>
|
||||
{if $return_allowed}
|
||||
<p> </p>
|
||||
{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
{* / TO CHECK ==========================*}
|
||||
{if $priceDisplay && $use_tax}
|
||||
<li data-theme="b" class="item">
|
||||
{l s='Total products (tax excl.):'} <span class="price">{displayWtPriceWithCurrency price=$order->getTotalProductsWithoutTaxes() currency=$currency}</span>
|
||||
</tr>
|
||||
{/if}
|
||||
<li data-theme="b" class="item">
|
||||
{l s='Total products'} {if $use_tax}{l s='(tax incl.)'}{/if}: <span class="price">{displayWtPriceWithCurrency price=$order->getTotalProductsWithTaxes() currency=$currency}</span>
|
||||
</li>
|
||||
{if $order->total_discounts > 0}
|
||||
<li data-theme="b" class="item">
|
||||
{l s='Total vouchers:'} <span class="price-discount">{displayWtPriceWithCurrency price=$order->total_discounts currency=$currency convert=1}</span>
|
||||
</li>
|
||||
{/if}
|
||||
{if $order->total_wrapping > 0}
|
||||
<li data-theme="b" class="item">
|
||||
{l s='Total gift-wrapping:'} <span class="price-wrapping">{displayWtPriceWithCurrency price=$order->total_wrapping currency=$currency}</span>
|
||||
</li>
|
||||
{/if}
|
||||
<li data-theme="b" class="item">
|
||||
{l s='Total shipping'} {if $use_tax}{l s='(tax incl.)'}{/if}: <span class="price-shipping">{displayWtPriceWithCurrency price=$order->total_shipping currency=$currency}</span>
|
||||
</li>
|
||||
<li data-theme="a" class="totalprice item">
|
||||
{l s='Total:'} <span class="price">{displayWtPriceWithCurrency price=$order->total_paid currency=$currency}</span>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- /order details -->
|
||||
|
||||
{if $order->getShipping()|count > 0}
|
||||
<h3 class="bg">{l s='Carrier'}</h3>
|
||||
<ul data-role="listview" >
|
||||
{foreach from=$order->getShipping() item=line}
|
||||
<li>
|
||||
<h3>{$line.state_name}</h3>
|
||||
<p><strong>{l s='Weight'}</strong> {$line.weight|string_format:"%.3f"} {Configuration::get('PS_WEIGHT_UNIT')}</p>
|
||||
<p><strong>{l s='Shipping cost'}</strong> {if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_INC}{displayPrice price=$line.shipping_cost_tax_incl currency=$currency->id}{else}{displayPrice price=$line.shipping_cost_tax_excl currency=$currency->id}{/if}</p>
|
||||
<p><strong>{l s='Tracking number'}</strong> {if $line.url && $line.tracking_number}<a href="{$line.url|replace:'@':$line.tracking_number}">{$line.tracking_number}</a>{elseif $line.tracking_number != ''}{$line.tracking_number}{else}----{/if}</p>
|
||||
<span class="ui-li-aside">{$line.date_add}</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
{* > TO CHECK ==========================*}
|
||||
{if !$is_guest}
|
||||
{if $return_allowed}
|
||||
<div id="returnOrderMessage">
|
||||
<h3>{l s='Merchandise return'}</h3>
|
||||
<p>{l s='If you wish to return one or more products, please mark the corresponding boxes and provide an explanation for the return. Then click the button below.'}</p>
|
||||
<fieldset>
|
||||
<textarea cols="67" rows="3" name="returnText"></textarea>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<input type="submit" data-theme="a" value="{l s='Make a RMA slip'}" name="submitReturnMerchandise" class="button_large" />
|
||||
<input type="hidden" class="hidden" value="{$order->id|intval}" name="id_order" />
|
||||
</fieldset>
|
||||
</div>
|
||||
<br />
|
||||
{/if}
|
||||
</form>
|
||||
|
||||
{if count($messages)}
|
||||
<h3>{l s='Messages'}</h3>
|
||||
<div class="table_block">
|
||||
<table class="detail_step_by_step std">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="first_item" style="width:150px;">{l s='From'}</th>
|
||||
<th class="last_item">{l s='Message'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$messages item=message name="messageList"}
|
||||
<tr class="{if $smarty.foreach.messageList.first}first_item{elseif $smarty.foreach.messageList.last}last_item{/if} {if $smarty.foreach.messageList.index % 2}alternate_item{else}item{/if}">
|
||||
<td>
|
||||
{if isset($message.ename) && $message.ename}
|
||||
{$message.efirstname|escape:'htmlall':'UTF-8'} {$message.elastname|escape:'htmlall':'UTF-8'}
|
||||
{elseif $message.clastname}
|
||||
{$message.cfirstname|escape:'htmlall':'UTF-8'} {$message.clastname|escape:'htmlall':'UTF-8'}
|
||||
{else}
|
||||
<b>{$shop_name|escape:'htmlall':'UTF-8'}</b>
|
||||
{/if}
|
||||
<br />
|
||||
{dateFormat date=$message.date_add full=1}
|
||||
</td>
|
||||
<td>{$message.message|nl2br}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{/if}
|
||||
{if isset($errors) && $errors}
|
||||
<div class="error">
|
||||
<p>{if $errors|@count > 1}{l s='There are'}{else}{l s='There is'}{/if} {$errors|@count} {if $errors|@count > 1}{l s='errors'}{else}{l s='error'}{/if} :</p>
|
||||
<ol>
|
||||
{foreach from=$errors key=k item=error}
|
||||
<li>{$error}</li>
|
||||
{/foreach}
|
||||
</ol>
|
||||
</div>
|
||||
{/if}
|
||||
{* / TO CHECK ==========================*}
|
||||
<form action="{$link->getPageLink('order-detail', true)}" method="post" class="std" id="sendOrderMessage">
|
||||
<h3 class="bg">{l s='Add a message:'}</h3>
|
||||
<p>{l s='If you would like to add a comment about your order, please write it below.'}</p>
|
||||
<fieldset>
|
||||
<label for="id_product">{l s='Product'}</label>
|
||||
<select name="id_product" style="width:300px;">
|
||||
<option value="0">{l s='-- Choose --'}</option>
|
||||
{foreach from=$products item=product name=products}
|
||||
<option value="{$product.product_id}">{$product.product_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<textarea name="msgText"></textarea>
|
||||
</fieldset>
|
||||
<input type="hidden" name="id_order" value="{$order->id|intval}" />
|
||||
<input type="submit" data-role="button" data-theme="a" name="submitMessage" value="{l s='Send'}"/>
|
||||
</form>
|
||||
{else}
|
||||
<p><img src="{$img_dir}icon/infos.gif" alt="" class="icon" /> {l s='You cannott make a merchandise return with a guest account'}</p>
|
||||
{/if}
|
||||
</div><!-- #content -->
|
||||
76
themes/default/mobile/order-follow.tpl
Normal file
@@ -0,0 +1,76 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 7465 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Return Merchandise Authorization (RMA)'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a>
|
||||
|
||||
{if isset($errorQuantity) && $errorQuantity}<p class="error">{l s='You do not have enough products to request another merchandise return.'}</p>{/if}
|
||||
{if isset($errorMsg) && $errorMsg}<p class="error">{l s='Please provide an explanation for your RMA.'}</p>{/if}
|
||||
{if isset($errorDetail1) && $errorDetail1}<p class="error">{l s='Please check at least one product you would like to return.'}</p>{/if}
|
||||
{if isset($errorDetail2) && $errorDetail2}<p class="error">{l s='Please provide a quantity for the product you checked.'}</p>{/if}
|
||||
{if isset($errorNotReturnable) && $errorNotReturnable}<p class="error">{l s='This order cannot be returned.'}</p>{/if}
|
||||
|
||||
<p>{l s='Here are the merchandise returns you have made'}.</p>
|
||||
<div class="block-center" id="block-history">
|
||||
{if $ordersReturn && count($ordersReturn)}
|
||||
<table id="order-list" class="std">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="first_item">{l s='Return'}</th>
|
||||
<th class="item">{l s='Order'}</th>
|
||||
<th class="item">{l s='Package status'}</th>
|
||||
<th class="item">{l s='Date issued'}</th>
|
||||
<th class="last_item">{l s='Return slip'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$ordersReturn item=return name=myLoop}
|
||||
<tr class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if} {if $smarty.foreach.myLoop.index % 2}alternate_item{/if}">
|
||||
<td class="bold"><a class="color-myaccount" href="javascript:showOrder(0, {$return.id_order_return|intval}, '{$link->getPageLink('order-return')}');">{l s='#'}{$return.id_order_return|string_format:"%06d"}</a></td>
|
||||
<td class="history_method"><a class="color-myaccount" href="javascript:showOrder(1, {$return.id_order|intval}, '{$link->getPageLink('order-detail')}');">{l s='#'}{$return.id_order|string_format:"%06d"}</a></td>
|
||||
<td class="history_method"><span class="bold">{$return.state_name|escape:'htmlall':'UTF-8'}</span></td>
|
||||
<td class="bold">{dateFormat date=$return.date_add full=0}</td>
|
||||
<td class="history_invoice">
|
||||
{if $return.state == 2}
|
||||
<a href="{$link->getPageLink('pdf-order-return', true, NULL, "id_order_return={$return.id_order_return|intval}")}" title="{l s='Order return'} {l s='#'}{$return.id_order_return|string_format:"%06d"}"><img src="{$img_dir}icon/pdf.gif" alt="{l s='Order return'} {l s='#'}{$return.id_order_return|string_format:"%06d"}" class="icon" /></a>
|
||||
<a href="{$link->getPageLink('pdf-order-return', true, NULL, "id_order_return={$return.id_order_return|intval}")}" title="{l s='Order return'} {l s='#'}{$return.id_order_return|string_format:"%06d"}">{l s='Print out'}</a>
|
||||
{else}
|
||||
--
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="block-order-detail" class="hidden"> </div>
|
||||
{else}
|
||||
<p class="warning">{l s='You have no return merchandise authorizations.'}</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div><!-- /content -->
|
||||
93
themes/default/mobile/order-opc-address.tpl
Normal file
@@ -0,0 +1,93 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 16764 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Address'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="address-section">
|
||||
<div class="ui-grid-a margin-bottom-10px">
|
||||
<div class="ui-block-a">
|
||||
<h3 class="bg">{l s='Delivery address:'}</h3>
|
||||
{if isset($delivery)}
|
||||
<ul class="adress">
|
||||
<li class="address_name">{$delivery->firstname|escape:'htmlall':'UTF-8'} {$delivery->lastname|escape:'htmlall':'UTF-8'}</li>
|
||||
{if $delivery->company}
|
||||
<li class="address_company">{$delivery->company|escape:'htmlall':'UTF-8'}</li>
|
||||
{/if}
|
||||
<li class="address_address1">{$delivery->address1|escape:'htmlall':'UTF-8'}</li>
|
||||
{if $delivery->address2}
|
||||
<li class="address_address2">{$delivery->address2|escape:'htmlall':'UTF-8'}</li>
|
||||
{/if}
|
||||
<li class="address_city">{$delivery->postcode|escape:'htmlall':'UTF-8'} {$delivery->city|escape:'htmlall':'UTF-8'}</li>
|
||||
<li class="address_country">{$delivery->country|escape:'htmlall':'UTF-8'} {if $delivery_state}({$delivery_state|escape:'htmlall':'UTF-8'}){/if}</li>
|
||||
</ul>
|
||||
{/if}
|
||||
<label for="delivery-address-choice" class="select">{l s='Change address:'}</label>
|
||||
<select
|
||||
name="delivery-address-choice"
|
||||
id="delivery-address-choice"
|
||||
class="address-field"
|
||||
data-mini="true"
|
||||
data-address-type="delivery"
|
||||
>
|
||||
{foreach from=$addresses item=address}
|
||||
<option value="{$address.id_address}"{if ($address.id_address == $delivery->id)} selected="selected"{/if}>{$address.alias}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<div class="ui-block-b">
|
||||
<h3 class="bg">{l s='Invoice address:'}</h3>
|
||||
{if isset($invoice)}
|
||||
<ul class="adress">
|
||||
<li class="address_name">{$invoice->firstname|escape:'htmlall':'UTF-8'} {$invoice->lastname|escape:'htmlall':'UTF-8'}</li>
|
||||
{if $invoice->company}
|
||||
<li class="address_company">{$invoice->company|escape:'htmlall':'UTF-8'}</li>
|
||||
{/if}
|
||||
<li class="address_address1">{$invoice->address1|escape:'htmlall':'UTF-8'}</li>
|
||||
{if $invoice->address2}
|
||||
<li class="address_address2">{$invoice->address2|escape:'htmlall':'UTF-8'}</li>
|
||||
{/if}
|
||||
<li class="address_city">{$invoice->postcode|escape:'htmlall':'UTF-8'} {$invoice->city|escape:'htmlall':'UTF-8'}</li>
|
||||
<li class="address_country">{$invoice->country|escape:'htmlall':'UTF-8'} {if $invoice_state}({$invoice_state|escape:'htmlall':'UTF-8'}){/if}</li>
|
||||
</ul>
|
||||
{else}
|
||||
<p class="warning">{l s='You have to specify your delivery and invoice address.'}</p>
|
||||
{/if}
|
||||
<label for="invoice-address-choice" class="select">{l s='Change address:'}</label>
|
||||
<select
|
||||
name="invoice-address-choice"
|
||||
id="invoice-address-choice"
|
||||
class="address-field"
|
||||
data-mini="true"
|
||||
data-address-type="invoice"
|
||||
>
|
||||
{foreach from=$addresses item=address}
|
||||
<option value="{$address.id_address}"{if ($address.id_address == $invoice->id)} selected="selected"{/if}>{$address.alias}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
65
themes/default/mobile/order-opc-carrier.tpl
Normal file
@@ -0,0 +1,65 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 17056 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Shipping'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content">
|
||||
<h3 class="bg">{l s='Choose delivery method'}</h3>
|
||||
<fieldset data-role="controlgroup">
|
||||
{if isset($delivery_option_list)}
|
||||
{foreach $delivery_option_list as $id_address => $option_list}
|
||||
{foreach $option_list as $key => $option}
|
||||
{foreach $option.carrier_list as $carrier}
|
||||
<input type="radio" name="delivery_option[{$id_address}]" class="delivery_option_radio" id="opc_carrier_{$carrier.instance->id}" value="{$carrier.instance->id}" {if isset($delivery_option[$id_address]) && $delivery_option[$id_address] == $key}checked="checked"{/if} />
|
||||
<label for="opc_carrier_{$carrier.instance->id}">{$carrier.instance->name}</label>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/if}
|
||||
</fieldset>
|
||||
<fieldset data-role="fieldcontain">
|
||||
<input type="checkbox" name="same" id="recyclable" checked="checked" value="1" class="delivery_option_radio" />
|
||||
<label for="recyclable">{l s='I agree to receive my order in recycled packaging'}.</label>
|
||||
</fieldset>
|
||||
|
||||
<h3 class="bg">{l s='Gift'}</h3>
|
||||
<fieldset data-role="fieldcontain">
|
||||
<input type="checkbox" id="gift" name="gift" value="1" class="delivery_option_radio" {if $cart->gift == 1}checked="checked"{/if} />
|
||||
<label for="gift">{l s='I would like my order to be gift-wrapped.'}</label>
|
||||
</fieldset>
|
||||
<p class="textarea" id="gift_div" style="display: none;">
|
||||
<label for="gift_message">{l s='If you wish, you can add a note to the gift:'}</label>
|
||||
<textarea name="gift_message" id="gift_message" cols="35" rows="5">{$cart->gift_message|escape:'htmlall':'UTF-8'}</textarea>
|
||||
</p>
|
||||
|
||||
<h3 class="bg">{l s='Terms of service'}</h3>
|
||||
<fieldset data-role="fieldcontain">
|
||||
<input type="checkbox" value="1" id="cgv" name="cgv" {if $checkedTOS}checked="checked"{/if} />
|
||||
<label for="cgv">{l s='I agree to the Terms of Service and will adhere to them unconditionally.'}</label>
|
||||
</fieldset>
|
||||
<p class="lnk_CGV"><a href="{$link_conditions}">{l s='(Read Terms of Service)'}</a></p>
|
||||
</div>
|
||||
34
themes/default/mobile/order-opc-payment.tpl
Normal file
@@ -0,0 +1,34 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 17056 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Payment'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content">
|
||||
<fieldset data-role="controlgroup">
|
||||
{$HOOK_PAYMENT}
|
||||
</fieldset>
|
||||
</div>
|
||||
106
themes/default/mobile/order-opc.tpl
Normal file
@@ -0,0 +1,106 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 16965 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Order'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{if $PS_CATALOG_MODE}
|
||||
<p class="warning">{l s='This store does not accept order.'}</p>
|
||||
{else}
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var imgDir = '{$img_dir}';
|
||||
var authenticationUrl = '{$link->getPageLink("authentication", true)}';
|
||||
var orderOpcUrl = '{$link->getPageLink("order-opc", true)}';
|
||||
var historyUrl = '{$link->getPageLink("history", true)}';
|
||||
var guestTrackingUrl = '{$link->getPageLink("guest-tracking", true)}';
|
||||
var addressUrl = '{$link->getPageLink("address", true)}';
|
||||
var orderProcess = 'order-opc';
|
||||
var guestCheckoutEnabled = {$PS_GUEST_CHECKOUT_ENABLED|intval};
|
||||
var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
|
||||
var currencyRate = '{$currencyRate|floatval}';
|
||||
var currencyFormat = '{$currencyFormat|intval}';
|
||||
var currencyBlank = '{$currencyBlank|intval}';
|
||||
var displayPrice = {$priceDisplay};
|
||||
var taxEnabled = {$use_taxes};
|
||||
var conditionEnabled = {$conditions|intval};
|
||||
var countries = new Array();
|
||||
var countriesNeedIDNumber = new Array();
|
||||
var countriesNeedZipCode = new Array();
|
||||
var vat_management = {$vat_management|intval};
|
||||
|
||||
var txtWithTax = "{l s='(tax incl.)'}";
|
||||
var txtWithoutTax = "{l s='(tax excl.)'}";
|
||||
var txtHasBeenSelected = "{l s='has been selected'}";
|
||||
var txtNoCarrierIsSelected = "{l s='No carrier has been selected'}";
|
||||
var txtNoCarrierIsNeeded = "{l s='No carrier is needed for this order'}";
|
||||
var txtConditionsIsNotNeeded = "{l s='No terms of service must be accepted'}";
|
||||
var txtTOSIsAccepted = "{l s='Terms of service is accepted'}";
|
||||
var txtTOSIsNotAccepted = "{l s='Terms of service have not been accepted'}";
|
||||
var txtThereis = "{l s='There is'}";
|
||||
var txtErrors = "{l s='error(s)'}";
|
||||
var txtDeliveryAddress = "{l s='Delivery address'}";
|
||||
var txtInvoiceAddress = "{l s='Invoice address'}";
|
||||
var txtModifyMyAddress = "{l s='Modify my address'}";
|
||||
var txtInstantCheckout = "{l s='Instant checkout'}";
|
||||
var errorCarrier = "{$errorCarrier}";
|
||||
var errorTOS = "{$errorTOS}";
|
||||
var checkedCarrier = "{if isset($checked)}{$checked}{else}0{/if}";
|
||||
|
||||
var addresses = new Array();
|
||||
var isLogged = {$isLogged|intval};
|
||||
var isGuest = {$isGuest|intval};
|
||||
var isVirtualCart = {$isVirtualCart|intval};
|
||||
var isPaymentStep = {$isPaymentStep|intval};
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
{* if there is at least one product : checkout process *}
|
||||
{if $productNumber}
|
||||
|
||||
<!-- Shopping Cart -->
|
||||
{include file="./shopping-cart.tpl"}
|
||||
<!-- End Shopping Cart -->
|
||||
|
||||
{if $isLogged AND !$isGuest}
|
||||
<!-- Address block -->
|
||||
{include file="./order-opc-address.tpl"}
|
||||
<!-- END Address block -->
|
||||
<!-- Carrier -->
|
||||
{include file="./order-opc-carrier.tpl"}
|
||||
<!-- END Carrier -->
|
||||
<!-- Payment -->
|
||||
{include file="./order-opc-payment.tpl"}
|
||||
<!-- END Payment -->
|
||||
{/if}
|
||||
|
||||
{* else : warning *}
|
||||
{else}
|
||||
<p class="warning">{l s='Your shopping cart is empty.'}</p>
|
||||
{/if}
|
||||
|
||||
{/if}
|
||||
56
themes/default/mobile/order-slip.tpl
Normal file
@@ -0,0 +1,56 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6599 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Credit slips'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
<a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a>
|
||||
|
||||
<p>{l s='Credit slips you have received after cancelled orders'}.</p>
|
||||
<div class="block-center" id="block-history">
|
||||
{if $ordersSlip && count($ordersSlip)}
|
||||
<ul data-role="listview" data-theme="c" data-inset="true" data-split-theme="c" data-split-icon="prestashop-pdf">
|
||||
{foreach from=$ordersSlip item=slip name=myLoop}
|
||||
<li>
|
||||
{assign var="id_order" value={$slip.id_order|intval}}
|
||||
<a class="color-myaccount" id="order-{$id_order}" href="{$link->getPageLink('order-detail', true, null, "id_order=$id_order")}">
|
||||
<h3>{l s='Credit slip'} {l s='#'}{$slip.id_order_slip|string_format:"%06d"}</h3>
|
||||
<p>{l s='Order'} {l s='#'}{$slip.id_order|string_format:"%06d"}</p>
|
||||
<span class="ui-li-aside">{dateFormat date=$slip.date_add full=0}</span>
|
||||
</a>
|
||||
<a rel="external" data-iconshadow="false" href="{$link->getPageLink('pdf-order-slip', true, NULL, "id_order_slip={$slip.id_order_slip|intval}")}" title="{l s='Credit slip'} {l s='#'}{$slip.id_order_slip|string_format:"%06d"}">
|
||||
{l s='PDF'}
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
<div id="block-order-detail" class="hidden"> </div>
|
||||
{else}
|
||||
<p class="warning">{l s='You have not received any credit slips.'}</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div><!-- /content -->
|
||||
8
themes/default/mobile/page-title.tpl
Normal file
@@ -0,0 +1,8 @@
|
||||
{if !isset($page_title) && isset($meta_title) && $meta_title != $shop_name}
|
||||
{assign var='page_title' value=$meta_title|escape:'htmlall':'UTF-8'}
|
||||
{/if}
|
||||
{if isset($page_title)}
|
||||
<div data-role="header" class="clearfix navbartop" data-position="inline">
|
||||
<h1>{$page_title}</h1>
|
||||
</div><!-- /navbartop -->
|
||||
{/if}
|
||||
40
themes/default/mobile/pages-list.tpl
Normal file
@@ -0,0 +1,40 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<hr width="99%" align="center" size="2" class=""/>
|
||||
<h2 class="site_map">{l s="Site map"}</h2>
|
||||
<ul data-role="listview" data-inset="true" id="category">
|
||||
{if $controller_name != 'index'}<li><a href="{$link->getPageLink('index', true)}">Accueil</a></li>{/if}
|
||||
|
||||
{* need to set a Hook : hookMobilePagesList *}
|
||||
{* ===================================== *}
|
||||
<li><a href="{$link->getCategoryLink(3, false)}">IPod</a></li>
|
||||
<li><a href="{$link->getCategoryLink(4, false)}">Accessoires</a></li>
|
||||
{* ===================================== *}
|
||||
|
||||
{if $controller_name != 'my-account'}<li><a href="{$link->getPageLink('my-account', true)}">{l s='My account'}</a></li>{/if}
|
||||
{if $controller_name != 'contact'}<li><a href="{$link->getPageLink('contact', true)}">{l s='Contact'}</a></li>{/if}
|
||||
</ul>
|
||||
88
themes/default/mobile/pagination.tpl
Normal file
@@ -0,0 +1,88 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6844 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{if isset($no_follow) AND $no_follow}
|
||||
{assign var='no_follow_text' value='rel="nofollow"'}
|
||||
{else}
|
||||
{assign var='no_follow_text' value=''}
|
||||
{/if}
|
||||
|
||||
{if isset($p) AND $p}
|
||||
{if isset($smarty.get.id_category) && $smarty.get.id_category && isset($category)}
|
||||
{if !isset($current_url)}
|
||||
{assign var='requestPage' value=$link->getPaginationLink('category', $category, false, false, true, false)}
|
||||
{else}
|
||||
{assign var='requestPage' value=$current_url}
|
||||
{/if}
|
||||
{assign var='requestNb' value=$link->getPaginationLink('category', $category, true, false, false, true)}
|
||||
{elseif isset($smarty.get.id_manufacturer) && $smarty.get.id_manufacturer && isset($manufacturer)}
|
||||
{assign var='requestPage' value=$link->getPaginationLink('manufacturer', $manufacturer, false, false, true, false)}
|
||||
{assign var='requestNb' value=$link->getPaginationLink('manufacturer', $manufacturer, true, false, false, true)}
|
||||
{elseif isset($smarty.get.id_supplier) && $smarty.get.id_supplier && isset($supplier)}
|
||||
{assign var='requestPage' value=$link->getPaginationLink('supplier', $supplier, false, false, true, false)}
|
||||
{assign var='requestNb' value=$link->getPaginationLink('supplier', $supplier, true, false, false, true)}
|
||||
{else}
|
||||
{assign var='requestPage' value=$link->getPaginationLink(false, false, false, false, true, false)}
|
||||
{assign var='requestNb' value=$link->getPaginationLink(false, false, true, false, false, true)}
|
||||
{/if}
|
||||
<!-- Pagination -->
|
||||
<div class="clearfix">
|
||||
<div class="pagination_mobile wrapper_pagination_mobile">
|
||||
{if $start!=$stop}
|
||||
<ul class="pagination_mobile" data-role="controlgroup" data-type="horizontal">
|
||||
{if $p != 1}
|
||||
{assign var='p_previous' value=$p-1}
|
||||
{/if}
|
||||
<li class="pagination_previous">
|
||||
<a {$no_follow_text} class="button_prev{if $p == 1} disabled{/if}" data-role="button" data-icon="arrow-l" data-iconpos="left" href="{if isset($p_previous)}{$link->goPage($requestPage, $p_previous)}{/if}">{l s='Prev'}</a>
|
||||
</li>
|
||||
{if $start>3}
|
||||
<li><a {$no_follow_text} href="{$link->goPage($requestPage, 1)}">1</a></li>
|
||||
<li class="truncate">...</li>
|
||||
{/if}
|
||||
{section name=pagination start=$start loop=$stop+1 step=1}
|
||||
{if $p == $smarty.section.pagination.index}
|
||||
<li class="current"><a href="#" data-role="button" class="ui-btn-active">{$p|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{else}
|
||||
<li><a data-role="button" {$no_follow_text} href="{$link->goPage($requestPage, $smarty.section.pagination.index)}">{$smarty.section.pagination.index|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/if}
|
||||
{/section}
|
||||
{if $pages_nb>$stop+2}
|
||||
<li class="truncate">...</li>
|
||||
<li><a href="{$link->goPage($requestPage, $pages_nb)}">{$pages_nb|intval}</a></li>
|
||||
{/if}
|
||||
{if $pages_nb > 1 AND $p != $pages_nb}
|
||||
{assign var='p_next' value=$p+1}
|
||||
{/if}
|
||||
<li class="pagination_next">
|
||||
<a {$no_follow_text} class="button_next{if !isset($p_next)} disabled{/if}" data-role="button" data-icon="arrow-r" data-iconpos="right" href="{if isset($p_next)}{$link->goPage($requestPage, $p_next)}{/if}">{l s='Next'}</a>
|
||||
</li>
|
||||
</ul>
|
||||
{/if}
|
||||
</div>
|
||||
</div><!-- .clearfix -->
|
||||
<!-- /Pagination -->
|
||||
{/if}
|
||||
48
themes/default/mobile/password.tpl
Normal file
@@ -0,0 +1,48 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
{capture assign='page_title'}{l s='Forgot your password'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
<div data-role="content" id="content">
|
||||
{if isset($confirmation) && $confirmation == 1}
|
||||
<p class="success">{l s='Your password has been successfully reset and has been sent to your e-mail address:'} {$email|escape:'htmlall':'UTF-8'}</p>
|
||||
{elseif isset($confirmation) && $confirmation == 2}
|
||||
<p class="success">{l s='A confirmation e-mail has been sent to your address:'} {$email|escape:'htmlall':'UTF-8'}</p>
|
||||
{else}
|
||||
<p>{l s='Please enter the e-mail address used to register. We will e-mail you your new password.'}</p>
|
||||
<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" id="form_forgotpassword">
|
||||
<fieldset>
|
||||
<label for="email">{l s='E-mail:'}</label>
|
||||
<input type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|escape:'htmlall':'UTF-8'|stripslashes}{/if}" />
|
||||
<input type="submit" class="button" data-theme="a" value="{l s='Retrieve Password'}" />
|
||||
</fieldset>
|
||||
</form>
|
||||
{/if}
|
||||
<p class="clear">
|
||||
<a href="{$link->getPageLink('authentication', true)}" title="{l s='Return to Login'}"><img src="{$img_dir}icon/my-account.gif" alt="{l s='Return to Login'}" class="icon" /></a><a href="{$link->getPageLink('authentication')}" title="{l s='Back to Login'}">{l s='Back to Login'}</a>
|
||||
</p>
|
||||
</div><!-- /content -->
|
||||
44
themes/default/mobile/prices-drop.tpl
Normal file
@@ -0,0 +1,44 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Price drop'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{if $products}
|
||||
<div data-role="content" id="content">
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2"/>
|
||||
{include file="./pagination.tpl"}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
{include file="./pagination.tpl"}
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
{else}
|
||||
<p class="warning">{l s='No price drop.'}</p>
|
||||
{/if}
|
||||
53
themes/default/mobile/product-attributes.tpl
Normal file
@@ -0,0 +1,53 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6625 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
{if isset($groups)}
|
||||
<hr width="99%" align="center" size="2" class="margin_less"/>
|
||||
|
||||
<div id="attributes">
|
||||
{foreach from=$groups key=id_attribute_group item=group}
|
||||
{if $group.attributes|@count}
|
||||
<div class="attributes_group">
|
||||
{capture assign='groupName'}group_{$id_attribute_group|intval}{/capture}
|
||||
<label class="attribute_label" for="{$groupName}">{$group.name|escape:'htmlall':'UTF-8'} :</label>
|
||||
{if ($group.group_type == 'select' || $group.group_type == 'color')}
|
||||
<select name="{$groupName}" id="{$groupName}" class="attribute_select{if ($group.group_type == 'color')} select_color{/if}">
|
||||
{foreach from=$group.attributes key=id_attribute item=group_attribute}
|
||||
<option value="{$id_attribute|intval}" title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
{elseif ($group.group_type == 'radio')}
|
||||
<fieldset data-role="controlgroup">
|
||||
{foreach from=$group.attributes key=id_attribute item=group_attribute}
|
||||
<input type="radio" class="attribute_radio" name="{$groupName}" id="{$groupName}_{$id_attribute}" value="{$id_attribute}">
|
||||
<label for="{$groupName}_{$id_attribute}">{$group_attribute|escape:'htmlall':'UTF-8'}</label>
|
||||
{/foreach}
|
||||
</fieldset>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div><!-- #attributes -->
|
||||
{/if}
|
||||
84
themes/default/mobile/product-desc-features.tpl
Normal file
@@ -0,0 +1,84 @@
|
||||
<div data-role="content" id="more_info_block" class="clearfix">
|
||||
<div data-role="collapsible-set" data-content-theme="a">
|
||||
|
||||
<!-- full description -->
|
||||
{if isset($product) && $product->description}
|
||||
<div data-role="collapsible" data-theme="a" data-content-theme="a">
|
||||
<h3>{l s='More info'}</h3>
|
||||
<p>{$product->description}</p>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- product's features -->
|
||||
{if isset($features) && $features && $features|@count > 0}
|
||||
<div data-role="collapsible" data-theme="a" data-content-theme="a">
|
||||
<h3>{l s='Data sheet'}</h3>
|
||||
<ul>
|
||||
{foreach from=$features item=feature}
|
||||
{if isset($feature.value)}
|
||||
<li><span>{$feature.name|escape:'htmlall':'UTF-8'}</span> {$feature.value|escape:'htmlall':'UTF-8'}</li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- attachments -->
|
||||
{if isset($attachments) && $attachments}
|
||||
<div data-role="collapsible" data-theme="a" data-content-theme="a">
|
||||
<h3>{l s='Download'}</h3>
|
||||
<ul>
|
||||
{foreach from=$attachments item=attachment}
|
||||
<li><a href="{$link->getPageLink('attachment', true, NULL, "id_attachment={$attachment.id_attachment}")}">{$attachment.name|escape:'htmlall':'UTF-8'}</a><br />{$attachment.description|escape:'htmlall':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- accessories -->
|
||||
{if isset($accessories) && $accessories}
|
||||
<div data-role="collapsible" data-theme="a" data-content-theme="a" class="accessories_block">
|
||||
<h3>{l s='Accessories'}</h3>
|
||||
<ul>
|
||||
{foreach from=$accessories item=accessory name=accessories_list}
|
||||
{assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)}
|
||||
<li class="ajax_block_product {if $smarty.foreach.accessories_list.last}last_item{else}item{/if} product_accessories_description clearfix">
|
||||
<a href="{$accessoryLink|escape:'htmlall':'UTF-8'}">
|
||||
<div class="clearfix" >
|
||||
<div class="col-left" style="width:{$mediumSize.width+10}px;">
|
||||
<img src="{$link->getImageLink($accessory.link_rewrite, $accessory.id_image, 'medium')}" alt="{$accessory.legend|escape:'htmlall':'UTF-8'}" width="{$mediumSize.width}" height="{$mediumSize.height}" />
|
||||
</div><!-- .col-left -->
|
||||
<div class="col-right">
|
||||
<div class="inner">
|
||||
<h5>{$accessory.name|escape:'htmlall':'UTF-8'}</h5>
|
||||
<p>{$accessory.description_short|strip_tags|truncate:70:'...'}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{if $accessory.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}
|
||||
<div class="price">
|
||||
{if $priceDisplay != 1}{displayWtPrice p=$accessory.price}{else}{displayWtPrice p=$accessory.price_tax_exc}{/if}
|
||||
</div>
|
||||
{/if}
|
||||
<div class="btn-row">
|
||||
<a class="" data-theme="a" data-role="button" data-mini="true" data-inline="true" data-icon="arrow-r" href="{$accessoryLink|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
|
||||
{assign var="btn_more" value=""}
|
||||
{assign var="btn_href" value=""}
|
||||
{assign var="btn_class" value=""}
|
||||
{if ($accessory.allow_oosp || $accessory.quantity > 0) AND $accessory.available_for_order AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}
|
||||
{assign var="btn_href" value=$link->getPageLink('cart', true, NULL, "qty=1&id_product={$accessory.id_product|intval}&token={$static_token}&add")}
|
||||
{else}
|
||||
{assign var="btn_class" value="disabled"}
|
||||
{capture assign="btn_more"}<span class="availability">{if (isset($accessory.quantity_all_versions) && $accessory.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/capture}
|
||||
{/if}
|
||||
<a class="{$btn_class}" data-role="button" data-inline="true" data-theme="e" data-icon="plus" data-mini="true" class="exclusive button ajax_add_to_cart_button" href="{$btn_href}" rel="ajax_id_product_{$accessory.id_product|intval}" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
|
||||
{$btn_more}
|
||||
</div><!-- .btn-row -->
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
</div><!-- role:collapsible-set-->
|
||||
</div><!-- #more_info_block -->
|
||||
46
themes/default/mobile/product-images.tpl
Normal file
@@ -0,0 +1,46 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6625 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<div class="view_product">
|
||||
{if isset($images) && count($images) > 0}
|
||||
<!-- thumbnails -->
|
||||
<div data-role="header" class="ui-bar-a list_view">
|
||||
{assign var=image_cover value=$product->getCover($product->id)}
|
||||
{assign var=imageIds value="`$product->id`-`$image_cover.id_image`"}
|
||||
<img id="bigpic" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'large')}" alt="{$images[0].legend|htmlspecialchars}" />
|
||||
<div class="thumbs_list">
|
||||
<ul id="gallery" class="thumbs_list_frame clearfix">
|
||||
{foreach from=$images item=image name=thumbnails}
|
||||
{assign var=imageIds value="`$product->id`-`$image.id_image`"}
|
||||
<li id="thumbnail_{$image.id_image}">
|
||||
<img id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'medium')}" alt="{$image.legend|htmlspecialchars}" height="{$mediumSize.height}" width="{$mediumSize.width}" data-large="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox')}" />
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
170
themes/default/mobile/product-js.tpl
Normal file
@@ -0,0 +1,170 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6625 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
function initProductPage()
|
||||
{
|
||||
// PrestaShop internal settings
|
||||
ProductFn.currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
|
||||
ProductFn.currencyRate = '{$currencyRate|floatval}';
|
||||
ProductFn.currencyFormat = '{$currencyFormat|intval}';
|
||||
ProductFn.currencyBlank = '{$currencyBlank|intval}';
|
||||
ProductFn.taxRate = {$tax_rate|floatval};
|
||||
|
||||
// Parameters
|
||||
ProductFn.id_product = '{$product->id|intval}';
|
||||
{if isset($groups)}ProductFn.productHasAttributes = true;{/if}
|
||||
{if $display_qties == 1}ProductFn.quantitiesDisplayAllowed = true;{/if}
|
||||
{if $display_qties == 1 && $product->quantity}ProductFn.quantityAvailable = {$product->quantity};{/if}
|
||||
{if $allow_oosp == 1}ProductFn.allowBuyWhenOutOfStock = true{/if};
|
||||
ProductFn.availableNowValue = '{$product->available_now|escape:'quotes':'UTF-8'}';
|
||||
ProductFn.availableLaterValue = '{$product->available_later|escape:'quotes':'UTF-8'}';
|
||||
ProductFn.productPriceTaxExcluded = {$product->getPriceWithoutReduct(true)|default:'null'} - {$product->ecotax};
|
||||
{if $product->specificPrice AND $product->specificPrice.reduction AND $product->specificPrice.reduction_type == 'percentage'}
|
||||
ProductFn.reduction_percent = {$product->specificPrice.reduction*100};
|
||||
{/if}
|
||||
{if $product->specificPrice AND $product->specificPrice.reduction AND $product->specificPrice.reduction_type == 'amount'}
|
||||
ProductFn.reduction_price = {$product->specificPrice.reduction|floatval};
|
||||
{/if}
|
||||
{if $product->specificPrice AND $product->specificPrice.price}
|
||||
ProductFn.specific_price = {$product->specificPrice.price};
|
||||
{/if}
|
||||
{foreach from=$product->specificPrice key='key_specific_price' item='specific_price_value'}
|
||||
ProductFn.product_specific_price['{$key_specific_price}'] = '{$specific_price_value}';
|
||||
{/foreach}
|
||||
|
||||
{if $product->specificPrice AND $product->specificPrice.id_currency}
|
||||
ProductFn.specific_currency = true;
|
||||
{/if}
|
||||
ProductFn.group_reduction = '{$group_reduction}';
|
||||
ProductFn.default_eco_tax = {$product->ecotax};
|
||||
ProductFn.ecotaxTax_rate = {$ecotaxTax_rate};
|
||||
ProductFn.currentDate = '{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'}';
|
||||
ProductFn.maxQuantityToAllowDisplayOfLastQuantityMessage = {$last_qties};
|
||||
{if $no_tax == 1}ProductFn.noTaxForThisProduct = true;{/if}
|
||||
ProductFn.displayPrice = {$priceDisplay};
|
||||
ProductFn.productReference = '{$product->reference|escape:'htmlall':'UTF-8'}';
|
||||
ProductFn.productAvailableForOrder = {if (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE}'0'{else}'{$product->available_for_order}'{/if};
|
||||
{if !$PS_CATALOG_MODE}ProductFn.productShowPrice = '{$product->show_price}';{/if}
|
||||
ProductFn.productUnitPriceRatio = '{$product->unit_price_ratio}';
|
||||
{if isset($cover.id_image_only)}ProductDisplay.idDefaultImage = {$cover.id_image_only};{/if}
|
||||
|
||||
{if !$priceDisplay || $priceDisplay == 2}
|
||||
{assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL, 2)}
|
||||
{assign var='productPriceWithoutRedution' value=$product->getPriceWithoutReduct(false, $smarty.const.NULL)}
|
||||
{elseif $priceDisplay == 1}
|
||||
{assign var='productPrice' value=$product->getPrice(false, $smarty.const.NULL, 2)}
|
||||
{assign var='productPriceWithoutRedution' value=$product->getPriceWithoutReduct(true, $smarty.const.NULL)}
|
||||
{/if}
|
||||
|
||||
ProductFn.productPriceWithoutRedution = '{$productPriceWithoutRedution}';
|
||||
ProductFn.productPrice = '{$productPrice}';
|
||||
|
||||
// Customizable field
|
||||
ProductFn.img_ps_dir = '{$img_ps_dir}';
|
||||
{assign var='imgIndex' value=0}
|
||||
{assign var='textFieldIndex' value=0}
|
||||
{foreach from=$customizationFields item='field' name='customizationFields'}
|
||||
{assign var="key" value="pictures_`$product->id`_`$field.id_customization_field`"}
|
||||
ProductFn.customizationFields[{$smarty.foreach.customizationFields.index|intval}] = [];
|
||||
ProductFn.customizationFields[{$smarty.foreach.customizationFields.index|intval}][0] = '{if $field.type|intval == 0}img{$imgIndex++}{else}textField{$textFieldIndex++}{/if}';
|
||||
ProductFn.customizationFields[{$smarty.foreach.customizationFields.index|intval}][1] = {if $field.type|intval == 0 && isset($pictures.$key) && $pictures.$key}2{else}{$field.required|intval}{/if};
|
||||
{/foreach}
|
||||
|
||||
// Images
|
||||
ProductFn.img_prod_dir = '{$img_prod_dir}';
|
||||
|
||||
{if isset($combinationImages)}
|
||||
{foreach from=$combinationImages item='combination' key='combinationId' name='f_combinationImages'}
|
||||
ProductFn.combinationImages[{$combinationId}] = [];
|
||||
{foreach from=$combination item='image' name='f_combinationImage'}
|
||||
ProductFn.combinationImages[{$combinationId}][{$smarty.foreach.f_combinationImage.index}] = {$image.id_image|intval};
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
ProductFn.combinationImages[0] = [];
|
||||
{if isset($images)}
|
||||
{foreach from=$images item='image' name='f_defaultImages'}
|
||||
ProductFn.combinationImages[0][{$smarty.foreach.f_defaultImages.index}] = {$image.id_image};
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
// Translations
|
||||
ProductFn.doesntExist = '{l s='The product does not exist in this model. Please choose another.' js=1}';
|
||||
ProductFn.doesntExistNoMore = '{l s='This product is no longer in stock' js=1}';
|
||||
ProductFn.doesntExistNoMoreBut = '{l s='with those attributes but is available with others' js=1}';
|
||||
ProductFn.uploading_in_progress = '{l s='Uploading in progress, please wait...' js=1}';
|
||||
ProductFn.fieldRequired = '{l s='Please fill in all required fields, then save the customization.' js=1}';
|
||||
|
||||
{if isset($groups)}
|
||||
// Combinations
|
||||
{foreach from=$combinations key=idCombination item=combination}
|
||||
var oSpecificPriceCombination = new SpecificPriceCombination();
|
||||
{if $combination.specific_price AND $combination.specific_price.reduction AND $combination.specific_price.reduction_type == 'percentage'}
|
||||
oSpecificPriceCombination.reduction_percent = {$combination.specific_price.reduction*100};
|
||||
{/if}
|
||||
{if $combination.specific_price AND $combination.specific_price.reduction AND $combination.specific_price.reduction_type == 'amount'}
|
||||
oSpecificPriceCombination.reduction_price = {$combination.specific_price.reduction};
|
||||
{/if}
|
||||
{if $combination.specific_price AND $combination.specific_price.price}
|
||||
oSpecificPriceCombination.price = {$combination.specific_price.price};
|
||||
{/if}
|
||||
{if $combination.specific_price}
|
||||
oSpecificPriceCombination.reduction_type = '{$combination.specific_price.reduction_type}';
|
||||
{/if}
|
||||
var oCombination = new ProductCombination({$idCombination|intval});
|
||||
oCombination.idsAttributes = new Array({$combination.list});
|
||||
oCombination.quantity = {$combination.quantity};
|
||||
oCombination.price = {$combination.price};
|
||||
oCombination.ecotax = {$combination.ecotax};
|
||||
oCombination.idImage = {$combination.id_image};
|
||||
oCombination.reference = '{$combination.reference}';
|
||||
oCombination.unitPrice = {$combination.unit_impact};
|
||||
oCombination.minimalQuantity = {$combination.minimal_quantity};
|
||||
oCombination.availableDate = '{$combination.available_date}';
|
||||
oCombination.specific_price = oSpecificPriceCombination;
|
||||
ProductFn.combinations.push(oCombination);
|
||||
ProductFn.globalQuantity += oCombination.quantity;
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
{if isset($attributesCombinations)}
|
||||
// Combinations attributes informations
|
||||
{foreach from=$attributesCombinations key=id item=aC}
|
||||
var oAttributeInfos = new AttributeCombination('{$aC.id_attribute|intval}');
|
||||
oAttributeInfos.attribute = '{$aC.attribute}';
|
||||
oAttributeInfos.group = '{$aC.group}';
|
||||
oAttributeInfos.id_attribute_group = '{$aC.id_attribute_group|intval}';
|
||||
ProductFn.attributesCombinations.push(oAttributeInfos);
|
||||
{/foreach}
|
||||
{/if}
|
||||
}
|
||||
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
88
themes/default/mobile/product-prices.tpl
Normal file
@@ -0,0 +1,88 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6625 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<div class="content_prices">
|
||||
{if $product->online_only}
|
||||
<p class="online_only">{l s='Online only'}</p>
|
||||
{/if}
|
||||
|
||||
<div class="price">
|
||||
{if !$priceDisplay || $priceDisplay == 2}
|
||||
{assign var='productPrice' value=$product->getPrice(true, $smarty.const.NULL)}
|
||||
{assign var='productPriceWithoutReduction' value=$product->getPriceWithoutReduct(false, $smarty.const.NULL)}
|
||||
{elseif $priceDisplay == 1}
|
||||
{assign var='productPrice' value=$product->getPrice(false, $smarty.const.NULL)}
|
||||
{assign var='productPriceWithoutReduction' value=$product->getPriceWithoutReduct(true, $smarty.const.NULL)}
|
||||
{/if}
|
||||
|
||||
<p class="our_price_display">
|
||||
{if $priceDisplay >= 0 && $priceDisplay <= 2}
|
||||
<span id="our_price_display">{convertPrice price=$productPrice}</span>
|
||||
{/if}
|
||||
</p><!-- .our_price_display -->
|
||||
|
||||
{if $product->on_sale}
|
||||
<span class="on_sale">{l s='On sale!'}</span>
|
||||
{/if}
|
||||
{if $priceDisplay == 2}
|
||||
<span id="pretaxe_price"><span id="pretaxe_price_display">{convertPrice price=$product->getPrice(false, $smarty.const.NULL)}</span> {l s='tax excl.'}</span>
|
||||
{/if}
|
||||
|
||||
|
||||
{if $product->specificPrice AND $product->specificPrice.reduction}
|
||||
<p class="old_price">
|
||||
{if $priceDisplay >= 0 && $priceDisplay <= 2}
|
||||
{if $productPriceWithoutReduction > $productPrice}
|
||||
<span class="old_price_display">{convertPrice price=$productPriceWithoutReduction}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $product->specificPrice.reduction_type == 'percentage'}
|
||||
<span class="reduction_percent">-{$product->specificPrice.reduction*100}%</span>
|
||||
{elseif $product->specificPrice.reduction_type == 'amount'}
|
||||
<span class="reduction_amount_display">-{convertPrice price=$product->specificPrice.reduction|floatval}</span>
|
||||
{/if}
|
||||
|
||||
</p><!-- .old_price -->
|
||||
{/if}
|
||||
|
||||
{if $packItems|@count && $productPrice < $product->getNoPackPrice()}
|
||||
<p class="pack_price">{l s='instead of'} <span style="text-decoration: line-through;">{convertPrice price=$product->getNoPackPrice()}</span></p>
|
||||
{/if}
|
||||
|
||||
{if $product->ecotax != 0}
|
||||
<p class="price-ecotax">{l s='include'} <span id="ecotax_price_display">{if $priceDisplay == 2}{$ecotax_tax_exc|convertAndFormatPrice}{else}{$ecotax_tax_inc|convertAndFormatPrice}{/if}</span> {l s='for green tax'}
|
||||
{if $product->specificPrice AND $product->specificPrice.reduction}
|
||||
<br />{l s='(not impacted by the discount)'}
|
||||
{/if}
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
|
||||
{math equation="pprice / punit_price" pprice=$productPrice punit_price=$product->unit_price_ratio assign=unit_price}
|
||||
<p class="unit-price"><span id="unit_price_display">{convertPrice price=$unit_price}</span> {l s='per'} {$product->unity|escape:'htmlall':'UTF-8'}</p>
|
||||
{/if}
|
||||
</div><!-- .price -->
|
||||
</div><!-- .content_prices -->
|
||||
67
themes/default/mobile/product-quantity-discount.tpl
Normal file
@@ -0,0 +1,67 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6625 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{if (isset($quantity_discounts) && count($quantity_discounts) > 0)}
|
||||
<!-- quantity discount -->
|
||||
<ul class="idTabs clearfix">
|
||||
<li><a href="#discount" style="cursor: pointer" class="selected">{l s='Quantity discount'}</a></li>
|
||||
</ul>
|
||||
<div id="quantityDiscount">
|
||||
<table class="std">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='product'}</th>
|
||||
<th>{l s='from (qty)'}</th>
|
||||
<th>{l s='discount'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="noQuantityDiscount">
|
||||
<td colspan='3'>{l s='There is not any quantity discount for this product.'}</td>
|
||||
</tr>
|
||||
{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
|
||||
<tr id="quantityDiscount_{$quantity_discount.id_product_attribute}">
|
||||
<td>
|
||||
{if (isset($quantity_discount.attributes) && ($quantity_discount.attributes))}
|
||||
{$product->getProductName($quantity_discount.id_product, $quantity_discount.id_product_attribute)}
|
||||
{else}
|
||||
{$product->getProductName($quantity_discount.id_product)}
|
||||
{/if}
|
||||
</td>
|
||||
<td>{$quantity_discount.quantity|intval}</td>
|
||||
<td>
|
||||
{if $quantity_discount.price != 0 OR $quantity_discount.reduction_type == 'amount'}
|
||||
-{convertPrice price=$quantity_discount.real_value|floatval}
|
||||
{else}
|
||||
-{$quantity_discount.real_value|floatval}%
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{/if}
|
||||
161
themes/default/mobile/product.tpl
Normal file
@@ -0,0 +1,161 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6625 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{$product->name|escape:'htmlall':'UTF-8'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{include file='./product-js.tpl'}
|
||||
|
||||
<div data-role="content" id="content" class="product">
|
||||
|
||||
{if isset($confirmation) && $confirmation}
|
||||
<p class="confirmation">
|
||||
{$confirmation}
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{include file="./product-images.tpl"}
|
||||
|
||||
{if $product->description_short OR $packItems|@count > 0}
|
||||
{if $product->description_short}
|
||||
<div>{$product->description_short}</div>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $packItems|@count > 0}
|
||||
<!-- pack description-->
|
||||
<div class="short_description_pack">
|
||||
<h3>{l s='Pack content'}</h3>
|
||||
{foreach from=$packItems item=packItem}
|
||||
<div class="pack_content">
|
||||
{$packItem.pack_quantity} x <a href="{$link->getProductLink($packItem.id_product, $packItem.link_rewrite, $packItem.category)}">{$packItem.name|escape:'htmlall':'UTF-8'}</a>
|
||||
<p>{$packItem.description_short}</p>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if ($product->show_price AND !isset($restricted_country_mode)) OR isset($groups) OR $product->reference}
|
||||
<form id="buy_block" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart')}" method="post">
|
||||
|
||||
<!-- hidden datas -->
|
||||
<p class="hidden">
|
||||
<input type="hidden" name="token" value="{$static_token}" />
|
||||
<input type="hidden" name="id_product" value="{$product->id|intval}" id="product_page_product_id" />
|
||||
<input type="hidden" name="add" value="1" />
|
||||
<input type="hidden" name="id_product_attribute" id="idCombination" value="" />
|
||||
</p>
|
||||
<div class="clearfix">
|
||||
|
||||
{include file="./product-attributes.tpl"}
|
||||
|
||||
<div id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}>
|
||||
<br />
|
||||
<label for="product_reference">{l s='Reference :'} </label>
|
||||
<span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<!-- quantity wanted -->
|
||||
<div id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
|
||||
<label for="qty" class="">{l s='Quantity:'}</label>
|
||||
<input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" />
|
||||
</div><!-- #quantity_wanted_p -->
|
||||
|
||||
<!-- minimal quantity wanted -->
|
||||
<div id="minimal_quantity_wanted_p"{if $product->minimal_quantity <= 1 OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
|
||||
{l s='This product is not sold individually. You must select at least'} <b id="minimal_quantity_label">{$product->minimal_quantity}</b> {l s='quantity for this product.'}
|
||||
</div><!-- #minimal_quantity_wanted_p -->
|
||||
|
||||
{*if $product->minimal_quantity > 1}
|
||||
<script type="text/javascript">
|
||||
ProductFn.checkMinimalQuantity();
|
||||
</script>
|
||||
{/if*}
|
||||
|
||||
<!-- availability -->
|
||||
<div id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
|
||||
<label id="availability_label" class="">{l s='Availability:'}</label>
|
||||
<div id="availability_value"{if $product->quantity <= 0} class="warning_inline"{/if}>
|
||||
{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}
|
||||
</div>
|
||||
</div><!-- #availability_statut -->
|
||||
|
||||
<!-- number of item in stock -->
|
||||
{if ($display_qties == 1 && !$PS_CATALOG_MODE && $product->available_for_order)}
|
||||
<p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
|
||||
<span id="quantityAvailable">{$product->quantity|intval}</span>
|
||||
<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}</span>
|
||||
<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span>
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{* à checker avec JS *}
|
||||
{* ================================== *}
|
||||
<p class="warning_inline" id="last_quantities"{if ($product->quantity > $last_qties OR $product->quantity <= 0) OR $allow_oosp OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none"{/if} >{l s='Warning: Last items in stock!'}</p>
|
||||
{* ================================== *}
|
||||
|
||||
</div><!-- .clearfix -->
|
||||
|
||||
{if $product->show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}
|
||||
<hr width="99%" align="center" size="2" class="margin_less"/>
|
||||
{include file="./product-prices.tpl"}
|
||||
{else}
|
||||
<hr width="99%" align="center" size="2" class="margin_bottom"/>
|
||||
{/if}
|
||||
|
||||
<div id="add_to_cart" class="btn-row">
|
||||
{assign var='cart_btn_class' value='btn-cart'}
|
||||
{assign var='cart_btn_icon' value=''}
|
||||
{assign var='cart_btn_theme' value='e'}
|
||||
{if (!$allow_oosp && $product->quantity <= 0) OR !$product->available_for_order OR (isset($restricted_country_mode) AND $restricted_country_mode) OR $PS_CATALOG_MODE}
|
||||
{assign var='cart_btn_class' value=$cart_btn_class|cat:' disabled'}
|
||||
{assign var='cart_btn_theme' value='c'}
|
||||
{else}
|
||||
{assign var='cart_btn_icon' value='data-icon="plus"'}
|
||||
{/if}
|
||||
<button type="submit" data-theme="{$cart_btn_theme}" name="Submit" class="{$cart_btn_class}" value="submit-value" id="Submit" {$cart_btn_icon} >{l s='Add to cart'}</button>
|
||||
</div><!-- .btn-row -->
|
||||
</form><!-- #buy_block -->
|
||||
{/if}
|
||||
|
||||
{* à checker avec JS *}
|
||||
{* ================================== *}
|
||||
{include file="./product-quantity-discount.tpl"}
|
||||
{* ================================== *}
|
||||
|
||||
<hr width="99%" align="center" size="2" class=""/>
|
||||
<!-- description and features -->
|
||||
{include file="./product-desc-features.tpl"}
|
||||
|
||||
{if isset($packItems) && $packItems|@count > 0}
|
||||
<!-- pack list -->
|
||||
<hr width="99%" align="center" size="2" class="margin_less"/>
|
||||
<div id="blockpack">
|
||||
<h2>{l s='Pack content'}</h2>
|
||||
{include file="./category-product-list.tpl" products=$packItems}
|
||||
</div>
|
||||
{/if}
|
||||
</div><!-- #content -->
|
||||
68
themes/default/mobile/search.tpl
Normal file
@@ -0,0 +1,68 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}
|
||||
{l s='Search'}
|
||||
{if $nbProducts > 0}
|
||||
"{if isset($search_query) && $search_query}{$search_query|escape:'htmlall':'UTF-8'}{elseif $search_tag}{$search_tag|escape:'htmlall':'UTF-8'}{elseif $ref}{$ref|escape:'htmlall':'UTF-8'}{/if}"
|
||||
{/if}
|
||||
{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
|
||||
{if $nbProducts}
|
||||
<div data-role="content" id="content">
|
||||
<h3 class="nbresult"><span class="big">{$nbProducts|intval}</span> {if $nbProducts == 1}{l s='result has been found.'}{else}{l s='results have been found.'}{/if}</h3>
|
||||
|
||||
{if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<hr width="99%" align="center" size="2"/>
|
||||
{if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}
|
||||
{include file="./pagination.tpl"}
|
||||
{/if}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
|
||||
{if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}
|
||||
{include file="./pagination.tpl"}
|
||||
{/if}
|
||||
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
{else}
|
||||
<p class="warning">
|
||||
{if isset($search_query) && $search_query}
|
||||
{l s='No results found for your search'} "{if isset($search_query)}{$search_query|escape:'htmlall':'UTF-8'}{/if}"
|
||||
{elseif isset($search_tag) && $search_tag}
|
||||
{l s='No results found for your search'} "{$search_tag|escape:'htmlall':'UTF-8'}"
|
||||
{else}
|
||||
{l s='Please type a search keyword'}
|
||||
{/if}
|
||||
</p>
|
||||
{/if}
|
||||
196
themes/default/mobile/shopping-cart.tpl
Normal file
@@ -0,0 +1,196 @@
|
||||
<div data-role="content" id="content" class="cart">
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
|
||||
<h2>{l s='List of products'}</h2>
|
||||
{if isset($products)}
|
||||
<ul data-role="listview" data-inset="true" data-split-theme="d" data-split-icon="delete">
|
||||
{foreach $products as $product}
|
||||
<li id="element_product_{$product.id_product}">
|
||||
<a>
|
||||
<input type="hidden" name="cart_product_id[]" value="{$product.id_product}"/>
|
||||
<input type="hidden" id="cart_product_attribute_id_{$product.id_product}" value="{$product.id_product_attribute|intval}"/>
|
||||
<input type="hidden" id="cart_product_address_delivery_id_{$product.id_product}" value="{$product.id_address_delivery}"/>
|
||||
|
||||
<div class="fl width-20">
|
||||
<img src="{$img_prod_dir}{$product.id_image}-small.jpg" class="img_product_cart" />
|
||||
</div>
|
||||
<div class="fl width-70 padding-left-5px">
|
||||
<h3>{$product.name}</h3>
|
||||
{if $product.reference}<p>{l s='Ref.:'} {$product.reference}</p>{/if}
|
||||
<p>{$product.description_short}</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
<table class="width-100">
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="width-40">{l s='Unit price'}</td>
|
||||
<td>{l s='Qty'}</td>
|
||||
<td class="width-40">{l s='Total'}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{displayPrice price=$product.price_wt}</td>
|
||||
<td>
|
||||
<input
|
||||
type="number"
|
||||
class="qty-field cart_quantity_input"
|
||||
name="product_cart_quantity_{$product.id_product}"
|
||||
value="{$product.cart_quantity}"
|
||||
min="0"
|
||||
max="{$product.quantity_available}"
|
||||
data-mini="true"
|
||||
data-initial-quantity="{$product.cart_quantity}"
|
||||
data-id-product="{$product.id_product}"
|
||||
data-id-product-attribute="{$product.id_product_attribute}" />
|
||||
</td>
|
||||
<td class="right">{displayPrice price=$product.total_wt}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</a>
|
||||
<a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_0_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "delete&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery|intval}&token={$token_cart}")}">{l s='Delete'}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{if sizeof($discounts)}
|
||||
<h2>{l s='List of vouchers'}</h2>
|
||||
<ul data-role="listview" data-inset="true" data-split-theme="d" data-split-icon="delete">
|
||||
{foreach $discounts as $discount}
|
||||
<li>
|
||||
<a>
|
||||
<table class="width-100">
|
||||
<tr>
|
||||
<td>{$discount.name}</td>
|
||||
<td class="right">
|
||||
{if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</a>
|
||||
{if strlen($discount.code)}<a href="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}?deleteDiscount={$discount.id_discount}" class="price_discount_delete" title="{l s='Delete'}">{l s='Delete'}</a>{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
<br />
|
||||
<div class="ui-grid-a cart_total_bar same-height">
|
||||
<div class="ui-block-a">
|
||||
<div class="ui-bar ui-bar-c">
|
||||
<h3>{l s='Voucher'}</h3>
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc.php', true)}{else}{$link->getPageLink('order.php', true)}{/if}" method="post">
|
||||
<input type="text" name="discount_name" id="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" placeholder="{l s='Voucher code'}" />
|
||||
<div class='btn-row'>
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" data-theme="a" name="submitAddDiscount" value="submit-value">{l s='Send'}</button>
|
||||
</div><!-- .btn-row -->
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-block-b total_price">
|
||||
<div class="ui-bar ui-bar-c">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
<h3>{if $display_tax_label}{l s='Total products (tax excl.):'}{else}{l s='Total products:'}{/if}</h3>
|
||||
<p><span class="price" id="total_product">{displayPrice price=$total_products}</span></p>
|
||||
{else}
|
||||
<h3>{if $display_tax_label}{l s='Total products (tax incl.):'}{else}{l s='Total products:'}{/if}</h3>
|
||||
<p><span class="price" id="total_product">{displayPrice price=$total_products_wt}</span></p>
|
||||
{/if}
|
||||
{else}
|
||||
<h3>{l s='Total products:'}</h3>
|
||||
<p><span class="price" id="total_product">{displayPrice price=$total_products}</span></p>
|
||||
{/if}
|
||||
|
||||
<div {if $total_discounts == 0}class="hide"{/if}>
|
||||
{if $use_taxes && $display_tax_label}
|
||||
<h3>{l s='Total vouchers (tax excl.):'}</h3>
|
||||
{else}
|
||||
<h3>{l s='Total vouchers:'}</h3>
|
||||
{/if}
|
||||
|
||||
{if $use_taxes && !$priceDisplay}
|
||||
{assign var='total_discounts_negative' value=$total_discounts * -1}
|
||||
{else}
|
||||
{assign var='total_discounts_negative' value=$total_discounts_tax_exc * -1}
|
||||
{/if}
|
||||
<p><span class="price" id="total_discount">{displayPrice price=$total_discounts_negative}</span></p>
|
||||
</div>
|
||||
|
||||
<div {if $total_wrapping == 0}class="hide"{/if}>
|
||||
<h3>
|
||||
{if $use_taxes}
|
||||
{if $display_tax_label}{l s='Total gift-wrapping (tax incl.):'}{else}{l s='Total gift-wrapping:'}{/if}
|
||||
{else}
|
||||
{l s='Total gift-wrapping:'}
|
||||
{/if}
|
||||
</h3>
|
||||
<p><span class="price" id="total_wrapping">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{displayPrice price=$total_wrapping_tax_exc}
|
||||
{else}
|
||||
{displayPrice price=$total_wrapping}
|
||||
{/if}
|
||||
{else}
|
||||
{displayPrice price=$total_wrapping_tax_exc}
|
||||
{/if}
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
{if $use_taxes}
|
||||
{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
|
||||
<h3>{l s='Shipping:'}</h3>
|
||||
<p><span class="price" id="total_shipping">{l s='Free Shipping!'}</span></p>
|
||||
{else}
|
||||
{if $priceDisplay}
|
||||
<div {if $total_shipping_tax_exc <= 0}class="hide"{/if}>
|
||||
<h3>{if $display_tax_label}{l s='Total shipping (tax excl.):'}{else}{l s='Total shipping:'}{/if}</h3>
|
||||
<p><span class="price" id="total_shipping">{displayPrice price=$total_shipping_tax_exc}</span></p>
|
||||
</div>
|
||||
{else}
|
||||
<div {if $total_shipping <= 0}class="hide"{/if}>
|
||||
<h3>{if $display_tax_label}{l s='Total shipping (tax incl.):'}{else}{l s='Total shipping:'}{/if}</h3>
|
||||
<p><span class="price" id="total_shipping">{displayPrice price=$total_shipping}</span></p>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
{else}
|
||||
<div {if $total_shipping_tax_exc <= 0}class="hide"{/if}>
|
||||
<h3>{l s='Total shipping:'}</h3>
|
||||
<p><span class="price" id="total_shipping">{displayPrice price=$total_shipping_tax_exc}</span></p>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<h3>{l s='Total (tax excl.):'}</h3>
|
||||
<p><span class="price" id="total_price_without_tax">{displayPrice price=$total_price_without_tax}</span></p>
|
||||
|
||||
<h3>{l s='Total tax:'}</h3>
|
||||
<p><span class="price" id="total_tax">{displayPrice price=$total_tax}</span></p>
|
||||
|
||||
<h3>{l s='Total:'}</h3>
|
||||
{if $use_taxes}
|
||||
<p><span class="price" id="total_price">{displayPrice price=$total_price}</span></p>
|
||||
{else}
|
||||
<p><span class="price" id="total_price">{displayPrice price=$total_price_without_tax}</span></p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /grid-a -->
|
||||
<br />
|
||||
{if $isLogged AND !$isGuest}
|
||||
<a href="{$link->getPageLink('index', true)}" data-role="button" data-theme="a" data-icon="back">Continue Shopping</a>
|
||||
{else}
|
||||
<ul data-role="listview" data-inset="true" id="list_myaccount">
|
||||
<li data-theme="a" data-icon="back">
|
||||
<a href="{$link->getPageLink('index', true)}">{l s='Continue Shopping'}</a>
|
||||
</li>
|
||||
<li data-theme="b" data-icon="check">
|
||||
<a href="{$link->getPageLink('authentication', true)}&back=order-opc">{l s='Confirm Order'}</a>
|
||||
</li>
|
||||
</ul>
|
||||
{/if}
|
||||
<br />
|
||||
</div><!-- /content -->
|
||||
95
themes/default/mobile/sitemap.tpl
Normal file
@@ -0,0 +1,95 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<div id="hook_mobile_top_site_map">
|
||||
{hook h="displayMobileTopSiteMap"}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2" class=""/>
|
||||
|
||||
{if isset($categoriesTree.children)}
|
||||
<h2>{l s="Our products"}</h2>
|
||||
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{for $i=0 to 4}
|
||||
{if isset($categoriesTree.children.$i)}
|
||||
<li data-icon="arrow-d">
|
||||
<a href="{$categoriesTree.children.$i.link|escape:'htmlall':'UTF-8'}" title="{$categoriesTree.children.$i.desc|escape:'htmlall':'UTF-8'}">
|
||||
{$categoriesTree.children.$i.name|escape:'htmlall':'UTF-8'}
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
{/for}
|
||||
<li>
|
||||
{l s='All categories'}
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{foreach $categoriesTree.children as $child}
|
||||
{include file="./category-tree-branch.tpl" node=$child last='true'}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
<hr width="99%" align="center" size="2" class=""/>
|
||||
<h2>{l s="Site map"}</h2>
|
||||
<ul data-role="listview" data-inset="true" id="category">
|
||||
{if $controller_name != 'index'}<li><a href="{$link->getPageLink('index', true)}">{l s="Home"}</a></li>{/if}
|
||||
<li>{l s='Our offers'}
|
||||
<ul data-role="listview" data-inset="true">
|
||||
<li><a href="{$link->getPageLink('new-products')}" title="{l s='New products'}">{l s='New products'}</a></li>
|
||||
{if !$PS_CATALOG_MODE}
|
||||
<li><a href="{$link->getPageLink('prices-drop')}" title="{l s='Specials'}">{l s='Specials'}</a></li>
|
||||
<li><a href="{$link->getPageLink('best-sales', true)}">{l s='Best sales'}</a></li>
|
||||
{/if}
|
||||
{if $display_manufacturer_link OR $PS_DISPLAY_SUPPLIERS}<li><a href="{$link->getPageLink('manufacturer')}">{l s='Manufacturers'}</a></li>{/if}
|
||||
{if $display_supplier_link OR $PS_DISPLAY_SUPPLIERS}<li><a href="{$link->getPageLink('supplier')}">{l s='Suppliers'}</a></li>{/if}
|
||||
</ul>
|
||||
</li>
|
||||
<li>{l s='Your Account'}
|
||||
<ul data-role="listview" data-inset="true">
|
||||
<li><a href="{$link->getPageLink('my-account', true)}">{l s='Your Account'}</a></li>
|
||||
<li><a href="{$link->getPageLink('identity', true)}">{l s='Personal information'}</a></li>
|
||||
<li><a href="{$link->getPageLink('addresses', true)}">{l s='Addresses'}</a></li>
|
||||
{if $voucherAllowed}<li><a href="{$link->getPageLink('discount', true)}">{l s='Discounts'}</a></li>{/if}
|
||||
<li><a href="{$link->getPageLink('history', true)}">{l s='Order history'}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>{l s="Pages"}
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{if isset($categoriescmsTree.children)}
|
||||
{foreach $categoriescmsTree.children as $child}
|
||||
{if (isset($child.children) && $child.children|@count > 0) || $child.cms|@count > 0}
|
||||
{include file="./category-cms-tree-branch.tpl" node=$child}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
{foreach from=$categoriescmsTree.cms item=cms name=cmsTree}
|
||||
<li><a href="{$cms.link|escape:'htmlall':'UTF-8'}" title="{$cms.meta_title|escape:'htmlall':'UTF-8'}">{$cms.meta_title|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/foreach}
|
||||
<li><a href="{$link->getPageLink('contact', true)}">{l s='Contact'}</a></li>
|
||||
{if $display_store}<li><a href="{$link->getPageLink('stores')}" title="{l s='Our stores'}">{l s='Our stores'}</a></li>{/if}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
83
themes/default/mobile/stores.tpl
Normal file
@@ -0,0 +1,83 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 14218 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Our stores'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var map;
|
||||
var markers = [];
|
||||
var infoWindow;
|
||||
var locationSelect;
|
||||
|
||||
var defaultLat = '{$defaultLat}';
|
||||
var defaultLong = '{$defaultLong}';
|
||||
|
||||
var translation_1 = '{l s='No store found, try to select a wider radius' js=1}';
|
||||
var translation_2 = '{l s='store found - see details:' js=1}';
|
||||
var translation_3 = '{l s='stores found - see all results:' js=1}';
|
||||
var translation_4 = '{l s='Phone:' js=1}';
|
||||
var translation_5 = '{l s='Get Directions' js=1}';
|
||||
var translation_6 = '{l s='Not found' js=1}';
|
||||
|
||||
var hasStoreIcon = '{$hasStoreIcon}';
|
||||
var distance_unit = '{$distance_unit}';
|
||||
var img_store_dir = '{$img_store_dir}';
|
||||
var img_ps_dir = '{$img_ps_dir}';
|
||||
var searchUrl = '{$searchUrl}';
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<!-- Stores -->
|
||||
<div data-role="content" id="content" class="stores">
|
||||
|
||||
<div id="stores_search_block">
|
||||
<label for="location">
|
||||
{l s='Enter a location in order to find the nearest stores'}
|
||||
</label>
|
||||
<input type="text" name="location" id="location" value="" />
|
||||
</div>
|
||||
|
||||
<div id="stores_search_block">
|
||||
<label for="radius">{l s='Radius'} ({$distance_unit})</label>
|
||||
<input type="range" name="radius_slider" id="radius" value="15" min="0" max="100" data-highlight="true"/>
|
||||
</div>
|
||||
|
||||
<div id="stores_search_block">
|
||||
<button type="submit" data-theme="a" name="submit" value="submit-value" class="ui-btn-hidden" aria-disabled="false">
|
||||
{l s='Search'}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="stores_block">
|
||||
<h3 class="bg">{l s='Our stores'}</h3>
|
||||
<ul data-role="listview" data-theme="c" id="stores_list">
|
||||
</ul>
|
||||
</div>
|
||||
{include file="./sitemap.tpl"}
|
||||
</div>
|
||||
<!-- END Stores -->
|
||||
68
themes/default/mobile/supplier-list.tpl
Normal file
@@ -0,0 +1,68 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{l s='Suppliers'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
<div data-role="content" id="content">
|
||||
|
||||
{if isset($errors) AND $errors}
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
{else}
|
||||
<p class="nbrmanufacturer">{strip}
|
||||
<span class="bold">
|
||||
{if $nbSuppliers == 0}{l s='There are no suppliers.'}
|
||||
{else}
|
||||
{if $nbSuppliers == 1}{l s='There is'}{else}{l s='There are'}{/if} 
|
||||
{$nbSuppliers} 
|
||||
{if $nbSuppliers == 1}{l s='supplier.'}{else}{l s='suppliers.'}{/if}
|
||||
{/if}
|
||||
</span>{/strip}
|
||||
</p>
|
||||
|
||||
{if $nbSuppliers > 0}
|
||||
<ul id="suppliers_list" data-role="listview">
|
||||
{foreach $suppliers_list as $supplier}
|
||||
<li data-corners="false" data-shadow="false" data-iconshadow="true" data-inline="false" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="c" class="clearfix {if $supplier@first}first_item{elseif $supplier@last}last_item{else}item{/if}">
|
||||
{if $supplier.nb_products > 0}
|
||||
<a href="{$link->getsupplierLink($supplier.id_supplier, $supplier.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$supplier.name|escape:'htmlall':'UTF-8'}">
|
||||
{/if}
|
||||
<!-- logo -->
|
||||
<img src="{$img_sup_dir}{$supplier.image|escape:'htmlall':'UTF-8'}-medium.jpg" alt="" width="80" />
|
||||
<!-- name -->
|
||||
<h3>{$supplier.name|truncate:60:'...'|escape:'htmlall':'UTF-8'}</h3>
|
||||
<p>
|
||||
{$supplier.nb_products|intval} {if $supplier.nb_products == 1}{l s='product'}{else}{l s='products'}{/if}
|
||||
</p>
|
||||
{if $supplier.nb_products > 0}</a>{/if}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{include file="$tpl_dir./pagination.tpl"}
|
||||
{/if}
|
||||
{/if}
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
61
themes/default/mobile/supplier.tpl
Normal file
@@ -0,0 +1,61 @@
|
||||
{*
|
||||
* 2007-2012 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-2012 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
{capture assign='page_title'}{$supplier->name|escape:'htmlall':'UTF-8'}{/capture}
|
||||
{include file='./page-title.tpl'}
|
||||
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
|
||||
{if !isset($errors) OR !sizeof($errors)}
|
||||
<div data-role="content" id="content">
|
||||
<p><a data-role="button" data-icon="arrow-l" data-theme="a" data-mini="true" data-inline="true" href="{$link->getPageLink('supplier', true)}">{l s="Suppliers"}</a></p>
|
||||
{if !empty($supplier->description) || !empty($supplier->short_description)}
|
||||
<div class="category_desc clearfix">
|
||||
{if !empty($supplier->short_description)}
|
||||
<p>{$supplier->short_description}</p>
|
||||
<p class="hide_desc">{$supplier->description}</p>
|
||||
<a href="#" data-theme="a" data-role="button" data-mini="true" data-inline="true" data-icon="arrow-d" class="lnk_more" onclick="$(this).prev().slideDown('slow'); $(this).hide(); return false;">{l s='More'}</a>
|
||||
{else}
|
||||
<p>{$supplier->description}</p>
|
||||
{/if}
|
||||
</div><!-- .category_desc -->
|
||||
{/if}
|
||||
|
||||
{if $products}
|
||||
<div class="clearfix">
|
||||
{include file="./category-product-sort.tpl" container_class="container-sort"}
|
||||
</div>
|
||||
<hr width="99%" align="center" size="2"/>
|
||||
{include file="./pagination.tpl"}
|
||||
{include file="./category-product-list.tpl" products=$products}
|
||||
{include file="./pagination.tpl"}
|
||||
|
||||
{else}
|
||||
<p class="warning">{l s='No new products.'}</p>
|
||||
{/if}
|
||||
{include file='./sitemap.tpl'}
|
||||
</div><!-- #content -->
|
||||
{/if}
|
||||
62
themes/default/mobile/test.tpl
Normal file
@@ -0,0 +1,62 @@
|
||||
{*
|
||||
* 2007-2011 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-2011 PrestaShop SA
|
||||
* @version Release: $Revision: 6594 $
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<div data-role="content" id="content">
|
||||
<div id="slider">
|
||||
<img src="img/slider.jpg" width="100%" />
|
||||
</div>
|
||||
|
||||
|
||||
<!--<ul data-role="listview" data-inset="true" id="category">
|
||||
<li><a href="category.html">Category 1</a></li>
|
||||
<li><a href="category.html">Category 2</a></li>
|
||||
<li><a href="category.html">Category 3</a></li>
|
||||
<li><a href="category.html">Category 4</a></li>
|
||||
</ul>--><!-- /category -->
|
||||
|
||||
<hr width="99%" align="center" size="2" />
|
||||
<div id="newsletter">
|
||||
<p>Newsletter</p>
|
||||
<form action="form.php" method="post">
|
||||
<div data-role="fieldcontain">
|
||||
<label for="name">Your email:</label>
|
||||
<input type="text" name="name" id="name" value="" />
|
||||
<div data-theme="a" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-a" aria-disabled="false">
|
||||
<span aria-hidden="true" class="ui-btn-inner ui-btn-corner-all"><span class="ui-btn-text">OK</span></span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div><!-- /newsletter -->
|
||||
|
||||
<hr width="99%" align="center" size="2" />
|
||||
<ul data-role="listview" data-inset="true" id="category">
|
||||
<li><a href="index.html">Accueil</a></li>
|
||||
<li><a href="category.html">IPod</a></li>
|
||||
<li><a href="category.html">Accessoires</a></li>
|
||||
<li><a href="my-account.html">Mon compte</a></li>
|
||||
<li><a href="contact.html">Contact</a></li>
|
||||
</ul>
|
||||
|
||||
</div><!-- /content -->
|
||||