Merge branch '1.6' of https://github.com/PrestaShop/PrestaShop into 1.6
This commit is contained in:
+1
-1
@@ -94,7 +94,7 @@
|
||||
{/if}
|
||||
{/foreach}
|
||||
<div class="panel-footer">
|
||||
<button type="button" name="cancel" class="btn btn-default">
|
||||
<button type="submit" name="cancel" class="btn btn-default">
|
||||
<i class="icon-remove"></i>
|
||||
{l s='Cancel'}
|
||||
</button>
|
||||
|
||||
@@ -153,6 +153,10 @@ class CategoryCore extends ObjectModel
|
||||
{
|
||||
if (!isset($this->level_depth))
|
||||
$this->level_depth = $this->calcLevelDepth();
|
||||
|
||||
if ($this->is_root_category)
|
||||
$this->id_parent = (int)Configuration::get('PS_ROOT_CATEGORY');
|
||||
|
||||
$ret = parent::add($autodate, $null_values);
|
||||
if (Tools::isSubmit('checkBoxShopAsso_category'))
|
||||
foreach (Tools::getValue('checkBoxShopAsso_category') as $id_shop => $value)
|
||||
@@ -185,6 +189,10 @@ class CategoryCore extends ObjectModel
|
||||
{
|
||||
if ($this->id_parent == $this->id)
|
||||
throw new PrestaShopException('a category cannot be it\'s own parent');
|
||||
|
||||
if ($this->is_root_category)
|
||||
$this->id_parent = (int)Configuration::get('PS_ROOT_CATEGORY');
|
||||
|
||||
// Update group selection
|
||||
$this->updateGroup($this->groupBox);
|
||||
$this->level_depth = $this->calcLevelDepth();
|
||||
|
||||
@@ -314,7 +314,8 @@ class ConfigurationCore extends ObjectModel
|
||||
$result = true;
|
||||
foreach ($values as $lang => $value)
|
||||
{
|
||||
if ($value === Configuration::get($key, $lang, $id_shop_group, $id_shop))
|
||||
$stored_value = Configuration::get($key, $lang, $id_shop_group, $id_shop);
|
||||
if ((!is_numeric($value) && $value === $stored_value) || (is_numeric($value) && $value == $stored_value))
|
||||
continue;
|
||||
|
||||
// If key already exists, update value
|
||||
|
||||
+20
-21
@@ -421,28 +421,27 @@ class ToolsCore
|
||||
if (is_object($currency) && $currency->id && !$currency->deleted && $currency->isAssociatedToShop())
|
||||
$cookie->id_currency = (int)$currency->id;
|
||||
}
|
||||
|
||||
if ((int)$cookie->id_currency)
|
||||
{
|
||||
$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
if (is_object($currency) && (int)$currency->id && (int)$currency->deleted != 1 && $currency->active)
|
||||
if ($currency->isAssociatedToShop())
|
||||
return $currency;
|
||||
else
|
||||
{
|
||||
// get currency from context
|
||||
$currency = Shop::getEntityIds('currency', Context::getContext()->shop->id);
|
||||
if (isset($currency[0]) && $currency[0]['id_currency'])
|
||||
{
|
||||
$cookie->id_currency = $currency[0]['id_currency'];
|
||||
return Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT'));
|
||||
if (is_object($currency) && $currency->id)
|
||||
$cookie->id_currency = (int)$currency->id;
|
||||
if ((int)$cookie->id_currency)
|
||||
$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
|
||||
if (is_object($currency) && (int)$currency->id && (int)$currency->deleted != 1 && $currency->active)
|
||||
{
|
||||
$cookie->id_currency = (int)$currency->id;
|
||||
if ($currency->isAssociatedToShop())
|
||||
return $currency;
|
||||
else
|
||||
{
|
||||
// get currency from context
|
||||
$currency = Shop::getEntityIds('currency', Context::getContext()->shop->id, true, true);
|
||||
if (isset($currency[0]) && $currency[0]['id_currency'])
|
||||
{
|
||||
$cookie->id_currency = $currency[0]['id_currency'];
|
||||
return Currency::getCurrencyInstance((int)$cookie->id_currency);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $currency;
|
||||
}
|
||||
|
||||
@@ -2679,7 +2678,7 @@ exit;
|
||||
'iso_lang' => Tools::strtolower(isset($params['iso_lang']) ? $params['iso_lang'] : Context::getContext()->language->iso_code),
|
||||
'iso_code' => Tools::strtolower(isset($params['iso_country']) ? $params['iso_country'] : Country::getIsoById(Configuration::get('PS_COUNTRY_DEFAULT'))),
|
||||
'shop_url' => isset($params['shop_url']) ? $params['shop_url'] : Tools::getShopDomain(),
|
||||
'mail' => isset($params['email']) ? $params['email'] : Configuration::get('email')
|
||||
'mail' => isset($params['email']) ? $params['email'] : Configuration::get('PS_SHOP_EMAIL')
|
||||
));
|
||||
|
||||
$protocols = array('https');
|
||||
|
||||
@@ -145,7 +145,19 @@ class AdminImportControllerCore extends AdminController
|
||||
'shop' => array(
|
||||
'label' => $this->l('ID / Name of shop'),
|
||||
'help' => $this->l('Ignore this field if you don\'t use the Multistore tool. If you leave this field empty, the default shop will be used.'),
|
||||
)
|
||||
),
|
||||
'advanced_stock_management' => array(
|
||||
'label' => $this->l('Advanced Stock Management'),
|
||||
'help' => $this->l('Enable Advanced Stock Management on product (0 = No, 1 = Yes)')
|
||||
),
|
||||
'depends_on_stock' => array(
|
||||
'label' => $this->l('Depends On Stock'),
|
||||
'help' => $this->l('0 = Use quantity set in product, 1 = Use quantity from Warehouse')
|
||||
),
|
||||
'warehouse' => array(
|
||||
'label' => $this->l('Warehouse'),
|
||||
'help' => $this->l('ID of the warehouse to set as storeage')
|
||||
),
|
||||
);
|
||||
|
||||
self::$default_values = array(
|
||||
@@ -160,6 +172,8 @@ class AdminImportControllerCore extends AdminController
|
||||
'minimal_quantity' => 1,
|
||||
'weight' => 0,
|
||||
'default_on' => 0,
|
||||
'advanced_stock_management' => 0,
|
||||
'depends_on_stock' => 0,
|
||||
);
|
||||
break;
|
||||
|
||||
@@ -255,11 +269,22 @@ class AdminImportControllerCore extends AdminController
|
||||
'uploadable_files' => array('label' => $this->l('Uploadable files (0 = No, 1 = Yes)')),
|
||||
'text_fields' => array('label' => $this->l('Text fields (0 = No, 1 = Yes)')),
|
||||
'out_of_stock' => array('label' => $this->l('Action when out of stock')),
|
||||
'advanced_stock_management' => array('label' => $this->l('Advanced stock management')),
|
||||
'shop' => array(
|
||||
'label' => $this->l('ID / Name of shop'),
|
||||
'help' => $this->l('Ignore this field if you don\'t use the Multistore tool. If you leave this field empty, the default shop will be used.'),
|
||||
)
|
||||
),
|
||||
'advanced_stock_management' => array(
|
||||
'label' => $this->l('Advanced Stock Management'),
|
||||
'help' => $this->l('Enable Advanced Stock Management on product (0 = No, 1 = Yes)')
|
||||
),
|
||||
'depends_on_stock' => array(
|
||||
'label' => $this->l('Depends On Stock'),
|
||||
'help' => $this->l('0 = Use quantity set in product, 1 = Use quantity from Warehouse')
|
||||
),
|
||||
'warehouse' => array(
|
||||
'label' => $this->l('Warehouse'),
|
||||
'help' => $this->l('ID of the warehouse to set as storeage')
|
||||
),
|
||||
);
|
||||
|
||||
self::$default_values = array(
|
||||
@@ -287,7 +312,8 @@ class AdminImportControllerCore extends AdminController
|
||||
'uploadable_files' => 0,
|
||||
'text_fields' => 0,
|
||||
'out_of_stock' => '2',
|
||||
'advanced_stock_management' => '0',
|
||||
'advanced_stock_management' => 0,
|
||||
'depends_on_stock' => 0,
|
||||
);
|
||||
break;
|
||||
|
||||
@@ -1694,15 +1720,91 @@ class AdminImportControllerCore extends AdminController
|
||||
Feature::cleanPositions();
|
||||
}
|
||||
|
||||
// stock available
|
||||
if (Shop::isFeatureActive())
|
||||
// set advanced stock managment
|
||||
if (isset($product->advanced_stock_management))
|
||||
{
|
||||
foreach ($shops as $shop)
|
||||
StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, (int)$shop);
|
||||
if ($product->advanced_stock_management != 1 && $product->advanced_stock_management != 0)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management has incorrect value. Not set for product %1$s '),$product->name[$default_language_id]);
|
||||
elseif (!Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && $product->advanced_stock_management == 1)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management is not enabled, can not enable on product %1$s '),$product->name[$default_language_id]);
|
||||
else
|
||||
$product->setAdvancedStockManagement($product->advanced_stock_management);
|
||||
// automaticly disable depends on stock, if a_s_m set to disabled
|
||||
if (StockAvailable::dependsOnStock($product->id) == 1 && $product->advanced_stock_management == 0)
|
||||
StockAvailable::setProductDependsOnStock($product->id, 0);
|
||||
}
|
||||
else
|
||||
StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, $this->context->shop->id);
|
||||
|
||||
// Check if warehouse exists
|
||||
if ($product->warehouse)
|
||||
{
|
||||
if (!Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT'))
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management is not enabled, warehouse not set on product %1$s '),$product->name[$default_language_id]);
|
||||
else
|
||||
{
|
||||
if (Warehouse::exists($product->warehouse))
|
||||
{
|
||||
// Get already associated warehouses
|
||||
$associated_warehouses_collection = WarehouseProductLocation::getCollection($product->id);
|
||||
// Delete any entry in warehouse for this product
|
||||
foreach ($associated_warehouses_collection as $awc)
|
||||
$awc->delete();
|
||||
$warehouse_location_entity = new WarehouseProductLocation();
|
||||
$warehouse_location_entity->id_product = $product->id;
|
||||
$warehouse_location_entity->id_product_attribute = 0;
|
||||
$warehouse_location_entity->id_warehouse = $product->warehouse;
|
||||
if (WarehouseProductLocation::getProductLocation($product->id, 0, $product->warehouse) !== false)
|
||||
$warehouse_location_entity->update();
|
||||
else
|
||||
$warehouse_location_entity->save();
|
||||
StockAvailable::synchronize($product->id);
|
||||
}
|
||||
else
|
||||
$this->warnings[] = sprintf(Tools::displayError('Warehouse did not exists, can not set on product %1$s '),$product->name[$default_language_id]);
|
||||
}
|
||||
}
|
||||
|
||||
// stock available
|
||||
if (isset($product->depends_on_stock))
|
||||
{
|
||||
if ($product->depends_on_stock != 0 && $product->depends_on_stock != 1)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Incorrect value for depends on stock for product %1$s '),$product->name[$default_language_id]);
|
||||
elseif ((!$product->advanced_stock_management || $product->advanced_stock_management == 0) && $product->depends_on_stock == 1)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management not enabled, can not set depends on stock %1$s '),$product->name[$default_language_id]);
|
||||
else
|
||||
StockAvailable::setProductDependsOnStock($product->id, $product->depends_on_stock);
|
||||
|
||||
// This code allows us to set qty and disable depends on stock
|
||||
if (isset($product->quantity) && $product->depends_on_stock == 0)
|
||||
{
|
||||
if (Shop::isFeatureActive())
|
||||
foreach ($shops as $shop)
|
||||
StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, (int)$shop);
|
||||
else
|
||||
StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, $this->context->shop->id);
|
||||
}
|
||||
// elseif enable depends on stock and quantity, add quantity to stock
|
||||
elseif (isset($product->quantity) && $product->depends_on_stock == 1)
|
||||
{
|
||||
// add stock
|
||||
$stock_manager = StockManagerFactory::getManager();
|
||||
$price = str_replace(',', '.', $product->wholesale_price);
|
||||
if ($price == 0)
|
||||
$price = 0.000001;
|
||||
$price = round(floatval($price), 6);
|
||||
$warehouse = new Warehouse($product->warehouse);
|
||||
if ($stock_manager->addProduct((int)$product->id, 0, $warehouse, $product->quantity, 1, $price, true))
|
||||
StockAvailable::synchronize((int)$product->id);
|
||||
}
|
||||
}
|
||||
// if not depends_on_stock set, use normal qty
|
||||
else
|
||||
{
|
||||
if (Shop::isFeatureActive())
|
||||
foreach ($shops as $shop)
|
||||
StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, (int)$shop);
|
||||
else
|
||||
StockAvailable::setQuantity((int)$product->id, 0, $product->quantity, $this->context->shop->id);
|
||||
}
|
||||
}
|
||||
$this->closeCsvFile($handle);
|
||||
}
|
||||
@@ -1886,11 +1988,11 @@ class AdminImportControllerCore extends AdminController
|
||||
else
|
||||
$this->errors[] = ($field_error !== true ? $field_error : '').(isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '');
|
||||
|
||||
// fils groups attributes
|
||||
// fills groups attributes
|
||||
$id_attribute_group = $obj->id;
|
||||
$groups_attributes[$key]['id'] = $id_attribute_group;
|
||||
}
|
||||
else // alreay exists
|
||||
else // already exists
|
||||
{
|
||||
$id_attribute_group = $groups[$group];
|
||||
$groups_attributes[$key]['id'] = $id_attribute_group;
|
||||
@@ -2041,7 +2143,87 @@ class AdminImportControllerCore extends AdminController
|
||||
VALUES ('.(int)$attribute_to_add.','.(int)$id_product_attribute.')');
|
||||
}
|
||||
|
||||
StockAvailable::setQuantity($product->id, $id_product_attribute, (int)$info['quantity']);
|
||||
// set advanced stock managment
|
||||
if (isset($info['advanced_stock_management']))
|
||||
{
|
||||
if ($info['advanced_stock_management'] != 1 && $info['advanced_stock_management'] != 0)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management has incorrect value. Not set for product with id %s '),$product->id);
|
||||
elseif (!Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') && $info['advanced_stock_management'] == 1)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management is not enabled, can not enable on product with id %s '),$product->id);
|
||||
else
|
||||
$product->setAdvancedStockManagement($info['advanced_stock_management']);
|
||||
// automaticly disable depends on stock, if a_s_m set to disabled
|
||||
if (StockAvailable::dependsOnStock($product->id) == 1 && $info['advanced_stock_management'] == 0)
|
||||
StockAvailable::setProductDependsOnStock($product->id, 0,null,$id_product_attribute);
|
||||
}
|
||||
|
||||
// Check if warehouse exists
|
||||
if ($info['warehouse'])
|
||||
{
|
||||
if (!Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT'))
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management is not enabled, warehouse not set on product with id %s '),$product->id);
|
||||
else
|
||||
{
|
||||
if (Warehouse::exists($info['warehouse']))
|
||||
{
|
||||
$warehouse_location_entity = new WarehouseProductLocation();
|
||||
$warehouse_location_entity->id_product = $product->id;
|
||||
$warehouse_location_entity->id_product_attribute = $id_product_attribute;
|
||||
$warehouse_location_entity->id_warehouse = $info['warehouse'];
|
||||
if (WarehouseProductLocation::getProductLocation($product->id, $id_product_attribute, $info['warehouse']) !== false)
|
||||
$warehouse_location_entity->update();
|
||||
else
|
||||
$warehouse_location_entity->save();
|
||||
StockAvailable::synchronize($product->id);
|
||||
}
|
||||
else
|
||||
$this->warnings[] = sprintf(Tools::displayError('Warehouse did not exists, can not set on product %1$s '),$product->name[$default_language_id]);
|
||||
}
|
||||
}
|
||||
|
||||
// stock available
|
||||
if (isset($info['depends_on_stock']))
|
||||
{
|
||||
if ($info['depends_on_stock'] != 0 && $info['depends_on_stock'] != 1)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Incorrect value for depends on stock for product %1$s '),$product->name[$default_language_id]);
|
||||
elseif ((!$info['advanced_stock_management'] || $info['advanced_stock_management'] == 0) && $info['depends_on_stock'] == 1)
|
||||
$this->warnings[] = sprintf(Tools::displayError('Advanced stock management not enabled, can not set depends on stock %1$s '),$product->name[$default_language_id]);
|
||||
else
|
||||
StockAvailable::setProductDependsOnStock($product->id, $info['depends_on_stock'],null,$id_product_attribute);
|
||||
|
||||
// This code allows us to set qty and disable depends on stock
|
||||
if (isset($info['quantity']) && $info['depends_on_stock'] == 0)
|
||||
{
|
||||
if (Shop::isFeatureActive())
|
||||
foreach ($shops as $shop)
|
||||
StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], (int)$shop);
|
||||
else
|
||||
StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], $this->context->shop->id);
|
||||
}
|
||||
// elseif enable depends on stock and quantity, add quantity to stock
|
||||
elseif (isset($info['quantity']) && $info['depends_on_stock'] == 1)
|
||||
{
|
||||
// add stock
|
||||
$stock_manager = StockManagerFactory::getManager();
|
||||
$price = str_replace(',', '.', $info['wholesale_price']);
|
||||
if ($price == 0)
|
||||
$price = 0.000001;
|
||||
$price = round(floatval($price), 6);
|
||||
$warehouse = new Warehouse($info['warehouse']);
|
||||
if ($stock_manager->addProduct((int)$product->id, $id_product_attribute, $warehouse, (int)$info['quantity'], 1, $price, true))
|
||||
StockAvailable::synchronize((int)$product->id);
|
||||
}
|
||||
}
|
||||
// if not depends_on_stock set, use normal qty
|
||||
else
|
||||
{
|
||||
if (Shop::isFeatureActive())
|
||||
foreach ($shops as $shop)
|
||||
StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], (int)$shop);
|
||||
else
|
||||
StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], $this->context->shop->id);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,14 +35,47 @@ class AdminLogsControllerCore extends AdminController
|
||||
$this->noLink = true;
|
||||
|
||||
$this->fields_list = array(
|
||||
'id_log' => array('title' => $this->l('ID'), 'align' => 'center', 'class' => 'fixed-width-xs'),
|
||||
'employee' => array('title' => $this->l('Employee'), 'align' => 'center', 'havingFilter' => true),
|
||||
'severity' => array('title' => $this->l('Severity (1-4)'), 'align' => 'center', 'class' => 'fixed-width-xs'),
|
||||
'message' => array('title' => $this->l('Message')),
|
||||
'object_type' => array('title' => $this->l('Object type'), 'class' => 'fixed-width-sm'),
|
||||
'object_id' => array('title' => $this->l('Object ID'), 'align' => 'center', 'class' => 'fixed-width-xs'),
|
||||
'error_code' => array('title' => $this->l('Error code'), 'align' => 'center', 'prefix' => '0x', 'class' => 'fixed-width-xs'),
|
||||
'date_add' => array('title' => $this->l('Date'), 'width' => 150, 'align' => 'right', 'type' => 'datetime')
|
||||
'id_log' => array(
|
||||
'title' => $this->l('ID'),
|
||||
'align' => 'center',
|
||||
'class' => 'fixed-width-xs'
|
||||
),
|
||||
'employee' => array(
|
||||
'title' => $this->l('Employee'),
|
||||
'align' => 'left',
|
||||
'havingFilter' => true,
|
||||
'callback' => 'displayEmployee',
|
||||
'callback_object' => $this
|
||||
),
|
||||
'severity' => array(
|
||||
'title' => $this->l('Severity (1-4)'),
|
||||
'align' => 'center',
|
||||
'class' => 'fixed-width-xs'
|
||||
),
|
||||
'message' => array(
|
||||
'title' => $this->l('Message')
|
||||
),
|
||||
'object_type' => array(
|
||||
'title' => $this->l('Object type'),
|
||||
'class' => 'fixed-width-sm'
|
||||
),
|
||||
'object_id' => array(
|
||||
'title' => $this->l('Object ID'),
|
||||
'align' => 'center',
|
||||
'class' => 'fixed-width-xs'
|
||||
),
|
||||
'error_code' => array(
|
||||
'title' => $this->l('Error code'),
|
||||
'align' => 'center',
|
||||
'prefix' => '0x',
|
||||
'class' => 'fixed-width-xs'
|
||||
),
|
||||
'date_add' => array(
|
||||
'title' => $this->l('Date'),
|
||||
'width' => 150,
|
||||
'align' => 'right',
|
||||
'type' => 'datetime'
|
||||
)
|
||||
);
|
||||
|
||||
$this->fields_options = array(
|
||||
@@ -81,6 +114,12 @@ class AdminLogsControllerCore extends AdminController
|
||||
);
|
||||
unset($this->toolbar_btn['new']);
|
||||
}
|
||||
|
||||
public function displayEmployee($value, $tr)
|
||||
{
|
||||
$employee = new Employee((int)$tr['id_employee']);
|
||||
return ImageManager::thumbnail($employee->getImage(), $this->table.'_mini_'.$value.'_'.$this->context->shop->id.'.'.$this->imageType, 45, $this->imageType).' '.$value;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -39,6 +39,10 @@ class AdminWarehousesControllerCore extends AdminController
|
||||
$this->multishop_context = Shop::CONTEXT_ALL;
|
||||
|
||||
$this->fields_list = array(
|
||||
'id_warehouse' => array(
|
||||
'title' => $this->l('ID'),
|
||||
'width' => 50,
|
||||
),
|
||||
'reference' => array(
|
||||
'title' => $this->l('Reference'),
|
||||
),
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
Product ID*;Attribute (Name:Type:Position)*;Value (Value:Position)*;Supplier reference;Reference;EAN13;UPC;Wholesale price;Impact on price;Ecotax;Quantity;Minimal quantity;Impact on weight;Default (0 = No, 1 = Yes);Image position;Image URL;Delete existing images (0 = No, 1 = Yes);ID / Name of shop
|
||||
1;Color:color:0, Disk space:select:1;Blue:0, 16GB:1;RF-Nano-Blue-16GB;RP-Nano-Blue-16GB;0000080446392;;100;40;;10;1;0;0;1;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Blue:0, 8GB:1;RF-Nano-Blue-8GB;RP-Nano-Blue-8GB;0000080446393;;80;0;;10;1;0;0;2;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Yellow:0, 16GB:1;RF-Nano-Yellow-16GB;RP-Nano-Yellow-16GB;0000080446394;;100;40;;10;1;0;0;3;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Yellow:0, 8GB:1;RF-Nano-Yellow-8GB;RP-Nano-Yellow-8GB;0000080446395;;80;0;;10;1;0;1;4;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Metal:0, 16GB:1;RF-Nano-Metal-16GB;RP-Nano-Metal-16GB;0000080446396;;100;40;;10;1;0;0;5;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Metal:0, 8GB:1;RF-Nano-Metal-8GB;RP-Nano-Metal-8GB;0000080446397;;80;0;;10;1;0;0;6;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Black:0, 16GB:1;RF-Nano-Black-16GB;RP-Nano-Black-16GB;0000080446398;;100;40;;10;1;0;0;7;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Black:0, 8GB:1;RF-Nano-Black-8GB;RP-Nano-Black-8GB;0000080446399;;80;0;;10;1;0;0;8;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Orange:0, 16GB:1;RF-Nano-Orange-16GB;RP-Nano-Orange-16GB;0000080446400;;100;40;;10;1;0;0;9;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Orange:0, 8GB:1;RF-Nano-Orange-8GB;RP-Nano-Orange-8GB;0000080446401;;80;0;;10;1;0;0;10;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Pink:0, 16GB:1;RF-Nano-Pink-16GB;RP-Nano-Pink-16GB;0000080446402;;100;40;;10;1;0;0;11;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Pink:0, 8GB:1;RF-Nano-Pink-8GB;RP-Nano-Pink-8GB;0000080446403;;80;0;;10;1;0;0;12;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Green:0, 16GB:1;RF-Nano-Green-16GB;RP-Nano-Green-16GB;0000080446404;;100;40;;10;1;0;0;13;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Green:0, 8GB:1;RF-Nano-Green-8GB;RP-Nano-Green-8GB;0000080446405;;80;0;;10;1;0;0;14;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Purple:0, 16GB:1;RF-Nano-Purple-16GB;RP-Nano-Purple-16GB;0000080446406;;100;40;;10;1;0;0;15;http://youdomain.com/img.jpg;1;
|
||||
1;Color:color:0, Disk space:select:1;Purple:0, 8GB:1;RF-Nano-Purple-8GB;RP-Nano-Purple-8GB;0000080446407;;80;0;;10;1;0;0;16;http://youdomain.com/img.jpg;1;
|
||||
2;Color:color:0;Metal:0;RF-Shuffle-Metal;RP-Shuffle-Metal;0685387080038;;40;0;;12;1;0;1;1;http://youdomain.com/img.jpg;1;
|
||||
2;Color:color:0;Blue:0;RF-Shuffle-Blue;RP-Shuffle-Blue;0685387080039;;40;0;;12;1;0;0;2;http://youdomain.com/img.jpg;1;
|
||||
2;Color:color:0;Pink:0;RF-Shuffle-Pink;RP-Shuffle-Pink;0685387080040;;40;0;;12;1;0;0;3;http://youdomain.com/img.jpg;1;
|
||||
2;Color:color:0;Green:0;RF-Shuffle-Green;RP-Shuffle-Green;0685387080041;;40;0;;12;1;0;0;4;http://youdomain.com/img.jpg;1;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, 80GB Parallel ATA Drive @ 4200 rpm:1, 1.60GHz Intel Core 2 Duo:2;RF-MacBookAir80GB-1.6MHz;RP-MacBookAir80GB-1.6MHz;0123456791230;;0;750;;10;1;0;0;1;http://youdomain.com/img.jpg;1;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, 80GB Parallel ATA Drive @ 4200 rpm:1, 1.80GHz Intel Core 2 Duo:2;RF-MacBookAir80GB-1.6MHz;RP-MacBookAir80GB-1.6MHz;0123456791230;;0;0;;10;1;0;1;2;http://youdomain.com/img.jpg;1;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, Optional 64GB solid-state drive:1, 1.60GHz Intel Core 2 Duo:2;RF-MacBookAir64GB-1.8MHz;RP-MacBookAir64GB-1.8MHz;0123456791230;;0;225;;10;1;0;0;3;http://youdomain.com/img.jpg;1;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, Optional 64GB solid-state drive:1, 1.60GHz Intel Core 2 Duo:2;RF-MacBookAir64GB-1.8MHz;RP-MacBookAir64GB-1.8MHz;0123456791230;;0;975;;10;1;0;0;4;http://youdomain.com/img.jpg;1;
|
||||
5;Disk space:select:1;8GB:0;RF-IpodTouch8GB;RP-IpodTouch8GB;8456123645123;;200;0;;10;1;0;1;1;http://youdomain.com/img.jpg;1;
|
||||
5;Disk space:select:1;16GB:0;RF-IpodTouch16GB;RP-IpodTouch16GB;8456123645124;;250;75;;10;1;0;0;2;http://youdomain.com/img.jpg;1;
|
||||
5;Disk space:select:1;32GB:0;RF-IpodTouch32GB;RP-IpodTouch32GB;8456123645125;;300;150;;10;1;0;0;3;http://youdomain.com/img.jpg;1;
|
||||
Product ID*;Attribute (Name:Type:Position)*;Value (Value:Position)*;Supplier reference;Reference;EAN13;UPC;Wholesale price;Impact on price;Ecotax;Quantity;Minimal quantity;Impact on weight;Default (0 = No, 1 = Yes);Image position;Image URL;Delete existing images (0 = No, 1 = Yes);ID / Name of shop;Advanced Stock Managment;Depends on stock;Warehouse
|
||||
1;Color:color:0, Disk space:select:1;Blue:0, 16GB:1;RF-Nano-Blue-16GB;RP-Nano-Blue-16GB;0000080446392;;100;40;;10;1;0;0;1;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Blue:0, 8GB:1;RF-Nano-Blue-8GB;RP-Nano-Blue-8GB;0000080446393;;80;0;;10;1;0;0;2;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Yellow:0, 16GB:1;RF-Nano-Yellow-16GB;RP-Nano-Yellow-16GB;0000080446394;;100;40;;10;1;0;0;3;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Yellow:0, 8GB:1;RF-Nano-Yellow-8GB;RP-Nano-Yellow-8GB;0000080446395;;80;0;;10;1;0;1;4;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Metal:0, 16GB:1;RF-Nano-Metal-16GB;RP-Nano-Metal-16GB;0000080446396;;100;40;;10;1;0;0;5;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Metal:0, 8GB:1;RF-Nano-Metal-8GB;RP-Nano-Metal-8GB;0000080446397;;80;0;;10;1;0;0;6;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Black:0, 16GB:1;RF-Nano-Black-16GB;RP-Nano-Black-16GB;0000080446398;;100;40;;10;1;0;0;7;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Black:0, 8GB:1;RF-Nano-Black-8GB;RP-Nano-Black-8GB;0000080446399;;80;0;;10;1;0;0;8;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Orange:0, 16GB:1;RF-Nano-Orange-16GB;RP-Nano-Orange-16GB;0000080446400;;100;40;;10;1;0;0;9;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Orange:0, 8GB:1;RF-Nano-Orange-8GB;RP-Nano-Orange-8GB;0000080446401;;80;0;;10;1;0;0;10;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Pink:0, 16GB:1;RF-Nano-Pink-16GB;RP-Nano-Pink-16GB;0000080446402;;100;40;;10;1;0;0;11;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Pink:0, 8GB:1;RF-Nano-Pink-8GB;RP-Nano-Pink-8GB;0000080446403;;80;0;;10;1;0;0;12;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Green:0, 16GB:1;RF-Nano-Green-16GB;RP-Nano-Green-16GB;0000080446404;;100;40;;10;1;0;0;13;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Green:0, 8GB:1;RF-Nano-Green-8GB;RP-Nano-Green-8GB;0000080446405;;80;0;;10;1;0;0;14;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Purple:0, 16GB:1;RF-Nano-Purple-16GB;RP-Nano-Purple-16GB;0000080446406;;100;40;;10;1;0;0;15;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
1;Color:color:0, Disk space:select:1;Purple:0, 8GB:1;RF-Nano-Purple-8GB;RP-Nano-Purple-8GB;0000080446407;;80;0;;10;1;0;0;16;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
2;Color:color:0;Metal:0;RF-Shuffle-Metal;RP-Shuffle-Metal;0685387080038;;40;0;;12;1;0;1;1;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
2;Color:color:0;Blue:0;RF-Shuffle-Blue;RP-Shuffle-Blue;0685387080039;;40;0;;12;1;0;0;2;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
2;Color:color:0;Pink:0;RF-Shuffle-Pink;RP-Shuffle-Pink;0685387080040;;40;0;;12;1;0;0;3;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
2;Color:color:0;Green:0;RF-Shuffle-Green;RP-Shuffle-Green;0685387080041;;40;0;;12;1;0;0;4;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, 80GB Parallel ATA Drive @ 4200 rpm:1, 1.60GHz Intel Core 2 Duo:2;RF-MacBookAir80GB-1.6MHz;RP-MacBookAir80GB-1.6MHz;0123456791230;;0;750;;10;1;0;0;1;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, 80GB Parallel ATA Drive @ 4200 rpm:1, 1.80GHz Intel Core 2 Duo:2;RF-MacBookAir80GB-1.6MHz;RP-MacBookAir80GB-1.6MHz;0123456791230;;0;0;;10;1;0;1;2;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, Optional 64GB solid-state drive:1, 1.60GHz Intel Core 2 Duo:2;RF-MacBookAir64GB-1.8MHz;RP-MacBookAir64GB-1.8MHz;0123456791230;;0;225;;10;1;0;0;3;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
3;Color:color:0, Disk space:select:1, ICU:select:2;Metal:0, Optional 64GB solid-state drive:1, 1.60GHz Intel Core 2 Duo:2;RF-MacBookAir64GB-1.8MHz;RP-MacBookAir64GB-1.8MHz;0123456791230;;0;975;;10;1;0;0;4;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
5;Disk space:select:1;8GB:0;RF-IpodTouch8GB;RP-IpodTouch8GB;8456123645123;;200;0;;10;1;0;1;1;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
5;Disk space:select:1;16GB:0;RF-IpodTouch16GB;RP-IpodTouch16GB;8456123645124;;250;75;;10;1;0;0;2;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
5;Disk space:select:1;32GB:0;RF-IpodTouch32GB;RP-IpodTouch32GB;8456123645125;;300;150;;10;1;0;0;3;http://youdomain.com/img.jpg;1;0;0;0;
|
||||
|
||||
|
@@ -1,8 +1,8 @@
|
||||
ID;Active (0/1);Name *;Categories (x,y,z...);Price tax excluded or Price tax included;Tax rules ID;Wholesale price;On sale (0/1);Discount amount;Discount percent;Discount from (yyyy-mm-dd);Discount to (yyyy-mm-dd);Reference #;Supplier reference #;Supplier;Manufacturer;EAN13;UPC;Ecotax;Width;Height;Depth;Weight;Quantity;Minimal quantity;Visibility;Additional shipping cost;Unity;Unit price ratio;Short description;Description;Tags (x,y,z...);Meta title;Meta keywords;Meta description;URL rewritten;Text when in stock;Text when backorder allowed;Available for order (0 = No, 1 = Yes);Product available date;Product creation date;Show price (0 = No, 1 = Yes);Image URLs (x,y,z...);Delete existing images (0 = No, 1 = Yes);Feature(Name:Value:Position);Available online only (0 = No, 1 = Yes);Condition;Customizable (0 = No, 1 = Yes);Uploadable files (0 = No, 1 = Yes);Text fields (0 = No, 1 = Yes);Out_of_stock;Advanced stock management;ID / Name of shop
|
||||
1;1;iPod Nano;iPods;100;1;80;1;;5.5;2013-06-01;2018-12-31;RP-demo_1;RF-demo_1;Applestore;Apple;1234567890123;;1;0.6;0.2;0.4;0.068357;160;1;;;;;<p>New design.</p>;<p>New design.</p>;apple, ipod, nano;Meta title-Nano;Meta keywords-Nano;Meta description-Nano;iPod-Nano;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-01;1;http://localhost/prestashop_1.5.6.0/img/p/1/5/15.jpg;0;;0;new;0;0;0;0;0;
|
||||
2;1;iPod shuffle;iPods;60;1;40;1;;;2013-06-01;2018-12-31;RP-demo_2;RF-demo_2;Applestore;Apple;1234567890123;;1;0.1;0.1;0.1;0.027563;120;1;both;;;;<p>New design.</p>;<p>New design.</p>;ipod, shuffle;Meta title-Shuffle;Meta keywords-Shuffle;Meta description-Shuffle;iPod-shuffle;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-02;1;http://localhost/prestashop_1.5.6.0/img/p/2/3/23.jpg;0;;0;new;0;0;0;0;0;
|
||||
3;1;MacBook Air;Laptops;1500;1;1000;1;100;;2013-06-01;2018-12-31;RP-demo_3;RF-demo_3;Applestore;Apple;1234567890123;;2;1.31;0.3;1;2.976846;400;1;catalog;;;;<p>New design.</p>;<p>New design.</p>;MacBook, Air;Meta title-McBookAir;Meta keywords-McBookAir;Meta description-McBookAir;MacBook-Air;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-03;1;http://localhost/prestashop_1.5.6.0/img/p/1/1.jpg;1;;0;new;0;0;0;0;0;
|
||||
4;1;MacBook;Laptops;1150;1;750;1;;;2013-06-01;2018-12-31;RP-demo_4;RF-demo_4;Applestore;Apple;1234567890123;;2;1.31;0.3;1;4.454244;75;1;search;;;;<p>New design.</p>;<p>New design.</p>;MacBook, Pro;Meta title-McBookPro;Meta keywords-McBookPro;Meta description-McBookPro;MacBook;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-04;1;http://localhost/prestashop_1.5.6.0/img/p/6/6.jpg;1;;0;new;0;0;0;0;0;
|
||||
5;1;iPod touch;iPods;240;1;150;1;;;2013-06-01;2018-12-31;RP-demo_5;RF-demo_5;Applestore;Apple;1234567890123;;1;0.6;0.2;0.4;0.194046;120;1;none;;;;<p>New design.</p>;<p>New design.</p>;Ipod touch;Meta title-IpodTouch;Meta keywords-IpodTouch;Meta description-IpodTouch;iPod-touch;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-05;1;http://localhost/prestashop_1.5.6.0/img/p/7/7.jpg;0;;1;used;0;0;0;0;0;
|
||||
6;1;Belkin Leather Folio for iPod nano - Black / Chocolate;Accessories;25;1;150;1;;;2013-06-01;2018-12-31;RP-demo_6;RF-demo_6;Nippon Electronic Import;Belkin;1234567890123;;0;0.6;0.2;0.4;0.038588;25;1;;20;;;<p>New design.</p>;<p>New design.</p>;Folio, leather;Meta title-BelkinLeatherFolio;Meta keywords-BelkinLeatherFolio;Meta description-BelkinLeatherFolio;Belkin-Leather-Folio-for-iPod-nano---Black-Chocolate;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-06;1;http://localhost/prestashop_1.5.6.0/img/p/1/3/13.jpg;0;;1;refurbished;0;0;0;0;0;
|
||||
7;1;Shure SE210 Sound-Isolating Earphones for iPod and iPhone;Accessories;125;2;80;1;;;2013-06-01;2018-12-31;RP-demo_7;RF-demo_7;Shure Online Store;Shure;1234567890123;;0;0.1;0.1;0.1;0.040793;15;1;;;;;<p>New design.</p>;<p>New design.</p>;Headphones;Meta title-ShureEarphones;Meta keywords-ShureEarphones;Meta description-ShureEarphones;Shure-SE210-Sound-Isolating-Earphones-for-iPod-and-iPhone;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-07;1;http://localhost/prestashop_1.5.6.0/img/p/1/4/14.jpg;0;;1;new;0;0;0;0;0;
|
||||
ID;Active (0/1);Name *;Categories (x,y,z...);Price tax excluded or Price tax included;Tax rules ID;Wholesale price;On sale (0/1);Discount amount;Discount percent;Discount from (yyyy-mm-dd);Discount to (yyyy-mm-dd);Reference #;Supplier reference #;Supplier;Manufacturer;EAN13;UPC;Ecotax;Width;Height;Depth;Weight;Quantity;Minimal quantity;Visibility;Additional shipping cost;Unity;Unit price ratio;Short description;Description;Tags (x,y,z...);Meta title;Meta keywords;Meta description;URL rewritten;Text when in stock;Text when backorder allowed;Available for order (0 = No, 1 = Yes);Product available date;Product creation date;Show price (0 = No, 1 = Yes);Image URLs (x,y,z...);Delete existing images (0 = No, 1 = Yes);Feature(Name:Value:Position);Available online only (0 = No, 1 = Yes);Condition;Customizable (0 = No, 1 = Yes);Uploadable files (0 = No, 1 = Yes);Text fields (0 = No, 1 = Yes);Out of stock;Advanced stock management;ID / Name of shop;Depends On Stock;Warehouse
|
||||
1;1;iPod Nano;iPods;100;1;80;1;;5.5;2013-06-01;2018-12-31;RP-demo_1;RF-demo_1;Applestore;Apple;1234567890123;;1;0.6;0.2;0.4;0.068357;160;1;;;;;<p>New design.</p>;<p>New design.</p>;apple, ipod, nano;Meta title-Nano;Meta keywords-Nano;Meta description-Nano;iPod-Nano;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-01;1;http://localhost/prestashop_1.5.6.0/img/p/1/5/15.jpg;0;;0;new;0;0;0;0;0;0;0;
|
||||
2;1;iPod shuffle;iPods;60;1;40;1;;;2013-06-01;2018-12-31;RP-demo_2;RF-demo_2;Applestore;Apple;1234567890123;;1;0.1;0.1;0.1;0.027563;120;1;both;;;;<p>New design.</p>;<p>New design.</p>;ipod, shuffle;Meta title-Shuffle;Meta keywords-Shuffle;Meta description-Shuffle;iPod-shuffle;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-02;1;http://localhost/prestashop_1.5.6.0/img/p/2/3/23.jpg;0;;0;new;0;0;0;0;0;0;0;
|
||||
3;1;MacBook Air;Laptops;1500;1;1000;1;100;;2013-06-01;2018-12-31;RP-demo_3;RF-demo_3;Applestore;Apple;1234567890123;;2;1.31;0.3;1;2.976846;400;1;catalog;;;;<p>New design.</p>;<p>New design.</p>;MacBook, Air;Meta title-McBookAir;Meta keywords-McBookAir;Meta description-McBookAir;MacBook-Air;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-03;1;http://localhost/prestashop_1.5.6.0/img/p/1/1.jpg;1;;0;new;0;0;0;0;0;0;0;
|
||||
4;1;MacBook;Laptops;1150;1;750;1;;;2013-06-01;2018-12-31;RP-demo_4;RF-demo_4;Applestore;Apple;1234567890123;;2;1.31;0.3;1;4.454244;75;1;search;;;;<p>New design.</p>;<p>New design.</p>;MacBook, Pro;Meta title-McBookPro;Meta keywords-McBookPro;Meta description-McBookPro;MacBook;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-04;1;http://localhost/prestashop_1.5.6.0/img/p/6/6.jpg;1;;0;new;0;0;0;0;0;0;0;
|
||||
5;1;iPod touch;iPods;240;1;150;1;;;2013-06-01;2018-12-31;RP-demo_5;RF-demo_5;Applestore;Apple;1234567890123;;1;0.6;0.2;0.4;0.194046;120;1;none;;;;<p>New design.</p>;<p>New design.</p>;Ipod touch;Meta title-IpodTouch;Meta keywords-IpodTouch;Meta description-IpodTouch;iPod-touch;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-05;1;http://localhost/prestashop_1.5.6.0/img/p/7/7.jpg;0;;1;used;0;0;0;0;0;0;0;
|
||||
6;1;Belkin Leather Folio for iPod nano - Black / Chocolate;Accessories;25;1;150;1;;;2013-06-01;2018-12-31;RP-demo_6;RF-demo_6;Nippon Electronic Import;Belkin;1234567890123;;0;0.6;0.2;0.4;0.038588;25;1;;20;;;<p>New design.</p>;<p>New design.</p>;Folio, leather;Meta title-BelkinLeatherFolio;Meta keywords-BelkinLeatherFolio;Meta description-BelkinLeatherFolio;Belkin-Leather-Folio-for-iPod-nano---Black-Chocolate;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-06;1;http://localhost/prestashop_1.5.6.0/img/p/1/3/13.jpg;0;;1;refurbished;0;0;0;0;0;0;0;
|
||||
7;1;Shure SE210 Sound-Isolating Earphones for iPod and iPhone;Accessories;125;2;80;1;;;2013-06-01;2018-12-31;RP-demo_7;RF-demo_7;Shure Online Store;Shure;1234567890123;;0;0.1;0.1;0.1;0.040793;15;1;;;;;<p>New design.</p>;<p>New design.</p>;Headphones;Meta title-ShureEarphones;Meta keywords-ShureEarphones;Meta description-ShureEarphones;Shure-SE210-Sound-Isolating-Earphones-for-iPod-and-iPhone;In Stock;Current supply. Ordering availlable;1;2013-03-01;2013-01-07;1;http://localhost/prestashop_1.5.6.0/img/p/1/4/14.jpg;0;;1;new;0;0;0;0;0;0;0;
|
||||
|
||||
|
@@ -675,4 +675,4 @@ function checkAllZones(elt)
|
||||
$('.fees div.input-group input:text, .fees_all div.input-group input:text').attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,26 @@
|
||||
{if $facebookurl != ''}
|
||||
<div id="facebook_block" class="col-xs-4">
|
||||
<h4 >{l s='Follow us on facebook' mod='blockfacebook'}</h4>
|
||||
<div class="facebook-fanbox">
|
||||
<iframe src="//www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2F{$facebookurl|escape:'html':'UTF-8'}&width=235&height=290&colorscheme=light&show_faces=true&header=false&stream=false&show_border=false" scrolling="no" frameborder="0" style="border:none; width:100%; height:200px;" allowTransparency="true"></iframe>
|
||||
</div>
|
||||
<div id="fb-root"></div>
|
||||
<script>
|
||||
(function(d, s, id) {
|
||||
var js, fjs = d.getElementsByTagName(s)[0];
|
||||
if (d.getElementById(id)) return;
|
||||
js = d.createElement(s); js.id = id;
|
||||
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=334341610034299";
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));
|
||||
</script>
|
||||
<div id="facebook_block" class="col-xs-4">
|
||||
<h4 >{l s='Follow us on facebook' mod='blockfacebook'}</h4>
|
||||
<div class="facebook-fanbox">
|
||||
<div
|
||||
class="fb-like-box"
|
||||
data-href="http://www.facebook.com/{$facebookurl|escape:'html':'UTF-8'}"
|
||||
data-colorscheme="light"
|
||||
data-show-faces="true"
|
||||
data-header="false"
|
||||
data-stream="false"
|
||||
data-show-border="false">
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
|
||||
</div>
|
||||
{/if}
|
||||
@@ -353,7 +353,7 @@ class Dashactivity extends Module
|
||||
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Cart active'),
|
||||
'desc' => $this->l('Default time range to consider a Shopping cart as active (default 30, max 120)'),
|
||||
'desc' => $this->l('How long (in minutes) a cart is to be considered active after the last recorded change.'),
|
||||
'name' => 'DASHACTIVITY_CART_ACTIVE',
|
||||
'type' => 'select',
|
||||
'options' => array(
|
||||
@@ -371,7 +371,7 @@ class Dashactivity extends Module
|
||||
);
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Visitor online'),
|
||||
'desc' => $this->l('Default time range to consider a Visitor as online (default 30, max 120)'),
|
||||
'desc' => $this->l('How long (in minutes) a visitor is to be considered online after their last action (default: 30 min).'),
|
||||
'name' => 'DASHACTIVITY_VISITOR_ONLINE',
|
||||
'type' => 'select',
|
||||
'options' => array(
|
||||
@@ -389,14 +389,14 @@ class Dashactivity extends Module
|
||||
);
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Cart abandoned (min)'),
|
||||
'desc' => $this->l('Default time range (min) to consider a Shopping cart as abandoned (default 24hrs)'),
|
||||
'desc' => $this->l('How long (in hours) after the last action a cart is to be considered as abandoned (default: 24 hrs).'),
|
||||
'name' => 'DASHACTIVITY_CART_ABANDONED_MIN',
|
||||
'type' => 'text',
|
||||
'suffix' => $this->l('hrs'),
|
||||
);
|
||||
$fields_form['form']['input'][] = array(
|
||||
'label' => $this->l('Cart abandoned (max)'),
|
||||
'desc' => $this->l('Default time range (max) to consider a Shopping cart as abandoned (default 48hrs)'),
|
||||
'desc' => $this->l('How long (in hours) after the last action a cart is no longer to be considered as abandoned (default: 24 hrs).'),
|
||||
'name' => 'DASHACTIVITY_CART_ABANDONED_MAX',
|
||||
'type' => 'text',
|
||||
'suffix' => $this->l('hrs'),
|
||||
|
||||
@@ -235,7 +235,9 @@ class Dashgoals extends Module
|
||||
$fullfilment = round($value / $month_goal, 2);
|
||||
|
||||
// Base rate is essential here : it determines the value of the goal compared to the "100%" of the chart legend
|
||||
$base_rate = $month_goal / $average_goal;
|
||||
$base_rate = 0;
|
||||
if ($average_goal && $month_goal)
|
||||
$base_rate = $month_goal / $average_goal;
|
||||
|
||||
// Fullfilment of 1 means that we performed exactly anticipated
|
||||
if ($fullfilment == 1)
|
||||
|
||||
@@ -106,8 +106,8 @@ $(function(){ldelim}
|
||||
<div id="vat_area">
|
||||
<div id="vat_number">
|
||||
<div class="form-group">
|
||||
<label for="vat_number">{l s='VAT number'}</label>
|
||||
<input type="text" class="form-control" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'html'}{/if}{/if}" onkeyup="if($(this).val().length) { if (validate_{$address_validation.$field_name.validate}($(this).val())) $(this).parent().removeClass('form-error').addClass('form-ok'); else $(this).parent().addClass('form-error').removeClass('form-ok'); }" />
|
||||
<label for="vat-number">{l s='VAT number'}</label>
|
||||
<input type="text" class="form-control" id="vat-number" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{else}{if isset($address->vat_number)}{$address->vat_number|escape:'html'}{/if}{/if}" onkeyup="if($(this).val().length) { if (validate_{$address_validation.$field_name.validate}($(this).val())) $(this).parent().removeClass('form-error').addClass('form-ok'); else $(this).parent().addClass('form-error').removeClass('form-ok'); }" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 2),
|
||||
only screen and (min-device-pixel-ratio: 2) {
|
||||
|
||||
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
|
||||
.replace-2x {
|
||||
font-size: 1px;
|
||||
}
|
||||
|
||||
.example {
|
||||
background-image: url(../images/example2x.png);
|
||||
-webkit-background-size:13px 13px;
|
||||
@@ -13,5 +9,4 @@ only screen and (min-device-pixel-ratio: 2) {
|
||||
-o-background-size:13px 13px;
|
||||
background-size:13px 13px;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -44,16 +44,18 @@
|
||||
|
||||
<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}" />
|
||||
|
||||
<link rel="stylesheet" href="{$css_dir}highdpi.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="{$css_dir}bootstrap_lib/bootstrap.css" type="text/css" media="all" />
|
||||
<link rel="stylesheet" href="{$css_dir}font-awesome.css" type="text/css" media="all" />
|
||||
<link rel="stylesheet" href="{$css_dir}jquery/uniform.default.css" type="text/css" media="all" />
|
||||
<link rel="stylesheet" href="{$css_dir}highdpi.css" media="only screen and (-webkit-min-device-pixel-ratio: 2)" />
|
||||
<link rel="stylesheet" href="{$css_dir}jquery/footable.core.css" type="text/css" media="all" />
|
||||
<link rel="stylesheet" href="{$css_dir}jquery/jquery.bxslider.css" type="text/css" media="all" />
|
||||
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,400italic,300italic,300,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css' />
|
||||
|
||||
<link rel='stylesheet' href='//fonts.googleapis.com/css?family=Open+Sans:400,400italic,300italic,300,600,600italic,700,700italic,800,800italic' type='text/css' />
|
||||
{if isset($css_files)}
|
||||
{foreach from=$css_files key=css_uri item=media}
|
||||
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
|
||||
<link rel="stylesheet" href="{$css_uri}" type="text/css" media="{$media}" />
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
@@ -62,10 +64,9 @@
|
||||
var viewport = document.querySelector("meta[name=viewport]");
|
||||
viewport.setAttribute('content', 'initial-scale=1.0,maximum-scale=1.0,user-scalable=0,width=device-width,height=device-height');
|
||||
}
|
||||
if(navigator.userAgent.match(/Android/i)){
|
||||
if(navigator.userAgent.match(/Android/i)) {
|
||||
window.scrollTo(0,1);
|
||||
}
|
||||
|
||||
var baseDir = '{$content_dir|addslashes}';
|
||||
var baseUri = '{$base_uri|addslashes}';
|
||||
var static_token = '{$static_token|addslashes}';
|
||||
|
||||
@@ -76,8 +76,8 @@ var generated_date = {$smarty.now|intval};
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
<dt id="cart_block_product_{$product.id_product}_{if $product.id_product_attribute}{$product.id_product_attribute}{else}0{/if}_{if $product.id_address_delivery}{$product.id_address_delivery}{else}0{/if}" class="{if $smarty.foreach.myLoop.first}first_item{elseif $smarty.foreach.myLoop.last}last_item{else}item{/if}">
|
||||
<a class="cart-images" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category)}">
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'cart_default')}" alt="" title="{$product.name|escape:htmlall:'UTF-8'|truncate:20}" />
|
||||
<a class="cart-images" href="{$link->getProductLink($product.id_product, $product.link_rewrite, $product.category)|escape:htmlall:'UTF-8'}" title="{$product.name|escape:htmlall:'UTF-8'|truncate:20}">
|
||||
<img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'cart_default')}" alt="{$product.name|escape:htmlall:'UTF-8'}" />
|
||||
</a>
|
||||
<div class="cart-info">
|
||||
<div class="product-name">
|
||||
|
||||
@@ -39,11 +39,17 @@
|
||||
{/if}
|
||||
<!-- nbr product/page -->
|
||||
{if $nb_products > $products_per_page}
|
||||
<form action="{if !is_array($requestNb)}{$requestNb}{else}{$requestNb.requestUrl}{/if}" method="get" class="nbrItemPage">
|
||||
<form action="{if !is_array($requestNb)}{$requestNb|escape:htmlall:'UTF-8'}{else}{$requestNb.requestUrl|escape:htmlall:'UTF-8'}{/if}" method="get" class="nbrItemPage">
|
||||
<div class="clearfix selector1">
|
||||
{if isset($search_query) AND $search_query}<input type="hidden" name="search_query" value="{$search_query|escape:'html':'UTF-8'}" />{/if}
|
||||
{if isset($tag) AND $tag AND !is_array($tag)}<input type="hidden" name="tag" value="{$tag|escape:'html':'UTF-8'}" />{/if}
|
||||
<label for="nb_item{if isset($paginationId)}_{$paginationId}{/if}">{l s='Show'}</label>
|
||||
{if isset($search_query) AND $search_query}
|
||||
<input type="hidden" name="search_query" value="{$search_query|escape:'html':'UTF-8'}" />
|
||||
{/if}
|
||||
{if isset($tag) AND $tag AND !is_array($tag)}
|
||||
<input type="hidden" name="tag" value="{$tag|escape:'html':'UTF-8'}" />
|
||||
{/if}
|
||||
<label for="nb_item{if isset($paginationId)}_{$paginationId}{/if}">
|
||||
{l s='Show'}
|
||||
</label>
|
||||
{if is_array($requestNb)}
|
||||
{foreach from=$requestNb item=requestValue key=requestKey}
|
||||
{if $requestKey != 'requestUrl'}
|
||||
@@ -52,17 +58,17 @@
|
||||
{/foreach}
|
||||
{/if}
|
||||
<select name="n" id="nb_item{if isset($paginationId)}_{$paginationId}{/if}" class="js-nb_item form-control" onchange="this.form.submit();">
|
||||
{assign var="lastnValue" value="0"}
|
||||
{foreach from=$nArray item=nValue}
|
||||
{if $lastnValue <= $nb_products}
|
||||
<option value="{$nValue|escape:'html':'UTF-8'}" {if $n == $nValue}selected="selected"{/if}>{$nValue|escape:'html':'UTF-8'}</option>
|
||||
{/if}
|
||||
{assign var="lastnValue" value=$nValue}
|
||||
{/foreach}
|
||||
{assign var="lastnValue" value="0"}
|
||||
{foreach from=$nArray item=nValue}
|
||||
{if $lastnValue <= $nb_products}
|
||||
<option value="{$nValue|escape:'html':'UTF-8'}" {if $n == $nValue}selected="selected"{/if}>{$nValue|escape:'html':'UTF-8'}</option>
|
||||
{/if}
|
||||
{assign var="lastnValue" value=$nValue}
|
||||
{/foreach}
|
||||
</select>
|
||||
<span>{l s='per page'}</span>
|
||||
</div>
|
||||
</form>
|
||||
{/if}
|
||||
<!-- /nbr product/page -->
|
||||
{/if}
|
||||
{/if}
|
||||
@@ -34,308 +34,332 @@
|
||||
var txtProducts = "{l s='products' js=1}";
|
||||
// ]]>
|
||||
</script>
|
||||
|
||||
{capture name=path}{l s='Your payment method'}{/capture}
|
||||
{/if}
|
||||
|
||||
{if !$opc}<h1 class="page-heading">{l s='Please choose your payment method'}</h1>{else}<h1 class="page-heading step-num"><span>3</span> {l s='Please choose your payment method'}</h1>{/if}
|
||||
{if !$opc}
|
||||
<h1 class="page-heading">{l s='Please choose your payment method'}</h1>
|
||||
{else}
|
||||
<h1 class="page-heading step-num"><span>3</span> {l s='Please choose your payment method'}</h1>
|
||||
{/if}
|
||||
|
||||
{if !$opc}
|
||||
{assign var='current_step' value='payment'}
|
||||
{include file="$tpl_dir./order-steps.tpl"}
|
||||
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
{else}
|
||||
<div id="opc_payment_methods" class="opc-main-block">
|
||||
<div id="opc_payment_methods-overlay" class="opc-overlay" style="display: none;"></div>
|
||||
{/if}
|
||||
|
||||
<div class="paiement_block">
|
||||
|
||||
<div id="HOOK_TOP_PAYMENT">{$HOOK_TOP_PAYMENT}</div>
|
||||
|
||||
{if $HOOK_PAYMENT}
|
||||
{if !$opc}
|
||||
<div id="order-detail-content" class="table_block table-responsive">
|
||||
<table id="cart_summary" class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cart_product first_item">{l s='Product'}</th>
|
||||
<th class="cart_description item">{l s='Description'}</th>
|
||||
<th class="cart_availability item">{l s='Avail.'}</th>
|
||||
<th class="cart_unit item">{l s='Unit price'}</th>
|
||||
<!--th class="cart_quantity item">{l s='Qty'}</th-->
|
||||
<th class="cart_total last_item">{l s='Total'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax excl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax incl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products_wt}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{l s='Total products'}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr class="cart_total_voucher" {if $total_wrapping == 0}style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{if $display_tax_label}{l s='Total gift wrapping (tax excl.):'}{else}{l s='Total gift wrapping cost:'}{/if}
|
||||
{else}
|
||||
{if $display_tax_label}{l s='Total gift wrapping (tax incl.)'}{else}{l s='Total gift wrapping cost:'}{/if}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Total gift wrapping cost:'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount 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}
|
||||
</td>
|
||||
</tr>
|
||||
{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
|
||||
<tr class="cart_total_delivery">
|
||||
<td colspan="3" class="text-right">{l s='Shipping:'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{l s='Free Shipping!'}</td>
|
||||
</tr>
|
||||
{else}
|
||||
{if $use_taxes && $total_shipping_tax_exc != $total_shipping}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_delivery" {if $shippingCost <= 0} style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax excl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{displayPrice price=$shippingCostTaxExc}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax incl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$shippingCost}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">{l s='Total shipping'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$shippingCostTaxExc}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
<tr class="cart_total_voucher" {if $total_discounts == 0}style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{if $display_tax_label}{l s='Total vouchers (tax excl.)'}{else}{l s='Total vouchers'}{/if}
|
||||
{else}
|
||||
{if $display_tax_label}{l s='Total vouchers (tax incl.)'}{else}{l s='Total vouchers'}{/if}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Total vouchers'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount price" id="total_discount">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{displayPrice price=$total_discounts_tax_exc*-1}
|
||||
{else}
|
||||
{displayPrice price=$total_discounts*-1}
|
||||
{/if}
|
||||
{else}
|
||||
{displayPrice price=$total_discounts_tax_exc*-1}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay && $total_tax != 0}
|
||||
<tr class="cart_total_tax">
|
||||
<td colspan="3" class="text-right">{l s='Total tax:'}</td>
|
||||
<td colspan="2" class="price" id="total_tax" >{displayPrice price=$total_tax}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="total_price_container text-right"><span>{l s='Total'}</span></td>
|
||||
<td colspan="2" class="price" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
{if $voucherAllowed}
|
||||
<td colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
<div id="cart_voucher" class="table_block">
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach from=$errors_discount key=k item=error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{if $voucherAllowed}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" id="discount_name" class="form-control" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='ok'}</span></button>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title_offers">{l s='Take advantage of our offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach from=$displayVouchers item=voucher}
|
||||
<span onclick="$('#discount_name').val('{$voucher.name}');return false;" class="voucher_name">{$voucher.name}</span> - {$voucher.description} <br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
</fieldset>
|
||||
</form>
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
{/if}
|
||||
<td colspan="{if !$voucherAllowed}3{else}2{/if}" class="text-right total_price_container">
|
||||
<span>{l s='Total'}</span>
|
||||
</td>
|
||||
<td colspan="1" class="price total_price_container" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price_without_tax}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{foreach from=$products item=product name=productLoop}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='cannotModify' value=1}
|
||||
{assign var='odd' value=$product@iteration%2}
|
||||
{assign var='noDeleteButton' value=1}
|
||||
{* Display the product line *}
|
||||
{include file="$tpl_dir./shopping-cart-product-line.tpl"}
|
||||
{* Then the customized datas ones*}
|
||||
{if isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{foreach from=$customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] key='id_customization' item='customization'}
|
||||
<tr id="product_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" class="alternate_item cart_item">
|
||||
<td colspan="3">
|
||||
{foreach from=$customization.datas key='type' item='datas'}
|
||||
{if $type == $CUSTOMIZE_FILE}
|
||||
<div class="customizationUploaded">
|
||||
<ul class="customizationUploaded">
|
||||
{foreach from=$datas item='picture'}
|
||||
<li>
|
||||
<img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" />
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{elseif $type == $CUSTOMIZE_TEXTFIELD}
|
||||
<ul class="typedText">
|
||||
{foreach from=$datas item='textField' name='typedText'}
|
||||
<li>
|
||||
{if $textField.name}
|
||||
{l s='%s:' sprintf=$textField.name}
|
||||
<div class="paiement_block">
|
||||
<div id="HOOK_TOP_PAYMENT">{$HOOK_TOP_PAYMENT}</div>
|
||||
{if $HOOK_PAYMENT}
|
||||
{if !$opc}
|
||||
<div id="order-detail-content" class="table_block table-responsive">
|
||||
<table id="cart_summary" class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cart_product first_item">{l s='Product'}</th>
|
||||
<th class="cart_description item">{l s='Description'}</th>
|
||||
<th class="cart_availability item">{l s='Avail.'}</th>
|
||||
<th class="cart_unit item">{l s='Unit price'}</th>
|
||||
<!--th class="cart_quantity item">{l s='Qty'}</th-->
|
||||
<th class="cart_total last_item">{l s='Total'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax excl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax incl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products_wt}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{l s='Total products'}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr class="cart_total_voucher" {if $total_wrapping == 0}style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{if $display_tax_label}{l s='Total gift wrapping (tax excl.):'}{else}{l s='Total gift wrapping cost:'}{/if}
|
||||
{else}
|
||||
{l s='Text #%s:' sprintf=$smarty.foreach.typedText.index+1}
|
||||
{if $display_tax_label}{l s='Total gift wrapping (tax incl.)'}{else}{l s='Total gift wrapping cost:'}{/if}
|
||||
{/if}
|
||||
{$textField.value}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td class="cart_quantity">
|
||||
{if isset($cannotModify) AND $cannotModify == 1}
|
||||
<span>{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}</span>
|
||||
{else}
|
||||
<div>
|
||||
<a rel="nofollow" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$token_cart}")|escape:'html'}"><img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" title="{l s='Delete this customization'}" width="11" height="13" class="icon" /></a>
|
||||
</div>
|
||||
<div id="cart_quantity_button">
|
||||
<a rel="nofollow" class="cart_quantity_up" id="cart_quantity_up_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$token_cart}")|escape:'html'}" title="{l s='Add'}"><img src="{$img_dir}icon/quantity_up.gif" alt="{l s='Add'}" width="14" height="9" /></a><br />
|
||||
{if $product.minimal_quantity < ($customization.quantity -$quantityDisplayed) OR $product.minimal_quantity <= 1}
|
||||
<a rel="nofollow" class="cart_quantity_down" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&op=down&token={$token_cart}")|escape:'html'}" title="{l s='Subtract'}">
|
||||
<img src="{$img_dir}icon/quantity_down.gif" alt="{l s='Subtract'}" width="14" height="9" />
|
||||
</a>
|
||||
{else}
|
||||
<a class="cart_quantity_down" style="opacity: 0.3;" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="#" title="{l s='Subtract'}">
|
||||
<img src="{$img_dir}icon/quantity_down.gif" alt="{l s='Subtract'}" width="14" height="9" />
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
<input type="hidden" value="{$customization.quantity}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_hidden"/>
|
||||
<input size="2" type="text" value="{$customization.quantity}" class="cart_quantity_input" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"/>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="cart_total"></td>
|
||||
</tr>
|
||||
{assign var='quantityDisplayed' value=$quantityDisplayed+$customization.quantity}
|
||||
{/foreach}
|
||||
{* If it exists also some uncustomized products *}
|
||||
{if $product.quantity-$quantityDisplayed > 0}{include file="$tpl_dir./shopping-cart-product-line.tpl"}{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{assign var='last_was_odd' value=$product@iteration%2}
|
||||
{foreach $gift_products as $product}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($product@iteration+$last_was_odd)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{assign var='cannotModify' value=1}
|
||||
{* Display the gift product line *}
|
||||
{include file="./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{if count($discounts)}
|
||||
<tbody>
|
||||
{foreach from=$discounts item=discount name=discountLoop}
|
||||
<tr class="cart_discount {if $smarty.foreach.discountLoop.last}last_item{elseif $smarty.foreach.discountLoop.first}first_item{else}item{/if}" id="cart_discount_{$discount.id_discount}">
|
||||
<td class="cart_discount_name" colspan="2">{$discount.name}</td>
|
||||
<td class="cart_discount_description" colspan="3">{$discount.description}</td>
|
||||
<td class="cart_discount_price">
|
||||
<span class="price-discount">
|
||||
{if $discount.value_real > 0}
|
||||
{if !$priceDisplay}
|
||||
{displayPrice price=$discount.value_real*-1}
|
||||
{else}
|
||||
{displayPrice price=$discount.value_tax_exc*-1}
|
||||
{/if}
|
||||
{/if}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{/if}
|
||||
</table>
|
||||
</div>
|
||||
{/if}
|
||||
{if $opc}<div id="opc_payment_methods-content">{/if}
|
||||
<div id="HOOK_PAYMENT">
|
||||
{$HOOK_PAYMENT}
|
||||
</div>
|
||||
{if $opc}</div>{/if}
|
||||
{else}
|
||||
<p class="alert alert-warning">{l s='No payment modules have been installed.'}</p>
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Total gift wrapping cost:'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount 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}
|
||||
</td>
|
||||
</tr>
|
||||
{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
|
||||
<tr class="cart_total_delivery">
|
||||
<td colspan="3" class="text-right">{l s='Shipping:'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{l s='Free Shipping!'}</td>
|
||||
</tr>
|
||||
{else}
|
||||
{if $use_taxes && $total_shipping_tax_exc != $total_shipping}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_delivery" {if $shippingCost <= 0} style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax excl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{displayPrice price=$shippingCostTaxExc}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax incl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$shippingCost}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $shippingCost <= 0} style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">{l s='Total shipping'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$shippingCostTaxExc}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
<tr class="cart_total_voucher" {if $total_discounts == 0}style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{if $display_tax_label}{l s='Total vouchers (tax excl.)'}{else}{l s='Total vouchers'}{/if}
|
||||
{else}
|
||||
{if $display_tax_label}{l s='Total vouchers (tax incl.)'}{else}{l s='Total vouchers'}{/if}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Total vouchers'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount price" id="total_discount">
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
{displayPrice price=$total_discounts_tax_exc*-1}
|
||||
{else}
|
||||
{displayPrice price=$total_discounts*-1}
|
||||
{/if}
|
||||
{else}
|
||||
{displayPrice price=$total_discounts_tax_exc*-1}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay && $total_tax != 0}
|
||||
<tr class="cart_total_tax">
|
||||
<td colspan="3" class="text-right">{l s='Total tax:'}</td>
|
||||
<td colspan="2" class="price" id="total_tax" >{displayPrice price=$total_tax}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="total_price_container text-right"><span>{l s='Total'}</span></td>
|
||||
<td colspan="2" class="price" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
{if $voucherAllowed}
|
||||
<td colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
<div id="cart_voucher" class="table_block">
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach from=$errors_discount key=k item=error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{if $voucherAllowed}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" id="discount_name" class="form-control" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='ok'}</span></button>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title_offers">{l s='Take advantage of our offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach from=$displayVouchers item=voucher}
|
||||
<span onclick="$('#discount_name').val('{$voucher.name}');return false;" class="voucher_name">{$voucher.name}</span> - {$voucher.description} <br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
</fieldset>
|
||||
</form>
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
{/if}
|
||||
<td colspan="{if !$voucherAllowed}3{else}2{/if}" class="text-right total_price_container">
|
||||
<span>{l s='Total'}</span>
|
||||
</td>
|
||||
<td colspan="1" class="price total_price_container" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price_without_tax}</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tfoot>
|
||||
|
||||
{if !$opc}
|
||||
<p class="cart_navigation clearfix"><a href="{$link->getPageLink('order', true, NULL, "step=2")|escape:'html'}" title="{l s='Previous'}" class="button-exclusive btn btn-default"><i class="icon-chevron-left"></i>{l s='Continue shopping'}</a></p>
|
||||
{else}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<tbody>
|
||||
{foreach from=$products item=product name=productLoop}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='cannotModify' value=1}
|
||||
{assign var='odd' value=$product@iteration%2}
|
||||
{assign var='noDeleteButton' value=1}
|
||||
{* Display the product line *}
|
||||
{include file="$tpl_dir./shopping-cart-product-line.tpl"}
|
||||
{* Then the customized datas ones*}
|
||||
{if isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{foreach from=$customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] key='id_customization' item='customization'}
|
||||
<tr id="product_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" class="alternate_item cart_item">
|
||||
<td colspan="3">
|
||||
{foreach from=$customization.datas key='type' item='datas'}
|
||||
{if $type == $CUSTOMIZE_FILE}
|
||||
<div class="customizationUploaded">
|
||||
<ul class="customizationUploaded">
|
||||
{foreach from=$datas item='picture'}
|
||||
<li>
|
||||
<img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" />
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{elseif $type == $CUSTOMIZE_TEXTFIELD}
|
||||
<ul class="typedText">
|
||||
{foreach from=$datas item='textField' name='typedText'}
|
||||
<li>
|
||||
{if $textField.name}
|
||||
{l s='%s:' sprintf=$textField.name}
|
||||
{else}
|
||||
{l s='Text #%s:' sprintf=$smarty.foreach.typedText.index+1}
|
||||
{/if}
|
||||
{$textField.value}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td class="cart_quantity">
|
||||
{if isset($cannotModify) AND $cannotModify == 1}
|
||||
<span>{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}</span>
|
||||
{else}
|
||||
<div>
|
||||
<a
|
||||
id="{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"
|
||||
class="cart_quantity_delete"
|
||||
href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$token_cart}")|escape:'html'}"
|
||||
rel="nofollow">
|
||||
<img src="{$img_dir}icon/delete.gif" alt="{l s='Delete'}" title="{l s='Delete this customization'}" width="11" height="13" class="icon" />
|
||||
</a>
|
||||
</div>
|
||||
<div id="cart_quantity_button">
|
||||
<a
|
||||
id="cart_quantity_up_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"
|
||||
class="cart_quantity_up"
|
||||
href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&token={$token_cart}")|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Add'}">
|
||||
<img src="{$img_dir}icon/quantity_up.gif" alt="{l s='Add'}" width="14" height="9" />
|
||||
</a>
|
||||
<br />
|
||||
{if $product.minimal_quantity < ($customization.quantity -$quantityDisplayed) OR $product.minimal_quantity <= 1}
|
||||
<a
|
||||
id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"
|
||||
class="cart_quantity_down"
|
||||
href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&op=down&token={$token_cart}")|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Subtract'}">
|
||||
<img src="{$img_dir}icon/quantity_down.gif" alt="{l s='Subtract'}" width="14" height="9" />
|
||||
</a>
|
||||
{else}
|
||||
<a class="cart_quantity_down" style="opacity: 0.3;" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="#" title="{l s='Subtract'}">
|
||||
<img src="{$img_dir}icon/quantity_down.gif" alt="{l s='Subtract'}" width="14" height="9" />
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
<input type="hidden" value="{$customization.quantity}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_hidden"/>
|
||||
<input type="text" value="{$customization.quantity}" class="cart_quantity_input" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"/>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="cart_total"></td>
|
||||
</tr>
|
||||
{assign var='quantityDisplayed' value=$quantityDisplayed+$customization.quantity}
|
||||
{/foreach}
|
||||
{* If it exists also some uncustomized products *}
|
||||
{if $product.quantity-$quantityDisplayed > 0}{include file="$tpl_dir./shopping-cart-product-line.tpl"}{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{assign var='last_was_odd' value=$product@iteration%2}
|
||||
{foreach $gift_products as $product}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($product@iteration+$last_was_odd)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{assign var='cannotModify' value=1}
|
||||
{* Display the gift product line *}
|
||||
{include file="./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
|
||||
{if count($discounts)}
|
||||
<tbody>
|
||||
{foreach from=$discounts item=discount name=discountLoop}
|
||||
<tr class="cart_discount {if $smarty.foreach.discountLoop.last}last_item{elseif $smarty.foreach.discountLoop.first}first_item{else}item{/if}" id="cart_discount_{$discount.id_discount}">
|
||||
<td class="cart_discount_name" colspan="2">{$discount.name}</td>
|
||||
<td class="cart_discount_description" colspan="3">{$discount.description}</td>
|
||||
<td class="cart_discount_price">
|
||||
<span class="price-discount">
|
||||
{if $discount.value_real > 0}
|
||||
{if !$priceDisplay}
|
||||
{displayPrice price=$discount.value_real*-1}
|
||||
{else}
|
||||
{displayPrice price=$discount.value_tax_exc*-1}
|
||||
{/if}
|
||||
{/if}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{/if}
|
||||
</table>
|
||||
</div> <!-- end order-detail-content -->
|
||||
{/if}
|
||||
{if $opc}<div id="opc_payment_methods-content">{/if}
|
||||
<div id="HOOK_PAYMENT">
|
||||
{$HOOK_PAYMENT}
|
||||
</div>
|
||||
{if $opc}</div> <!-- end opc_payment_methods-content -->{/if}
|
||||
{else}
|
||||
<p class="alert alert-warning">{l s='No payment modules have been installed.'}</p>
|
||||
{/if}
|
||||
{if !$opc}
|
||||
<p class="cart_navigation clearfix">
|
||||
<a href="{$link->getPageLink('order', true, NULL, "step=2")|escape:'html'}" title="{l s='Previous'}" class="button-exclusive btn btn-default">
|
||||
<i class="icon-chevron-left"></i>
|
||||
{l s='Continue shopping'}
|
||||
</a>
|
||||
</p>
|
||||
{else}
|
||||
</div> <!-- end opc_payment_methods -->
|
||||
{/if}
|
||||
</div> <!-- end HOOK_TOP_PAYMENT -->
|
||||
@@ -50,7 +50,7 @@
|
||||
<!-- Pagination -->
|
||||
<div id="pagination{if isset($paginationId)}_{$paginationId}{/if}" class="pagination clearfix">
|
||||
{if $nb_products > $products_per_page && $start!=$stop}
|
||||
<form action="{if !is_array($requestNb)}{$requestNb}{else}{$requestNb.requestUrl}{/if}" method="get" class="showall">
|
||||
<form action="{if !is_array($requestNb)}{$requestNb|escape:htmlall:'UTF-8'}{else}{$requestNb.requestUrl|escape:htmlall:'UTF-8'}{/if}" method="get" class="showall">
|
||||
<div>
|
||||
{if isset($search_query) AND $search_query}<input type="hidden" name="search_query" value="{$search_query|escape:'html':'UTF-8'}" />{/if}
|
||||
{if isset($tag) AND $tag AND !is_array($tag)}<input type="hidden" name="tag" value="{$tag|escape:'html':'UTF-8'}" />{/if}
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
//]]>
|
||||
</script>
|
||||
{/if}
|
||||
<form method="post" action="{$link->getPageLink('products-comparison')|escape:'html'}" onsubmit="true" class="compare-form">
|
||||
<form method="post" action="{$link->getPageLink('products-comparison')|escape:htmlall:'UTF-8'}" onsubmit="true" class="compare-form">
|
||||
<div>
|
||||
<button type="submit" id="bt_compare{if isset($paginationId)}_{$paginationId}{/if}" class="btn btn-default button button-medium bt_compare"><span>{l s='Compare'} (<strong class="total-compare-val">{count($compared_products)}</strong>)<i class="icon-chevron-right right"></i></span></button>
|
||||
<input type="hidden" name="compare_product_count" class="compare_product_count" value="{count($compared_products)}" />
|
||||
|
||||
@@ -23,8 +23,15 @@
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
|
||||
<ul id="color_to_pick_list" class="clearfix">
|
||||
<ul class="color_to_pick_list clearfix">
|
||||
{foreach from=$colors_list item='color'}
|
||||
<li><a href="{$link->getProductLink($color.id_product, null, null, null, null, null, $color.id_product_attribute)|escape:'html':'UTF-8'}" id="color_{$color.id_product_attribute|intval}" class="color_pick" style="background: {$color.color};"></a></li>
|
||||
<li>
|
||||
<a
|
||||
href="{$link->getProductLink($color.id_product, null, null, null, null, null, $color.id_product_attribute)|escape:'html':'UTF-8'}"
|
||||
id="color_{$color.id_product_attribute|intval}"
|
||||
class="color_pick"
|
||||
style="background: {$color.color};">
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</ul>
|
||||
@@ -116,13 +116,10 @@
|
||||
{$product.name|truncate:45:'...'|escape:'html':'UTF-8'}
|
||||
</a>
|
||||
</h5>
|
||||
|
||||
{hook h='displayProductListReviews' product=$product}
|
||||
|
||||
<p class="product-desc" itemprop="description">
|
||||
{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}
|
||||
</p>
|
||||
|
||||
{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
|
||||
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="content_price">
|
||||
{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
|
||||
@@ -141,7 +138,6 @@
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="button-container">
|
||||
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}
|
||||
{if ($product.allow_oosp || $product.quantity > 0)}
|
||||
@@ -151,14 +147,13 @@
|
||||
href="{$link->getPageLink('cart',false, NULL, "add=1&id_product={$product.id_product|intval}&token={$static_token}", false)|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Add to cart'}"
|
||||
data-id-product="{$product.id_product|intval}"
|
||||
token={$static_token}", false)|escape:'html'}">
|
||||
data-id-product="{$product.id_product|intval}">
|
||||
<span>{l s='Add to cart'}</span>
|
||||
</a>
|
||||
{else}
|
||||
<a
|
||||
class="button ajax_add_to_cart_button btn btn-default"
|
||||
href="{$link->getPageLink('cart',false, NULL, "add=1&id_product={$product.id_product|intval}", false)|escape:'html'}"
|
||||
href="{$link->getPageLink('cart',false, NULL, 'add=1&id_product={$product.id_product|intval}', false)|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Add to cart'}"
|
||||
data-id-product="{$product.id_product|intval}">
|
||||
@@ -191,7 +186,6 @@
|
||||
<span class="discount">{l s='Reduced price!'}</span>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
|
||||
{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
|
||||
<span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="availability">
|
||||
@@ -211,9 +205,7 @@
|
||||
</span>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="functional-buttons clearfix">
|
||||
{hook h='displayProductListFunctionalButtons' product=$product}
|
||||
{if isset($comparator_max_item) && $comparator_max_item}
|
||||
@@ -252,7 +244,6 @@
|
||||
)});
|
||||
}
|
||||
</script>
|
||||
|
||||
{if $page_name !='index' && $page_name !='product'} <!--// excluding page for Grid/List-->
|
||||
<script type="text/javascript"><!--
|
||||
function display(view) {
|
||||
@@ -349,4 +340,4 @@
|
||||
}
|
||||
//--></script>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,145 +28,147 @@
|
||||
<h1 class="page-heading">{l s='Product Comparison'}</h1>
|
||||
|
||||
{if $hasProduct}
|
||||
<script type="text/javascript">
|
||||
$('document').ready(function(){
|
||||
if (typeof reloadProductComparison != 'undefined')
|
||||
reloadProductComparison()
|
||||
});
|
||||
</script>
|
||||
<div class="products_block table-responsive">
|
||||
<table id="product_comparison" class="table table-bordered">
|
||||
<tr>
|
||||
<td width="20%" class="td_empty compare_extra_information">
|
||||
{$HOOK_COMPARE_EXTRA_INFORMATION}
|
||||
<span>{l s='Features:'}</span>
|
||||
</td>
|
||||
{assign var='taxes_behavior' value=false}
|
||||
{if $use_taxes && (!$priceDisplay || $priceDisplay == 2)}
|
||||
{assign var='taxes_behavior' value=true}
|
||||
{/if}
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='replace_id' value=$product->id|cat:'|'}
|
||||
|
||||
<td width="{$width}%" class="ajax_block_product comparison_infos product-block">
|
||||
<div class="remove">
|
||||
<a class="cmp_remove" href="{$link->getPageLink('products-comparison', true)|escape:'html'}" title="{l s='Remove'}" data-id-product="{$product->id}"><i class="icon-trash"></i></a>
|
||||
</div>
|
||||
<div class="product-image-block">
|
||||
<a href="{$product->getLink()}" title="{$product->name|escape:html:'UTF-8'}" class="product_image" >
|
||||
<img class="img-responsive" src="{$link->getImageLink($product->link_rewrite, $product->id_image, 'home_default')|escape:'html'}" alt="{$product->name|escape:html:'UTF-8'}" />
|
||||
</a>
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
{if $product->on_sale}
|
||||
<div class="sale-box"><span class="sale-label">{l s='Sale!'}</span></div>
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<h5><a class="product-name" href="{$product->getLink()}" title="{$product->name|truncate:32:'...'|escape:'html':'UTF-8'}">{$product->name|truncate:45:'...'|escape:'html':'UTF-8'}</a></h5>
|
||||
<div class="prices-container">
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
<span class="price product-price">{convertPrice price=$product->getPrice($taxes_behavior)}</span>
|
||||
{if isset($product->specificPrice) && $product->specificPrice}
|
||||
{if {$product->specificPrice.reduction_type == 'percentage'}}
|
||||
<span class="old-price product-price">{displayWtPrice p=$product->getPrice($taxes_behavior)+($product->getPrice($taxes_behavior)* $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{$product->specificPrice.reduction*100|floatval}%</span>
|
||||
{else}
|
||||
<span class="old-price product-price">{convertPrice price=($product->getPrice($taxes_behavior) + $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{convertPrice price=$product->specificPrice.reduction}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $product->on_sale}
|
||||
{elseif $product->specificPrice AND $product->specificPrice.reduction}
|
||||
<div class="product_discount">
|
||||
<span class="reduced-price">{l s='Reduced price!'}</span>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
|
||||
{math equation="pprice / punit_price" pprice=$product->getPrice($taxes_behavior) punit_price=$product->unit_price_ratio assign=unit_price}
|
||||
<span class="comparison_unit_price"> {convertPrice price=$unit_price} {l s='per %s' sprintf=$product->unity|escape:'html':'UTF-8'}</span>
|
||||
{else}
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<div class="product_desc">{$product->description_short|strip_tags|truncate:60:'...'}</div>
|
||||
|
||||
<div class="comparison_product_infos">
|
||||
<!-- availability -->
|
||||
<p class="comparison_availability_statut">
|
||||
{if !(($product->quantity <= 0 && !$product->available_later) OR ($product->quantity != 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE)}
|
||||
<span id="availability_label">{l s='Availability:'}</span>
|
||||
<span id="availability_value"{if $product->quantity <= 0} class="warning-inline"{/if}>
|
||||
{if $product->quantity <= 0}
|
||||
{if $allow_oosp}
|
||||
{$product->available_later|escape:'html':'UTF-8'}
|
||||
{else}
|
||||
{l s='This product is no longer in stock.'}
|
||||
{/if}
|
||||
{else}
|
||||
{$product->available_now|escape:'html':'UTF-8'}
|
||||
{/if}
|
||||
</span>
|
||||
{/if}
|
||||
</p>
|
||||
<div class="clearfix">
|
||||
<div class="button-container">
|
||||
{if (!$product->hasAttributes() OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product->minimal_quantity == 1 AND $product->customizable != 2 AND !$PS_CATALOG_MODE}
|
||||
{if ($product->quantity > 0 OR $product->allow_oosp)}
|
||||
<a
|
||||
class="button ajax_add_to_cart_button btn btn-default"
|
||||
data-id-product="{$product->id}"
|
||||
href="{$link->getPageLink('cart', true, NULL, "qty=1&id_product={$product->id}&token={$static_token}&add")|escape:'html'}"
|
||||
title="{l s='Add to cart'}">
|
||||
<span>{l s='Add to cart'}</span>
|
||||
</a>
|
||||
{else}
|
||||
<span class="ajax_add_to_cart_button button btn btn-default disabled"><span>{l s='Add to cart'}</span></span>
|
||||
{/if}
|
||||
{else}
|
||||
|
||||
{/if}
|
||||
<a class="button lnk_view btn btn-default" href="{$product->getLink()}" title="{l s='View'}"><span>{l s='View'}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{if $ordered_features}
|
||||
{foreach from=$ordered_features item=feature}
|
||||
<tr>
|
||||
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
|
||||
<td class="{$classname} feature-name" >
|
||||
<strong>{$feature.name|escape:'html':'UTF-8'}</strong>
|
||||
</td>
|
||||
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='product_id' value=$product->id}
|
||||
{assign var='feature_id' value=$feature.id_feature}
|
||||
{if isset($product_features[$product_id])}
|
||||
{assign var='tab' value=$product_features[$product_id]}
|
||||
<td width="{$width}%" class="{$classname} comparison_infos">{if (isset($tab[$feature_id]))}{$tab[$feature_id]|escape:'html':'UTF-8'}{/if}</td>
|
||||
{else}
|
||||
<td width="{$width}%" class="{$classname} comparison_infos"></td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<script type="text/javascript">
|
||||
$('document').ready(function(){
|
||||
if (typeof reloadProductComparison != 'undefined')
|
||||
reloadProductComparison()
|
||||
});
|
||||
</script>
|
||||
<div class="products_block table-responsive">
|
||||
<table id="product_comparison" class="table table-bordered">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="{$products|@count + 1}">{l s='No features to compare'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<td class="td_empty compare_extra_information">
|
||||
{$HOOK_COMPARE_EXTRA_INFORMATION}
|
||||
<span>{l s='Features:'}</span>
|
||||
</td>
|
||||
{assign var='taxes_behavior' value=false}
|
||||
{if $use_taxes && (!$priceDisplay || $priceDisplay == 2)}
|
||||
{assign var='taxes_behavior' value=true}
|
||||
{/if}
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='replace_id' value=$product->id|cat:'|'}
|
||||
<td class="ajax_block_product comparison_infos product-block">
|
||||
<div class="remove">
|
||||
<a class="cmp_remove" href="{$link->getPageLink('products-comparison', true)|escape:'html'}" title="{l s='Remove'}" data-id-product="{$product->id}"><i class="icon-trash"></i></a>
|
||||
</div>
|
||||
<div class="product-image-block">
|
||||
<a href="{$product->getLink()|escape:html:'UTF-8'}" title="{$product->name|escape:html:'UTF-8'}" class="product_image" >
|
||||
<img class="img-responsive" src="{$link->getImageLink($product->link_rewrite, $product->id_image, 'home_default')|escape:'html'}" alt="{$product->name|escape:html:'UTF-8'}" />
|
||||
</a>
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
{if $product->on_sale}
|
||||
<div class="sale-box"><span class="sale-label">{l s='Sale!'}</span></div>
|
||||
{/if}
|
||||
{/if}
|
||||
</div> <!-- end product-image-block -->
|
||||
<h5>
|
||||
<a class="product-name" href="{$product->getLink()|escape:html:'UTF-8'}" title="{$product->name|truncate:32:'...'|escape:'html':'UTF-8'}">
|
||||
{$product->name|truncate:45:'...'|escape:'html':'UTF-8'}
|
||||
</a>
|
||||
</h5>
|
||||
<div class="prices-container">
|
||||
{if isset($product->show_price) && $product->show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
|
||||
<span class="price product-price">{convertPrice price=$product->getPrice($taxes_behavior)}</span>
|
||||
{if isset($product->specificPrice) && $product->specificPrice}
|
||||
{if {$product->specificPrice.reduction_type == 'percentage'}}
|
||||
<span class="old-price product-price">{displayWtPrice p=$product->getPrice($taxes_behavior)+($product->getPrice($taxes_behavior)* $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{$product->specificPrice.reduction*100|floatval}%</span>
|
||||
{else}
|
||||
<span class="old-price product-price">{convertPrice price=($product->getPrice($taxes_behavior) + $product->specificPrice.reduction)}</span>
|
||||
<span class="price-percent-reduction">-{convertPrice price=$product->specificPrice.reduction}</span>
|
||||
{/if}
|
||||
{/if}
|
||||
{if $product->on_sale}
|
||||
{elseif $product->specificPrice AND $product->specificPrice.reduction}
|
||||
<div class="product_discount">
|
||||
<span class="reduced-price">{l s='Reduced price!'}</span>
|
||||
</div>
|
||||
{/if}
|
||||
{if !empty($product->unity) && $product->unit_price_ratio > 0.000000}
|
||||
{math equation="pprice / punit_price" pprice=$product->getPrice($taxes_behavior) punit_price=$product->unit_price_ratio assign=unit_price}
|
||||
<span class="comparison_unit_price"> {convertPrice price=$unit_price} {l s='per %s' sprintf=$product->unity|escape:'html':'UTF-8'}</span>
|
||||
{else}
|
||||
{/if}
|
||||
{/if}
|
||||
</div> <!-- end prices-container -->
|
||||
|
||||
{$HOOK_EXTRA_PRODUCT_COMPARISON}
|
||||
</table>
|
||||
</div>
|
||||
<div class="product_desc">{$product->description_short|strip_tags|truncate:60:'...'}</div>
|
||||
|
||||
<div class="comparison_product_infos">
|
||||
<!-- availability -->
|
||||
<p class="comparison_availability_statut">
|
||||
{if !(($product->quantity <= 0 && !$product->available_later) OR ($product->quantity != 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE)}
|
||||
<span id="availability_label">{l s='Availability:'}</span>
|
||||
<span id="availability_value"{if $product->quantity <= 0} class="warning-inline"{/if}>
|
||||
{if $product->quantity <= 0}
|
||||
{if $allow_oosp}
|
||||
{$product->available_later|escape:'html':'UTF-8'}
|
||||
{else}
|
||||
{l s='This product is no longer in stock.'}
|
||||
{/if}
|
||||
{else}
|
||||
{$product->available_now|escape:'html':'UTF-8'}
|
||||
{/if}
|
||||
</span>
|
||||
{/if}
|
||||
</p>
|
||||
<div class="clearfix">
|
||||
<div class="button-container">
|
||||
{if (!$product->hasAttributes() OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product->minimal_quantity == 1 AND $product->customizable != 2 AND !$PS_CATALOG_MODE}
|
||||
{if ($product->quantity > 0 OR $product->allow_oosp)}
|
||||
<a
|
||||
class="button ajax_add_to_cart_button btn btn-default"
|
||||
data-id-product="{$product->id}"
|
||||
href="{$link->getPageLink('cart', true, NULL, "qty=1&id_product={$product->id}&token={$static_token}&add")|escape:'html'}"
|
||||
title="{l s='Add to cart'}">
|
||||
<span>{l s='Add to cart'}</span>
|
||||
</a>
|
||||
{else}
|
||||
<span class="ajax_add_to_cart_button button btn btn-default disabled"><span>{l s='Add to cart'}</span></span>
|
||||
{/if}
|
||||
{/if}
|
||||
<a class="button lnk_view btn btn-default" href="{$product->getLink()|escape:html:'UTF-8'}" title="{l s='View'}"><span>{l s='View'}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- end comparison_product_infos -->
|
||||
</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
{if $ordered_features}
|
||||
{foreach from=$ordered_features item=feature}
|
||||
<tr>
|
||||
{cycle values='comparison_feature_odd,comparison_feature_even' assign='classname'}
|
||||
<td class="{$classname} feature-name" >
|
||||
<strong>{$feature.name|escape:'html':'UTF-8'}</strong>
|
||||
</td>
|
||||
{foreach from=$products item=product name=for_products}
|
||||
{assign var='product_id' value=$product->id}
|
||||
{assign var='feature_id' value=$feature.id_feature}
|
||||
{if isset($product_features[$product_id])}
|
||||
{assign var='tab' value=$product_features[$product_id]}
|
||||
<td class="{$classname} comparison_infos">{if (isset($tab[$feature_id]))}{$tab[$feature_id]|escape:'html':'UTF-8'}{/if}</td>
|
||||
{else}
|
||||
<td class="{$classname} comparison_infos"></td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="{$products|@count}" class="text-center">{l s='No features to compare'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{$HOOK_EXTRA_PRODUCT_COMPARISON}
|
||||
</table>
|
||||
</div> <!-- end products_block -->
|
||||
{else}
|
||||
<p class="alert alert-warning">{l s='There are no products selected for comparison.'}</p>
|
||||
{/if}
|
||||
<ul class="footer_link">
|
||||
<li><a class="button lnk_view btn btn-default" href="{$base_dir}"><span><i class="icon-chevron-left left"></i>{l s='Continue Shopping'}</span></a></li>
|
||||
<li>
|
||||
<a class="button lnk_view btn btn-default" href="{$base_dir}">
|
||||
<span><i class="icon-chevron-left left"></i>{l s='Continue Shopping'}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -34,6 +34,7 @@
|
||||
{l s='Your account has been created.'}
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
{assign var='current_step' value='summary'}
|
||||
{include file="$tpl_dir./order-steps.tpl"}
|
||||
{include file="$tpl_dir./errors.tpl"}
|
||||
@@ -44,444 +45,531 @@
|
||||
<p class="alert alert-warning">{l s='This store has not accepted your new order.'}</p>
|
||||
{else}
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
|
||||
var currencyRate = '{$currencyRate|floatval}';
|
||||
var currencyFormat = '{$currencyFormat|intval}';
|
||||
var currencyBlank = '{$currencyBlank|intval}';
|
||||
var txtProduct = "{l s='product' js=1}";
|
||||
var txtProducts = "{l s='products' js=1}";
|
||||
var deliveryAddress = {$cart->id_address_delivery|intval};
|
||||
// ]]>
|
||||
// <![CDATA[
|
||||
var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
|
||||
var currencyRate = '{$currencyRate|floatval}';
|
||||
var currencyFormat = '{$currencyFormat|intval}';
|
||||
var currencyBlank = '{$currencyBlank|intval}';
|
||||
var txtProduct = "{l s='product' js=1}";
|
||||
var txtProducts = "{l s='products' js=1}";
|
||||
var deliveryAddress = {$cart->id_address_delivery|intval};
|
||||
// ]]>
|
||||
</script>
|
||||
<p style="display:none" id="emptyCartWarning" class="alert alert-warning">{l s='Your shopping cart is empty.'}</p>
|
||||
{if isset($lastProductAdded) AND $lastProductAdded}
|
||||
<div class="cart_last_product">
|
||||
<div class="cart_last_product_header">
|
||||
<div class="left">{l s='Last product added'}</div>
|
||||
{if isset($lastProductAdded) AND $lastProductAdded}
|
||||
<div class="cart_last_product">
|
||||
<div class="cart_last_product_header">
|
||||
<div class="left">{l s='Last product added'}</div>
|
||||
</div>
|
||||
<a class="cart_last_product_img" href="{$link->getProductLink($lastProductAdded.id_product, $lastProductAdded.link_rewrite, $lastProductAdded.category, null, null, $lastProductAdded.id_shop)|escape:'html':'UTF-8'}">
|
||||
<img src="{$link->getImageLink($lastProductAdded.link_rewrite, $lastProductAdded.id_image, 'small_default')|escape:'html'}" alt="{$lastProductAdded.name|escape:'html':'UTF-8'}"/>
|
||||
</a>
|
||||
<div class="cart_last_product_content">
|
||||
<p class="product-name">
|
||||
<a href="{$link->getProductLink($lastProductAdded.id_product, $lastProductAdded.link_rewrite, $lastProductAdded.category, null, null, null, $lastProductAdded.id_product_attribute)|escape:'html':'UTF-8'}">
|
||||
{$lastProductAdded.name|escape:'html':'UTF-8'}
|
||||
</a>
|
||||
</p>
|
||||
{if isset($lastProductAdded.attributes) && $lastProductAdded.attributes}
|
||||
<small>
|
||||
<a href="{$link->getProductLink($lastProductAdded.id_product, $lastProductAdded.link_rewrite, $lastProductAdded.category, null, null, null, $lastProductAdded.id_product_attribute)|escape:'html':'UTF-8'}">
|
||||
{$lastProductAdded.attributes|escape:'html':'UTF-8'}
|
||||
</a>
|
||||
</small>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<a class="cart_last_product_img" href="{$link->getProductLink($lastProductAdded.id_product, $lastProductAdded.link_rewrite, $lastProductAdded.category, null, null, $lastProductAdded.id_shop)|escape:'html':'UTF-8'}"><img src="{$link->getImageLink($lastProductAdded.link_rewrite, $lastProductAdded.id_image, 'small_default')|escape:'html'}" alt="{$lastProductAdded.name|escape:'html':'UTF-8'}"/></a>
|
||||
<div class="cart_last_product_content">
|
||||
<p class="product-name"><a href="{$link->getProductLink($lastProductAdded.id_product, $lastProductAdded.link_rewrite, $lastProductAdded.category, null, null, null, $lastProductAdded.id_product_attribute)|escape:'html':'UTF-8'}">{$lastProductAdded.name|escape:'html':'UTF-8'}</a></p>
|
||||
{if isset($lastProductAdded.attributes) && $lastProductAdded.attributes}<small><a href="{$link->getProductLink($lastProductAdded.id_product, $lastProductAdded.link_rewrite, $lastProductAdded.category, null, null, null, $lastProductAdded.id_product_attribute)|escape:'html':'UTF-8'}">{$lastProductAdded.attributes|escape:'html':'UTF-8'}</a></small>{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{assign var='total_discounts_num' value="{if $total_discounts != 0}1{else}0{/if}"}
|
||||
{assign var='use_show_taxes' value="{if $use_taxes && $show_taxes}2{else}0{/if}"}
|
||||
{assign var='total_wrapping_taxes_num' value="{if $total_wrapping != 0}1{else}0{/if}"}
|
||||
<div id="order-detail-content" class="table_block table-responsive">
|
||||
<table id="cart_summary" class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cart_product first_item">{l s='Product'}</th>
|
||||
<th class="cart_description item">{l s='Description'}</th>
|
||||
<th class="cart_avail item">{l s='Avail.'}</th>
|
||||
<th class="cart_unit item">{l s='Unit price'}</th>
|
||||
<th class="cart_quantity item">{l s='Qty'}</th>
|
||||
<th class="cart_total item">{l s='Total'}</th>
|
||||
<th class="cart_delete last_item"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_price">
|
||||
<td rowspan="{3+$total_discounts_num+$use_show_taxes+$total_wrapping_taxes_num}" colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
{if $voucherAllowed}
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach $errors_discount as $k=>$error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='OK'}</span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title-offers">{l s='Take advantage of our exclusive offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach $displayVouchers as $voucher}
|
||||
{if $voucher.code != ''}<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> - {/if}{$voucher.name}<br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax excl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td rowspan="{3+$total_discounts_num+$use_show_taxes+$total_wrapping_taxes_num}" colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
{if $voucherAllowed}
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach $errors_discount as $k=>$error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='OK'}</span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title-offers">{l s='Take advantage of our exclusive offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach $displayVouchers as $voucher}
|
||||
{if $voucher.code != ''}<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> - {/if}{$voucher.name}<br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax incl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products_wt}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td rowspan="{3+$total_discounts_num+$use_show_taxes+$total_wrapping_taxes_num}" colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
{if $voucherAllowed}
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach $errors_discount as $k=>$error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='OK'}</span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title-offers">{l s='Take advantage of our exclusive offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach $displayVouchers as $voucher}
|
||||
{if $voucher.code != ''}<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> - {/if}{$voucher.name}<br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="3" class="text-right">{l s='Total products'}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr{if $total_wrapping == 0} style="display: none;"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $use_taxes}
|
||||
{if $display_tax_label}{l s='Total gift wrapping (tax incl.):'}{else}{l s='Total gift-wrapping cost:'}{/if}
|
||||
{else}
|
||||
{l s='Total gift-wrapping cost:'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount 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}
|
||||
</td>
|
||||
</tr>
|
||||
{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
|
||||
<tr class="cart_total_delivery" style="{if !isset($carrier->id) || is_null($carrier->id)}display:none;{/if}">
|
||||
<td colspan="3" class="text-right">{l s='Shipping'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{l s='Free Shipping!'}</td>
|
||||
</tr>
|
||||
{else}
|
||||
{if $use_taxes && $total_shipping_tax_exc != $total_shipping}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_delivery" {if $total_shipping_tax_exc <= 0} style="display:none;"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax excl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{displayPrice price=$total_shipping_tax_exc}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $total_shipping <= 0} style="display:none;"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax incl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$total_shipping}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $total_shipping_tax_exc <= 0} style="display:none;"{/if}>
|
||||
<td colspan="3" class="text-right">{l s='Total shipping'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$total_shipping_tax_exc}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
<tr class="cart_total_voucher" {if $total_discounts == 0}style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $display_tax_label}
|
||||
{if $use_taxes && $priceDisplay == 0}
|
||||
{l s='Total vouchers (tax incl.):'}
|
||||
{else}
|
||||
{l s='Total vouchers (tax excl.)'}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Total vouchers'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount price" id="total_discount">
|
||||
{if $use_taxes && $priceDisplay == 0}
|
||||
{assign var='total_discounts_negative' value=$total_discounts * -1}
|
||||
{else}
|
||||
{assign var='total_discounts_negative' value=$total_discounts_tax_exc * -1}
|
||||
{/if}
|
||||
{displayPrice price=$total_discounts_negative}
|
||||
</td>
|
||||
</tr>
|
||||
{if $use_taxes && $show_taxes}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{l s='Total (tax excl.)'}</td>
|
||||
<td colspan="2" class="price" id="total_price_without_tax">{displayPrice price=$total_price_without_tax}</td>
|
||||
</tr>
|
||||
<tr class="cart_total_tax">
|
||||
<td colspan="3" class="text-right">{l s='Total tax'}</td>
|
||||
<td colspan="2" class="price" id="total_tax">{displayPrice price=$total_tax}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="total_price_container text-right"><span>{l s='Total'}</span></td>
|
||||
{if $use_taxes}
|
||||
<td colspan="2" class="price" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price}</span>
|
||||
</td>
|
||||
{else}
|
||||
<td colspan="2" class="price" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price_without_tax}</span>
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{assign var='odd' value=0}
|
||||
{foreach $products as $product}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($odd+1)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId) || count($gift_products)}
|
||||
{* Display the product line *}
|
||||
{include file="$tpl_dir./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
{* Then the customized datas ones*}
|
||||
{if isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{foreach $customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] as $id_customization=>$customization}
|
||||
<tr id="product_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}" class="product_customization_for_{$product.id_product}_{$product.id_product_attribute}_{$product.id_address_delivery|intval}{if $odd} odd{else} even{/if} customization alternate_item {if $product@last && $customization@last && !count($gift_products)}last_item{/if}">
|
||||
<td></td>
|
||||
<td colspan="3">
|
||||
{foreach $customization.datas as $type => $custom_data}
|
||||
{if $type == $CUSTOMIZE_FILE}
|
||||
<div class="customizationUploaded">
|
||||
<ul class="customizationUploaded">
|
||||
{foreach $custom_data as $picture}
|
||||
<li><img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" /></li>
|
||||
{/if}
|
||||
{assign var='total_discounts_num' value="{if $total_discounts != 0}1{else}0{/if}"}
|
||||
{assign var='use_show_taxes' value="{if $use_taxes && $show_taxes}2{else}0{/if}"}
|
||||
{assign var='total_wrapping_taxes_num' value="{if $total_wrapping != 0}1{else}0{/if}"}
|
||||
|
||||
<div id="order-detail-content" class="table_block table-responsive">
|
||||
<table id="cart_summary" class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cart_product first_item">{l s='Product'}</th>
|
||||
<th class="cart_description item">{l s='Description'}</th>
|
||||
<th class="cart_avail item">{l s='Avail.'}</th>
|
||||
<th class="cart_unit item">{l s='Unit price'}</th>
|
||||
<th class="cart_quantity item">{l s='Qty'}</th>
|
||||
<th class="cart_total item">{l s='Total'}</th>
|
||||
<th class="cart_delete last_item"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
{if $use_taxes}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_price">
|
||||
<td rowspan="{3+$total_discounts_num+$use_show_taxes+$total_wrapping_taxes_num}" colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
{if $voucherAllowed}
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach $errors_discount as $k=>$error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{elseif $type == $CUSTOMIZE_TEXTFIELD}
|
||||
<ul class="typedText">
|
||||
{foreach $custom_data as $textField}
|
||||
<li>
|
||||
{if $textField.name}
|
||||
{$textField.name}
|
||||
{else}
|
||||
{l s='Text #'}{$textField@index+1}
|
||||
{/if}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='OK'}</span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title-offers">{l s='Take advantage of our exclusive offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach $displayVouchers as $voucher}
|
||||
{if $voucher.code != ''}<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> - {/if}{$voucher.name}<br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax excl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td rowspan="{3+$total_discounts_num+$use_show_taxes+$total_wrapping_taxes_num}" colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
{if $voucherAllowed}
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach $errors_discount as $k=>$error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>{l s='OK'}</span></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title-offers">{l s='Take advantage of our exclusive offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach $displayVouchers as $voucher}
|
||||
{if $voucher.code != ''}
|
||||
<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> -
|
||||
{/if}
|
||||
{l s=':'} {$textField.value}
|
||||
</li>
|
||||
{$voucher.name}
|
||||
<br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total products (tax incl.)'}{else}{l s='Total products'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products_wt}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_price">
|
||||
<td rowspan="{3+$total_discounts_num+$use_show_taxes+$total_wrapping_taxes_num}" colspan="2" id="cart_voucher" class="cart_voucher">
|
||||
{if $voucherAllowed}
|
||||
{if isset($errors_discount) && $errors_discount}
|
||||
<ul class="alert alert-danger">
|
||||
{foreach $errors_discount as $k=>$error}
|
||||
<li>{$error|escape:'html':'UTF-8'}</li>
|
||||
{/foreach}
|
||||
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
{/foreach}
|
||||
</td>
|
||||
<td class="cart_quantity" colspan="2">
|
||||
{if isset($cannotModify) AND $cannotModify == 1}
|
||||
<span>{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}</span>
|
||||
{else}
|
||||
<input type="hidden" value="{$customization.quantity}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}_hidden"/>
|
||||
<input size="2" type="text" value="{$customization.quantity}" class="cart_quantity_input form-control grey" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}"/>
|
||||
<div class="cart_quantity_button clearfix">
|
||||
{if $product.minimal_quantity < ($customization.quantity -$quantityDisplayed) OR $product.minimal_quantity <= 1}
|
||||
<a rel="nofollow" class="cart_quantity_down btn btn-default button-minus" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery}&id_customization={$id_customization}&op=down&token={$token_cart}")|escape:'html'}" title="{l s='Subtract'}">
|
||||
<span><i class="icon-minus"></i></span>
|
||||
</a>
|
||||
{else}
|
||||
<a class="cart_quantity_down btn btn-default button-minus disabled" id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}" href="#" title="{l s='Subtract'}">
|
||||
<span><i class="icon-minus"></i></span>
|
||||
</a>
|
||||
<form action="{if $opc}{$link->getPageLink('order-opc', true)}{else}{$link->getPageLink('order', true)}{/if}" method="post" id="voucher">
|
||||
<fieldset>
|
||||
<h4>{l s='Vouchers'}</h4>
|
||||
<input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="{if isset($discount_name) && $discount_name}{$discount_name}{/if}" />
|
||||
<input type="hidden" name="submitDiscount" />
|
||||
<button type="submit" name="submitAddDiscount" class="button btn btn-default button-small">
|
||||
<span>{l s='OK'}</span>
|
||||
</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{if $displayVouchers}
|
||||
<p id="title" class="title-offers">{l s='Take advantage of our exclusive offers:'}</p>
|
||||
<div id="display_cart_vouchers">
|
||||
{foreach $displayVouchers as $voucher}
|
||||
{if $voucher.code != ''}
|
||||
<span onclick="$('#discount_name').val('{$voucher.code}');return false;" class="voucher_name">{$voucher.code}</span> -
|
||||
{/if}
|
||||
{$voucher.name}<br />
|
||||
{/foreach}
|
||||
</div>
|
||||
{/if}
|
||||
<a rel="nofollow" class="cart_quantity_up btn btn-default button-plus" id="cart_quantity_up_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery}&id_customization={$id_customization}&token={$token_cart}")|escape:'html'}" title="{l s='Add'}"><span><i class="icon-plus"></i></span></a>
|
||||
</div>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="cart_delete">
|
||||
{if isset($cannotModify) AND $cannotModify == 1}
|
||||
<td colspan="3" class="text-right">{l s='Total products'}</td>
|
||||
<td colspan="2" class="price" id="total_product">{displayPrice price=$total_products}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr{if $total_wrapping == 0} style="display: none;"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $use_taxes}
|
||||
{if $display_tax_label}{l s='Total gift wrapping (tax incl.):'}{else}{l s='Total gift-wrapping cost:'}{/if}
|
||||
{else}
|
||||
<div>
|
||||
<a rel="nofollow" title="{l s='Delete'}" class="cart_quantity_delete" id="{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}" href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&id_address_delivery={$product.id_address_delivery}&token={$token_cart}")|escape:'html'}"><i class=" icon-trash"></i></a>
|
||||
</div>
|
||||
{l s='Total gift-wrapping cost:'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount 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}
|
||||
</td>
|
||||
</tr>
|
||||
{assign var='quantityDisplayed' value=$quantityDisplayed+$customization.quantity}
|
||||
{if $total_shipping_tax_exc <= 0 && !isset($virtualCart)}
|
||||
<tr class="cart_total_delivery" style="{if !isset($carrier->id) || is_null($carrier->id)}display:none;{/if}">
|
||||
<td colspan="3" class="text-right">{l s='Shipping'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{l s='Free Shipping!'}</td>
|
||||
</tr>
|
||||
{else}
|
||||
{if $use_taxes && $total_shipping_tax_exc != $total_shipping}
|
||||
{if $priceDisplay}
|
||||
<tr class="cart_total_delivery" {if $total_shipping_tax_exc <= 0} style="display:none;"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax excl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping">{displayPrice price=$total_shipping_tax_exc}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $total_shipping <= 0} style="display:none;"{/if}>
|
||||
<td colspan="3" class="text-right">{if $display_tax_label}{l s='Total shipping (tax incl.)'}{else}{l s='Total shipping'}{/if}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$total_shipping}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{else}
|
||||
<tr class="cart_total_delivery"{if $total_shipping_tax_exc <= 0} style="display:none;"{/if}>
|
||||
<td colspan="3" class="text-right">{l s='Total shipping'}</td>
|
||||
<td colspan="2" class="price" id="total_shipping" >{displayPrice price=$total_shipping_tax_exc}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
<tr class="cart_total_voucher" {if $total_discounts == 0}style="display:none"{/if}>
|
||||
<td colspan="3" class="text-right">
|
||||
{if $display_tax_label}
|
||||
{if $use_taxes && $priceDisplay == 0}
|
||||
{l s='Total vouchers (tax incl.):'}
|
||||
{else}
|
||||
{l s='Total vouchers (tax excl.)'}
|
||||
{/if}
|
||||
{else}
|
||||
{l s='Total vouchers'}
|
||||
{/if}
|
||||
</td>
|
||||
<td colspan="2" class="price-discount price" id="total_discount">
|
||||
{if $use_taxes && $priceDisplay == 0}
|
||||
{assign var='total_discounts_negative' value=$total_discounts * -1}
|
||||
{else}
|
||||
{assign var='total_discounts_negative' value=$total_discounts_tax_exc * -1}
|
||||
{/if}
|
||||
{displayPrice price=$total_discounts_negative}
|
||||
</td>
|
||||
</tr>
|
||||
{if $use_taxes && $show_taxes}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="text-right">{l s='Total (tax excl.)'}</td>
|
||||
<td colspan="2" class="price" id="total_price_without_tax">{displayPrice price=$total_price_without_tax}</td>
|
||||
</tr>
|
||||
<tr class="cart_total_tax">
|
||||
<td colspan="3" class="text-right">{l s='Total tax'}</td>
|
||||
<td colspan="2" class="price" id="total_tax">{displayPrice price=$total_tax}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr class="cart_total_price">
|
||||
<td colspan="3" class="total_price_container text-right">
|
||||
<span>{l s='Total'}</span>
|
||||
</td>
|
||||
{if $use_taxes}
|
||||
<td colspan="2" class="price" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price}</span>
|
||||
</td>
|
||||
{else}
|
||||
<td colspan="2" class="price" id="total_price_container">
|
||||
<span id="total_price">{displayPrice price=$total_price_without_tax}</span>
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{assign var='odd' value=0}
|
||||
{foreach $products as $product}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($odd+1)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId) || count($gift_products)}
|
||||
{* Display the product line *}
|
||||
{include file="$tpl_dir./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
{* Then the customized datas ones*}
|
||||
{if isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{foreach $customizedDatas.$productId.$productAttributeId[$product.id_address_delivery] as $id_customization=>$customization}
|
||||
<tr
|
||||
id="product_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}"
|
||||
class="product_customization_for_{$product.id_product}_{$product.id_product_attribute}_{$product.id_address_delivery|intval}{if $odd} odd{else} even{/if} customization alternate_item {if $product@last && $customization@last && !count($gift_products)}last_item{/if}">
|
||||
<td></td>
|
||||
<td colspan="3">
|
||||
{foreach $customization.datas as $type => $custom_data}
|
||||
{if $type == $CUSTOMIZE_FILE}
|
||||
<div class="customizationUploaded">
|
||||
<ul class="customizationUploaded">
|
||||
{foreach $custom_data as $picture}
|
||||
<li><img src="{$pic_dir}{$picture.value}_small" alt="" class="customizationUploaded" /></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{elseif $type == $CUSTOMIZE_TEXTFIELD}
|
||||
<ul class="typedText">
|
||||
{foreach $custom_data as $textField}
|
||||
<li>
|
||||
{if $textField.name}
|
||||
{$textField.name}
|
||||
{else}
|
||||
{l s='Text #'}{$textField@index+1}
|
||||
{/if}
|
||||
{l s=':'} {$textField.value}
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td class="cart_quantity" colspan="2">
|
||||
{if isset($cannotModify) AND $cannotModify == 1}
|
||||
<span>{if $quantityDisplayed == 0 AND isset($customizedDatas.$productId.$productAttributeId)}{$customizedDatas.$productId.$productAttributeId|@count}{else}{$product.cart_quantity-$quantityDisplayed}{/if}</span>
|
||||
{else}
|
||||
<input type="hidden" value="{$customization.quantity}" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}_hidden"/>
|
||||
<input type="text" value="{$customization.quantity}" class="cart_quantity_input form-control grey" name="quantity_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}"/>
|
||||
<div class="cart_quantity_button clearfix">
|
||||
{if $product.minimal_quantity < ($customization.quantity -$quantityDisplayed) OR $product.minimal_quantity <= 1}
|
||||
<a
|
||||
id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}"
|
||||
class="cart_quantity_down btn btn-default button-minus"
|
||||
href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery}&id_customization={$id_customization}&op=down&token={$token_cart}")|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Subtract'}">
|
||||
<span><i class="icon-minus"></i></span>
|
||||
</a>
|
||||
{else}
|
||||
<a
|
||||
id="cart_quantity_down_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}"
|
||||
class="cart_quantity_down btn btn-default button-minus disabled"
|
||||
href="#"
|
||||
title="{l s='Subtract'}">
|
||||
<span><i class="icon-minus"></i></span>
|
||||
</a>
|
||||
{/if}
|
||||
<a
|
||||
id="cart_quantity_up_{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}"
|
||||
class="cart_quantity_up btn btn-default button-plus"
|
||||
href="{$link->getPageLink('cart', true, NULL, "add=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_address_delivery={$product.id_address_delivery}&id_customization={$id_customization}&token={$token_cart}")|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Add'}">
|
||||
<span><i class="icon-plus"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="cart_delete">
|
||||
{if isset($cannotModify) AND $cannotModify == 1}
|
||||
{else}
|
||||
<div>
|
||||
<a
|
||||
id="{$product.id_product}_{$product.id_product_attribute}_{$id_customization}_{$product.id_address_delivery|intval}"
|
||||
class="cart_quantity_delete"
|
||||
href="{$link->getPageLink('cart', true, NULL, "delete=1&id_product={$product.id_product|intval}&ipa={$product.id_product_attribute|intval}&id_customization={$id_customization}&id_address_delivery={$product.id_address_delivery}&token={$token_cart}")|escape:'html'}"
|
||||
rel="nofollow"
|
||||
title="{l s='Delete'}">
|
||||
<i class=" icon-trash"></i>
|
||||
</a>
|
||||
</div>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{assign var='quantityDisplayed' value=$quantityDisplayed+$customization.quantity}
|
||||
{/foreach}
|
||||
|
||||
{* If it exists also some uncustomized products *}
|
||||
{if $product.quantity-$quantityDisplayed > 0}{include file="$tpl_dir./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{* If it exists also some uncustomized products *}
|
||||
{if $product.quantity-$quantityDisplayed > 0}{include file="$tpl_dir./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{assign var='last_was_odd' value=$product@iteration%2}
|
||||
{foreach $gift_products as $product}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($product@iteration+$last_was_odd)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{assign var='cannotModify' value=1}
|
||||
{* Display the gift product line *}
|
||||
{include file="$tpl_dir./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{if sizeof($discounts)}
|
||||
<tbody>
|
||||
{foreach $discounts as $discount}
|
||||
<tr class="cart_discount {if $discount@last}last_item{elseif $discount@first}first_item{else}item{/if}" id="cart_discount_{$discount.id_discount}">
|
||||
<td class="cart_discount_name" colspan="3">{$discount.name}</td>
|
||||
<td class="cart_discount_price"><span class="price-discount">
|
||||
{if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if}
|
||||
</span></td>
|
||||
<td class="cart_discount_delete">1</td>
|
||||
<td class="cart_discount_price">
|
||||
<span class="price-discount price">{if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if}</span>
|
||||
</td>
|
||||
<td class="price_discount_del text-center">
|
||||
{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'}"><i class="icon-trash"></i></a>{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{/if}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{if $show_option_allow_separate_package}
|
||||
<p>
|
||||
<input type="checkbox" name="allow_seperated_package" id="allow_seperated_package" {if $cart->allow_seperated_package}checked="checked"{/if} autocomplete="off"/>
|
||||
<label for="allow_seperated_package">{l s='Send available products first'}</label>
|
||||
</p>
|
||||
{/if}
|
||||
{if !$opc}
|
||||
{if Configuration::get('PS_ALLOW_MULTISHIPPING')}
|
||||
<p class="enable-multishipping checkbox">
|
||||
<input type="checkbox" {if $multi_shipping}checked="checked"{/if} id="enable-multishipping" />
|
||||
<label for="enable-multishipping">{l s='I would like to specify a delivery address for each individual product.'}</label>
|
||||
</p>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{* Define the style if it doesn't exist in the PrestaShop version*}
|
||||
{* Will be deleted for 1.5 version and more *}
|
||||
{if !isset($addresses_style)}
|
||||
{$addresses_style.company = 'address_company'}
|
||||
{$addresses_style.vat_number = 'address_company'}
|
||||
{$addresses_style.firstname = 'address_name'}
|
||||
{$addresses_style.lastname = 'address_name'}
|
||||
{$addresses_style.address1 = 'address_address1'}
|
||||
{$addresses_style.address2 = 'address_address2'}
|
||||
{$addresses_style.city = 'address_city'}
|
||||
{$addresses_style.country = 'address_country'}
|
||||
{$addresses_style.phone = 'address_phone'}
|
||||
{$addresses_style.phone_mobile = 'address_phone_mobile'}
|
||||
{$addresses_style.alias = 'address_title'}
|
||||
{/if}
|
||||
|
||||
{if ((!empty($delivery_option) AND !isset($virtualCart)) OR $delivery->id OR $invoice->id) AND !$opc}
|
||||
<div class="order_delivery clearfix row">
|
||||
{if !isset($formattedAddresses) || (count($formattedAddresses.invoice) == 0 && count($formattedAddresses.delivery) == 0) || (count($formattedAddresses.invoice.formated) == 0 && count($formattedAddresses.delivery.formated) == 0)}
|
||||
{if $delivery->id}
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<ul id="delivery_address" class="address item box">
|
||||
<li><h3 class="page-subheading">{l s='Delivery address'} <span class="address_alias">({$delivery->alias})</span></h3></li>
|
||||
{if $delivery->company}<li class="address_company">{$delivery->company|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_name">{$delivery->firstname|escape:'html':'UTF-8'} {$delivery->lastname|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_address1">{$delivery->address1|escape:'html':'UTF-8'}</li>
|
||||
{if $delivery->address2}<li class="address_address2">{$delivery->address2|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_city">{$delivery->postcode|escape:'html':'UTF-8'} {$delivery->city|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_country">{$delivery->country|escape:'html':'UTF-8'} {if $delivery_state}({$delivery_state|escape:'html':'UTF-8'}){/if}</li>
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{if $invoice->id}
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<ul id="invoice_address" class="address alternate_item box">
|
||||
<li><h3 class="page-subheading">{l s='Invoice address'} <span class="address_alias">({$invoice->alias})</span></h3></li>
|
||||
{if $invoice->company}<li class="address_company">{$invoice->company|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_name">{$invoice->firstname|escape:'html':'UTF-8'} {$invoice->lastname|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_address1">{$invoice->address1|escape:'html':'UTF-8'}</li>
|
||||
{if $invoice->address2}<li class="address_address2">{$invoice->address2|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_city">{$invoice->postcode|escape:'html':'UTF-8'} {$invoice->city|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_country">{$invoice->country|escape:'html':'UTF-8'} {if $invoice_state}({$invoice_state|escape:'html':'UTF-8'}){/if}</li>
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{else}
|
||||
{foreach from=$formattedAddresses key=k item=address}
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<ul class="address {if $address@last}last_item{elseif $address@first}first_item{/if} {if $address@index % 2}alternate_item{else}item{/if} box">
|
||||
<li><h3 class="page-subheading">{if $k eq 'invoice'}{l s='Invoice address'}{elseif $k eq 'delivery' && $delivery->id}{l s='Delivery address'}{/if}{if isset($address.object.alias)} <span class="address_alias">({$address.object.alias})</span>{/if}</h3></li>
|
||||
{foreach $address.ordered as $pattern}
|
||||
{assign var=addressKey value=" "|explode:$pattern}
|
||||
{assign var=addedli value=false}
|
||||
{foreach from=$addressKey item=key name=foo}
|
||||
{if isset($address.formated[$key]) && !empty($address.formated[$key])}
|
||||
{if (!$addedli)}
|
||||
{$addedli = true}
|
||||
<li>
|
||||
<span class="{if isset($addresses_style[$key])}{$addresses_style[$key]}{/if}">{/if}{$address.formated[$key]|escape:'html':'UTF-8'}{/if}{if ($smarty.foreach.foo.last && $addedli)}</span>
|
||||
</li>{/if}
|
||||
{assign var='last_was_odd' value=$product@iteration%2}
|
||||
{foreach $gift_products as $product}
|
||||
{assign var='productId' value=$product.id_product}
|
||||
{assign var='productAttributeId' value=$product.id_product_attribute}
|
||||
{assign var='quantityDisplayed' value=0}
|
||||
{assign var='odd' value=($product@iteration+$last_was_odd)%2}
|
||||
{assign var='ignoreProductLast' value=isset($customizedDatas.$productId.$productAttributeId)}
|
||||
{assign var='cannotModify' value=1}
|
||||
{* Display the gift product line *}
|
||||
{include file="$tpl_dir./shopping-cart-product-line.tpl" productLast=$product@last productFirst=$product@first}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{if sizeof($discounts)}
|
||||
<tbody>
|
||||
{foreach $discounts as $discount}
|
||||
<tr class="cart_discount {if $discount@last}last_item{elseif $discount@first}first_item{else}item{/if}" id="cart_discount_{$discount.id_discount}">
|
||||
<td class="cart_discount_name" colspan="3">{$discount.name}</td>
|
||||
<td class="cart_discount_price">
|
||||
<span class="price-discount">
|
||||
{if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if}
|
||||
</span>
|
||||
</td>
|
||||
<td class="cart_discount_delete">1</td>
|
||||
<td class="cart_discount_price">
|
||||
<span class="price-discount price">{if !$priceDisplay}{displayPrice price=$discount.value_real*-1}{else}{displayPrice price=$discount.value_tax_exc*-1}{/if}</span>
|
||||
</td>
|
||||
<td class="price_discount_del text-center">
|
||||
{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'}">
|
||||
<i class="icon-trash"></i>
|
||||
</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
{/if}
|
||||
</table>
|
||||
</div> <!-- end order-detail-content -->
|
||||
|
||||
{if $show_option_allow_separate_package}
|
||||
<p>
|
||||
<input type="checkbox" name="allow_seperated_package" id="allow_seperated_package" {if $cart->allow_seperated_package}checked="checked"{/if} autocomplete="off"/>
|
||||
<label for="allow_seperated_package">{l s='Send available products first'}</label>
|
||||
</p>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
<div id="HOOK_SHOPPING_CART">{$HOOK_SHOPPING_CART}</div>
|
||||
<p class="cart_navigation clearfix">
|
||||
|
||||
{if !$opc}
|
||||
<a href="{if $back}{$link->getPageLink('order', true, NULL, 'step=1&back={$back}')}{else}{$link->getPageLink('order', true, NULL, 'step=1')}{/if}" class="button btn btn-default standard-checkout button-medium" title="{l s='Proceed to checkout'}"><span>{l s='Proceed to checkout'}<i class="icon-chevron-right right"></i></span></a>
|
||||
{if Configuration::get('PS_ALLOW_MULTISHIPPING')}
|
||||
<a href="{if $back}{$link->getPageLink('order', true, NULL, 'step=1&back={$back}')}{else}{$link->getPageLink('order', true, NULL, 'step=1')}{/if}&multi-shipping=1" class="multishipping-button multishipping-checkout button btn btn-default button-medium" title="{l s='Proceed to checkout'}"><span>{l s='Proceed to checkout'}<i class="icon-chevron-right right"></i></span></a>
|
||||
<p class="enable-multishipping checkbox">
|
||||
<input type="checkbox" {if $multi_shipping}checked="checked"{/if} id="enable-multishipping" />
|
||||
<label for="enable-multishipping">{l s='I would like to specify a delivery address for each individual product.'}</label>
|
||||
</p>
|
||||
{/if}
|
||||
{/if}
|
||||
<a href="{if (isset($smarty.server.HTTP_REFERER) && strstr($smarty.server.HTTP_REFERER, 'order.php')) || isset($smarty.server.HTTP_REFERER) && strstr($smarty.server.HTTP_REFERER, 'order-opc') || !isset($smarty.server.HTTP_REFERER)}{$link->getPageLink('index')}{else}{$smarty.server.HTTP_REFERER|escape:'html':'UTF-8'|secureReferrer}{/if}" class="button-exclusive btn btn-default" title="{l s='Continue shopping'}"><i class="icon-chevron-left"></i>{l s='Continue shopping'}</a>
|
||||
</p>
|
||||
|
||||
{* Define the style if it doesn't exist in the PrestaShop version*}
|
||||
{* Will be deleted for 1.5 version and more *}
|
||||
{if !isset($addresses_style)}
|
||||
{$addresses_style.company = 'address_company'}
|
||||
{$addresses_style.vat_number = 'address_company'}
|
||||
{$addresses_style.firstname = 'address_name'}
|
||||
{$addresses_style.lastname = 'address_name'}
|
||||
{$addresses_style.address1 = 'address_address1'}
|
||||
{$addresses_style.address2 = 'address_address2'}
|
||||
{$addresses_style.city = 'address_city'}
|
||||
{$addresses_style.country = 'address_country'}
|
||||
{$addresses_style.phone = 'address_phone'}
|
||||
{$addresses_style.phone_mobile = 'address_phone_mobile'}
|
||||
{$addresses_style.alias = 'address_title'}
|
||||
{/if}
|
||||
|
||||
{if ((!empty($delivery_option) AND !isset($virtualCart)) OR $delivery->id OR $invoice->id) AND !$opc}
|
||||
<div class="order_delivery clearfix row">
|
||||
{if !isset($formattedAddresses) || (count($formattedAddresses.invoice) == 0 && count($formattedAddresses.delivery) == 0) || (count($formattedAddresses.invoice.formated) == 0 && count($formattedAddresses.delivery.formated) == 0)}
|
||||
{if $delivery->id}
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<ul id="delivery_address" class="address item box">
|
||||
<li><h3 class="page-subheading">{l s='Delivery address'} <span class="address_alias">({$delivery->alias})</span></h3></li>
|
||||
{if $delivery->company}<li class="address_company">{$delivery->company|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_name">{$delivery->firstname|escape:'html':'UTF-8'} {$delivery->lastname|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_address1">{$delivery->address1|escape:'html':'UTF-8'}</li>
|
||||
{if $delivery->address2}<li class="address_address2">{$delivery->address2|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_city">{$delivery->postcode|escape:'html':'UTF-8'} {$delivery->city|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_country">{$delivery->country|escape:'html':'UTF-8'} {if $delivery_state}({$delivery_state|escape:'html':'UTF-8'}){/if}</li>
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{if $invoice->id}
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<ul id="invoice_address" class="address alternate_item box">
|
||||
<li><h3 class="page-subheading">{l s='Invoice address'} <span class="address_alias">({$invoice->alias})</span></h3></li>
|
||||
{if $invoice->company}<li class="address_company">{$invoice->company|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_name">{$invoice->firstname|escape:'html':'UTF-8'} {$invoice->lastname|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_address1">{$invoice->address1|escape:'html':'UTF-8'}</li>
|
||||
{if $invoice->address2}<li class="address_address2">{$invoice->address2|escape:'html':'UTF-8'}</li>{/if}
|
||||
<li class="address_city">{$invoice->postcode|escape:'html':'UTF-8'} {$invoice->city|escape:'html':'UTF-8'}</li>
|
||||
<li class="address_country">{$invoice->country|escape:'html':'UTF-8'} {if $invoice_state}({$invoice_state|escape:'html':'UTF-8'}){/if}</li>
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
{else}
|
||||
{foreach from=$formattedAddresses key=k item=address}
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<ul class="address {if $address@last}last_item{elseif $address@first}first_item{/if} {if $address@index % 2}alternate_item{else}item{/if} box">
|
||||
<li>
|
||||
<h3 class="page-subheading">
|
||||
{if $k eq 'invoice'}
|
||||
{l s='Invoice address'}
|
||||
{elseif $k eq 'delivery' && $delivery->id}
|
||||
{l s='Delivery address'}
|
||||
{/if}
|
||||
{if isset($address.object.alias)}
|
||||
<span class="address_alias">({$address.object.alias})</span>
|
||||
{/if}
|
||||
</h3>
|
||||
</li>
|
||||
{foreach $address.ordered as $pattern}
|
||||
{assign var=addressKey value=" "|explode:$pattern}
|
||||
{assign var=addedli value=false}
|
||||
{foreach from=$addressKey item=key name=foo}
|
||||
{if isset($address.formated[$key]) && !empty($address.formated[$key])}
|
||||
{if (!$addedli)}
|
||||
{$addedli = true}
|
||||
<li><span class="{if isset($addresses_style[$key])}{$addresses_style[$key]}{/if}">
|
||||
{/if}
|
||||
{$address.formated[$key]|escape:'html':'UTF-8'}
|
||||
{/if}
|
||||
{if ($smarty.foreach.foo.last && $addedli)}
|
||||
</span></li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
<div id="HOOK_SHOPPING_CART">{$HOOK_SHOPPING_CART}</div>
|
||||
<p class="cart_navigation clearfix">
|
||||
{if !$opc}
|
||||
<a
|
||||
href="{if $back}{$link->getPageLink('order', true, NULL, 'step=1&back={$back}')}{else}{$link->getPageLink('order', true, NULL, 'step=1')}{/if}"
|
||||
class="button btn btn-default standard-checkout button-medium"
|
||||
title="{l s='Proceed to checkout'}">
|
||||
<span>{l s='Proceed to checkout'}<i class="icon-chevron-right right"></i></span>
|
||||
</a>
|
||||
{if Configuration::get('PS_ALLOW_MULTISHIPPING')}
|
||||
<a
|
||||
href="{if $back}{$link->getPageLink('order', true, NULL, 'step=1&back={$back}')}{else}{$link->getPageLink('order', true, NULL, 'step=1')}{/if}&multi-shipping=1"
|
||||
class="multishipping-button multishipping-checkout button btn btn-default button-medium"
|
||||
title="{l s='Proceed to checkout'}">
|
||||
<span>{l s='Proceed to checkout'}<i class="icon-chevron-right right"></i></span>
|
||||
</a>
|
||||
{/if}
|
||||
{/if}
|
||||
<a
|
||||
href="{if (isset($smarty.server.HTTP_REFERER) && strstr($smarty.server.HTTP_REFERER, 'order.php')) || isset($smarty.server.HTTP_REFERER) && strstr($smarty.server.HTTP_REFERER, 'order-opc') || !isset($smarty.server.HTTP_REFERER)}{$link->getPageLink('index')}{else}{$smarty.server.HTTP_REFERER|escape:'html':'UTF-8'|secureReferrer}{/if}"
|
||||
class="button-exclusive btn btn-default"
|
||||
title="{l s='Continue shopping'}">
|
||||
<i class="icon-chevron-left"></i>{l s='Continue shopping'}
|
||||
</a>
|
||||
</p>
|
||||
{if !empty($HOOK_SHOPPING_CART_EXTRA)}
|
||||
<div class="clear"></div>
|
||||
<div class="cart_navigation_extra">
|
||||
<div id="HOOK_SHOPPING_CART_EXTRA">{$HOOK_SHOPPING_CART_EXTRA}</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
{/if}
|
||||
Reference in New Issue
Block a user