[+] BO : now you can choose type of attribute group (select , color, radio)

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8691 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
vAugagneur
2011-09-21 14:29:32 +00:00
parent 5bc5979e2d
commit 8b6ec916e0
15 changed files with 204 additions and 146 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ class AdminAttributes extends AdminTab
<script type="text/javascript"> <script type="text/javascript">
var attributesGroups = {'; var attributesGroups = {';
foreach ($attributes_groups AS $attribute_group) foreach ($attributes_groups AS $attribute_group)
$strAttributesGroups .= '"'.$attribute_group['id_attribute_group'].'" : '.$attribute_group['is_color_group'].','; $strAttributesGroups .= '"'.$attribute_group['id_attribute_group'].'" : '.($attribute_group['group_type'] == 'color' ? '1' : '0' ) .',';
echo $strAttributesGroups.'}; echo $strAttributesGroups.'};
</script> </script>
<form action="'.self::$currentIndex.'&submitAdd'.$this->table.'=1&token='.($token ? $token : $this->token).'" method="post" enctype="multipart/form-data"> <form action="'.self::$currentIndex.'&submitAdd'.$this->table.'=1&token='.($token ? $token : $this->token).'" method="post" enctype="multipart/form-data">
+7 -6
View File
@@ -244,13 +244,14 @@ class AdminAttributesGroups extends AdminTab
echo ' echo '
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<label>'.$this->l('Color group:').' </label> <label>'.$this->l('Group type:').' </label>
<div class="margin-form"> <div class="margin-form">
<input type="radio" name="is_color_group" id="is_color_group_on" value="1" '.($this->getFieldValue($obj, 'is_color_group') ? 'checked="checked" ' : '').'/> <select name="group_type">
<label class="t" for="is_color_group_on"><img src="../img/admin/enabled.gif" alt="'.$this->l('Enabled').'" title="'.$this->l('Yes').'" /></label> <option value="select" '.($this->getFieldValue($obj, 'group_type') == 'select' ? 'selected="selected" ' : '').'>'.$this->l('Select').'</option>
<input type="radio" name="is_color_group" id="is_color_group_off" value="0" '.(!$this->getFieldValue($obj, 'is_color_group') ? 'checked="checked" ' : '').'/> <option value="radio" '.($this->getFieldValue($obj, 'group_type') == 'radio' ? 'selected="selected" ' : '').'>'.$this->l('Radio button').'</option>
<label class="t" for="is_color_group_off"><img src="../img/admin/disabled.gif" alt="'.$this->l('Disabled').'" title="'.$this->l('No').'" /></label> <option value="color" '.($this->getFieldValue($obj, 'group_type') == 'color' ? 'selected="selected" ' : '').'>'.$this->l('Color').'</option>
<p>'.$this->l('This is a color group').'</p> </select>
<p>'.$this->l('Choose the type of the attribute group').'</p>
</div>'; </div>';
if (Shop::isMultiShopActivated()) if (Shop::isMultiShopActivated())
{ {
+1 -22
View File
@@ -3611,28 +3611,7 @@ class AdminProducts extends AdminTab
var s_impact2 = document.getElementById(\'span_weight_impact\'); var s_impact2 = document.getElementById(\'span_weight_impact\');
init_elems(); init_elems();
</script> </script>';
<hr style="width:100%;" />
<table cellpadding="5">
<tr>
<td class="col-left"><b>'.$this->l('Color picker:').'</b></td>
<td style="padding-bottom:5px;">
<select name="id_color_default">
<option value="0">'.$this->l('Do not display').'</option>';
foreach ($attributes_groups AS $k => $attribute_group)
if (isset($groups[$attribute_group['id_attribute_group']]))
echo '<option value="'.(int)($attribute_group['id_attribute_group']).'"
'.((int)($attribute_group['id_attribute_group']) == (int)($obj->id_color_default) ? 'selected="selected"' : '').'>'
.htmlentities(stripslashes($attribute_group['name']), ENT_COMPAT, 'UTF-8').
'</option>';
echo '
</select>
&nbsp;&nbsp;<input type="submit" value="'.$this->l('OK').'" name="submitAdd'.$this->table.'AndStay" class="button" />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php?tab=AdminAttributesGroups&token='.Tools::getAdminToken('AdminAttributesGroups'.(int)(Tab::getIdFromClassName('AdminAttributesGroups')).(int)$this->context->employee->id).'" onclick="return confirm(\''.$this->l('Are you sure you want to delete entered product information?', __CLASS__, true, false).'\');"><img src="../img/admin/asterisk.gif" alt="" /> '.$this->l('Color attribute management').'</a>
<p >'.$this->l('Activate the color choice by selecting a color attribute group.').'</p>
</td>
</tr>
</table>';
} }
else else
echo '<b>'.$this->l('You must save this product before adding combinations').'.</b>'; echo '<b>'.$this->l('You must save this product before adding combinations').'.</b>';
+16 -4
View File
@@ -34,7 +34,6 @@ class AttributeCore extends ObjectModel
public $name; public $name;
public $color; public $color;
public $position; public $position;
public $default; public $default;
protected $fieldsRequired = array('id_attribute_group'); protected $fieldsRequired = array('id_attribute_group');
@@ -53,7 +52,14 @@ class AttributeCore extends ObjectModel
'id_attribute_group' => array('xlink_resource'=> 'product_options'), 'id_attribute_group' => array('xlink_resource'=> 'product_options'),
), ),
); );
public function __construct()
{
$this->image_dir = _PS_COL_IMG_DIR_;
parent::__construct();
}
public function getFields() public function getFields()
{ {
$this->validateFields(); $this->validateFields();
@@ -182,16 +188,22 @@ class AttributeCore extends ObjectModel
return false; return false;
} }
/**
* Return true if attribute is color type
*
* @acces public
* @return bool
*/
public function isColorAttribute() public function isColorAttribute()
{ {
if (!Db::getInstance()->getRow(' if (!Db::getInstance()->getRow('
SELECT `is_color_group` FROM `'._DB_PREFIX_.'attribute_group` WHERE `id_attribute_group` = ( SELECT `group_type` FROM `'._DB_PREFIX_.'attribute_group` WHERE `id_attribute_group` = (
SELECT `id_attribute_group` FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute` = '.(int)$this->id.') SELECT `id_attribute_group` FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute` = '.(int)$this->id.')
AND is_color_group = 1')) AND group_type = \'color\''))
return false; return false;
return Db::getInstance()->NumRows(); return Db::getInstance()->NumRows();
} }
/** /**
* Get minimal quantity for product with attributes quantity * Get minimal quantity for product with attributes quantity
* *
+2
View File
@@ -31,6 +31,7 @@ class AttributeGroupCore extends ObjectModel
public $name; public $name;
public $is_color_group; public $is_color_group;
public $position; public $position;
public $group_type;
/** @var string Public Name */ /** @var string Public Name */
public $public_name; public $public_name;
@@ -62,6 +63,7 @@ class AttributeGroupCore extends ObjectModel
$this->validateFields(); $this->validateFields();
$fields['is_color_group'] = (int)($this->is_color_group); $fields['is_color_group'] = (int)($this->is_color_group);
$fields['group_type'] = pSQL($this->group_type);
$fields['position'] = (int)($this->position); $fields['position'] = (int)($this->position);
return $fields; return $fields;
+2 -6
View File
@@ -54,9 +54,6 @@ class ProductCore extends ObjectModel
/** @var integer default Category id */ /** @var integer default Category id */
public $id_category_default; public $id_category_default;
/** @var integer default Attribute id if color picker is enabled */
public $id_color_default;
/** @var string Manufacturer name */ /** @var string Manufacturer name */
public $manufacturer_name; public $manufacturer_name;
@@ -225,7 +222,6 @@ class ProductCore extends ObjectModel
'id_manufacturer' => 'isUnsignedId', 'id_manufacturer' => 'isUnsignedId',
'id_supplier' => 'isUnsignedId', 'id_supplier' => 'isUnsignedId',
'id_category_default' => 'isUnsignedId', 'id_category_default' => 'isUnsignedId',
'id_color_default' => 'isUnsignedInt', /* unsigned integer because its value could be 0 if the feature is disabled */
'minimal_quantity' => 'isUnsignedInt', 'minimal_quantity' => 'isUnsignedInt',
'price' => 'isPrice', 'price' => 'isPrice',
'additional_shipping_cost' => 'isPrice', 'additional_shipping_cost' => 'isPrice',
@@ -353,7 +349,6 @@ class ProductCore extends ObjectModel
$fields['id_manufacturer'] = (int)($this->id_manufacturer); $fields['id_manufacturer'] = (int)($this->id_manufacturer);
$fields['id_supplier'] = (int)($this->id_supplier); $fields['id_supplier'] = (int)($this->id_supplier);
$fields['id_category_default'] = (int)($this->id_category_default); $fields['id_category_default'] = (int)($this->id_category_default);
$fields['id_color_default'] = (int)($this->id_color_default);
$fields['quantity'] = (int)($this->quantity); $fields['quantity'] = (int)($this->quantity);
$fields['minimal_quantity'] = (int)($this->minimal_quantity); $fields['minimal_quantity'] = (int)($this->minimal_quantity);
$fields['price'] = (float)($this->price); $fields['price'] = (float)($this->price);
@@ -2317,7 +2312,8 @@ class ProductCore extends ObjectModel
if (!Combination::isFeatureActive()) if (!Combination::isFeatureActive())
return array(); return array();
$sql = 'SELECT ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, agl.`public_name` AS public_group_name, a.`id_attribute`, al.`name` AS attribute_name, $sql = 'SELECT ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, agl.`public_name` AS public_group_name, a.`id_attribute`, al.`name` AS attribute_name,
a.`color` AS attribute_color, pa.`id_product_attribute`, stock.quantity, pa.`price`, pa.`ecotax`, pa.`weight`, pa.`default_on`, pa.`reference`, pa.`unit_price_impact`, pa.`minimal_quantity`, pa.`available_date` a.`color` AS attribute_color, pa.`id_product_attribute`, stock.quantity, pa.`price`, pa.`ecotax`, pa.`weight`, pa.`default_on`, pa.`reference`, pa.`unit_price_impact`,
pa.`minimal_quantity`, pa.`available_date`, ag.`group_type`
FROM `'._DB_PREFIX_.'product_attribute` pa FROM `'._DB_PREFIX_.'product_attribute` pa
'.Product::sqlStock('pa', 'pa').' '.Product::sqlStock('pa', 'pa').'
LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute` LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute`
+3 -9
View File
@@ -264,7 +264,7 @@ class ProductControllerCore extends FrontController
foreach ($attributesGroups AS $k => $row) foreach ($attributesGroups AS $k => $row)
{ {
/* Color management */ /* Color management */
if (((isset($row['attribute_color']) AND $row['attribute_color']) OR (file_exists(_PS_COL_IMG_DIR_.$row['id_attribute'].'.jpg'))) AND $row['id_attribute_group'] == $this->product->id_color_default) if ((isset($row['attribute_color']) AND $row['attribute_color']) OR (file_exists(_PS_COL_IMG_DIR_.$row['id_attribute'].'.jpg')))
{ {
$colors[$row['id_attribute']]['value'] = $row['attribute_color']; $colors[$row['id_attribute']]['value'] = $row['attribute_color'];
$colors[$row['id_attribute']]['name'] = $row['attribute_name']; $colors[$row['id_attribute']]['name'] = $row['attribute_name'];
@@ -272,12 +272,11 @@ class ProductControllerCore extends FrontController
$colors[$row['id_attribute']]['attributes_quantity'] = 0; $colors[$row['id_attribute']]['attributes_quantity'] = 0;
$colors[$row['id_attribute']]['attributes_quantity'] += (int)($row['quantity']); $colors[$row['id_attribute']]['attributes_quantity'] += (int)($row['quantity']);
} }
if (!isset($groups[$row['id_attribute_group']])) if (!isset($groups[$row['id_attribute_group']]))
{ {
$groups[$row['id_attribute_group']] = array( $groups[$row['id_attribute_group']] = array(
'name' => $row['public_group_name'], 'name' => $row['public_group_name'],
'is_color_group' => $row['is_color_group'], 'group_type' => $row['group_type'],
'default' => -1, 'default' => -1,
); );
} }
@@ -304,7 +303,6 @@ class ProductControllerCore extends FrontController
$combinations[$row['id_product_attribute']]['available_date'] = $availableDate; $combinations[$row['id_product_attribute']]['available_date'] = $availableDate;
$combinations[$row['id_product_attribute']]['id_image'] = isset($combinationImages[$row['id_product_attribute']][0]['id_image']) ? $combinationImages[$row['id_product_attribute']][0]['id_image'] : -1; $combinations[$row['id_product_attribute']]['id_image'] = isset($combinationImages[$row['id_product_attribute']][0]['id_image']) ? $combinationImages[$row['id_product_attribute']][0]['id_image'] : -1;
} }
//wash attributes list (if some attributes are unavailables and if allowed to wash it) //wash attributes list (if some attributes are unavailables and if allowed to wash it)
if (!Product::isAvailableWhenOutOfStock($this->product->out_of_stock) && Configuration::get('PS_DISP_UNAVAILABLE_ATTR') == 0) if (!Product::isAvailableWhenOutOfStock($this->product->out_of_stock) && Configuration::get('PS_DISP_UNAVAILABLE_ATTR') == 0)
{ {
@@ -318,9 +316,6 @@ class ProductControllerCore extends FrontController
unset($colors[$key]); unset($colors[$key]);
} }
/*foreach ($groups AS &$group) // attributes are now sortable in BO
natcasesort($group['attributes']);*/
foreach ($combinations AS $id_product_attribute => $comb) foreach ($combinations AS $id_product_attribute => $comb)
{ {
$attributeList = ''; $attributeList = '';
@@ -329,12 +324,11 @@ class ProductControllerCore extends FrontController
$attributeList = rtrim($attributeList, ','); $attributeList = rtrim($attributeList, ',');
$combinations[$id_product_attribute]['list'] = $attributeList; $combinations[$id_product_attribute]['list'] = $attributeList;
} }
$this->context->smarty->assign(array( $this->context->smarty->assign(array(
'groups' => $groups, 'groups' => $groups,
'combinaisons' => $combinations, /* Kept for compatibility purpose only */ 'combinaisons' => $combinations, /* Kept for compatibility purpose only */
'combinations' => $combinations, 'combinations' => $combinations,
'colors' => (sizeof($colors) AND $this->product->id_color_default) ? $colors : false, 'colors' => (sizeof($colors)) ? $colors : false,
'combinationImages' => $combinationImages)); 'combinationImages' => $combinationImages));
} }
+1 -1
View File
@@ -91,6 +91,7 @@ CREATE TABLE `PREFIX_attribute` (
CREATE TABLE `PREFIX_attribute_group` ( CREATE TABLE `PREFIX_attribute_group` (
`id_attribute_group` int(10) unsigned NOT NULL auto_increment, `id_attribute_group` int(10) unsigned NOT NULL auto_increment,
`is_color_group` tinyint(1) NOT NULL default '0', `is_color_group` tinyint(1) NOT NULL default '0',
`group_type` ENUM('select', 'radio', 'color') NOT NULL DEFAULT 'select',
`position` int(10) unsigned NOT NULL default '0', `position` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id_attribute_group`) PRIMARY KEY (`id_attribute_group`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8; ) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
@@ -1176,7 +1177,6 @@ CREATE TABLE `PREFIX_product` (
`id_manufacturer` int(10) unsigned default NULL, `id_manufacturer` int(10) unsigned default NULL,
`id_tax_rules_group` int(10) unsigned NOT NULL, `id_tax_rules_group` int(10) unsigned NOT NULL,
`id_category_default` int(10) unsigned default NULL, `id_category_default` int(10) unsigned default NULL,
`id_color_default` int(10) unsigned default NULL,
`on_sale` tinyint(1) unsigned NOT NULL default '0', `on_sale` tinyint(1) unsigned NOT NULL default '0',
`online_only` tinyint(1) unsigned NOT NULL default '0', `online_only` tinyint(1) unsigned NOT NULL default '0',
`ean13` varchar(13) default NULL, `ean13` varchar(13) default NULL,
+1 -1
View File
@@ -285,7 +285,7 @@ INSERT INTO `PREFIX_category_lang` (`id_category`, `id_lang`, `name`, `descripti
INSERT INTO `PREFIX_category_product` (`id_category`, `id_product`, `position`) VALUES INSERT INTO `PREFIX_category_product` (`id_category`, `id_product`, `position`) VALUES
(1, 1, 0),(1, 2, 1),(1, 6, 2),(1, 7, 3),(2, 1, 0),(2, 2, 1),(2, 7, 2),(3, 8, 0),(3, 9, 1),(4, 5, 0),(4, 6, 1); (1, 1, 0),(1, 2, 1),(1, 6, 2),(1, 7, 3),(2, 1, 0),(2, 2, 1),(2, 7, 2),(3, 8, 0),(3, 9, 1),(4, 5, 0),(4, 6, 1);
INSERT INTO `PREFIX_attribute_group` (`id_attribute_group`, `is_color_group`) VALUES (1, 0),(2, 1),(3, 0); INSERT INTO `PREFIX_attribute_group` (`id_attribute_group`, `is_color_group`) VALUES (1, 0, 'select'),(2, 1, 'color'),(3, 0, 'select');
INSERT INTO `PREFIX_attribute_group_group_shop` (`id_attribute_group`, `id_group_shop`) (SELECT `id_attribute_group`, 1 FROM `PREFIX_attribute_group`); INSERT INTO `PREFIX_attribute_group_group_shop` (`id_attribute_group`, `id_group_shop`) (SELECT `id_attribute_group`, 1 FROM `PREFIX_attribute_group`);
INSERT INTO `PREFIX_attribute_group_lang` (`id_attribute_group`, `id_lang`, `name`, `public_name`) VALUES INSERT INTO `PREFIX_attribute_group_lang` (`id_attribute_group`, `id_lang`, `name`, `public_name`) VALUES
(1, 1, 'Disk space', 'Disk space'),(1, 2, 'Capacité', 'Capacité'),(2, 1, 'Color', 'Color'),(2, 2, 'Couleur', 'Couleur'),(3, 1, 'ICU', 'Processor'), (1, 1, 'Disk space', 'Disk space'),(1, 2, 'Capacité', 'Capacité'),(2, 1, 'Color', 'Color'),(2, 2, 'Couleur', 'Couleur'),(3, 1, 'ICU', 'Processor'),
+4
View File
@@ -149,3 +149,7 @@ ALTER TABLE `PREFIX_product_download` ADD `id_product_attribute` INT( 10 ) UNSIG
ALTER TABLE `PREFIX_product_download` ADD `is_shareable` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `active`; ALTER TABLE `PREFIX_product_download` ADD `is_shareable` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `active`;
ALTER TABLE `PREFIX_attribute_group` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'; ALTER TABLE `PREFIX_attribute_group` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE `PREFIX_attribute_group` ADD `group_type` ENUM('select', 'radio', 'color') NOT NULL DEFAULT 'select';
UPDATE `PREFIX_attribute_group` SET `group_type`='color' WHERE `is_color_group` = 1;
ALTER TABLE `PREFIX_product` DROP `id_color_default`;
+37
View File
@@ -50,6 +50,7 @@
border: 1px #d0d3d8 solid; border: 1px #d0d3d8 solid;
margin-bottom: 1.5em margin-bottom: 1.5em
} }
#primary_block #color_to_pick_list li { #primary_block #color_to_pick_list li {
display: inline; display: inline;
float: left; float: left;
@@ -62,6 +63,11 @@
border: 1px solid #666; border: 1px solid #666;
cursor: pointer cursor: pointer
} }
#primary_block a.color_pick.selected {
border: 1px red solid;
}
#primary_block a.color_pick.selected:hover { border: 1px red solid; }
#primary_block a.color_pick:hover { border: 1px solid #000 } #primary_block a.color_pick:hover { border: 1px solid #000 }
#primary_block a#color_all { cursor: pointer } #primary_block a#color_all { cursor: pointer }
#primary_block #image-block img#bigpic.jqzoom { #primary_block #image-block img#bigpic.jqzoom {
@@ -117,6 +123,37 @@
clear: left; clear: left;
text-align: center text-align: center
} }
#attributes {
margin-top: 10px;
}
.attribute_list {
width:50%;
float:right;
height:auto
}
#primary_block #buy_block .attribute_label {
font-size: 1.1em;
color: #374853;
float:left;
width:45%;
}
#primary_block #buy_block .attribute_select {
width: 100%;
margin-left: 0;
}
.attribute_fieldset {
padding:0;
border:0;
margin-bottom:10px
}
.attribute_radio {
margin:0 5px 5px 0;
}
/* prices */ /* prices */
#primary_block #buy_block p.price { #primary_block #buy_block p.price {
+34 -33
View File
@@ -76,7 +76,7 @@ function findCombination(firstTime)
$('#quantity_wanted').val(1); $('#quantity_wanted').val(1);
//create a temporary 'choice' array containing the choices of the customer //create a temporary 'choice' array containing the choices of the customer
var choice = new Array(); var choice = new Array();
$('div#attributes select').each(function(){ $('div#attributes select, div#attributes input[type=hidden], div#attributes input[type=radio]:checked').each(function(){
choice.push($(this).val()); choice.push($(this).val());
}); });
@@ -139,21 +139,6 @@ function findCombination(firstTime)
updateDisplay(); updateDisplay();
} }
function updateColorSelect(id_attribute)
{
if (id_attribute == 0)
{
refreshProductImages(0);
return ;
}
// Visual effect
$('#color_'+id_attribute).fadeTo('fast', 1, function(){ $(this).fadeTo('slow', 0, function(){ $(this).fadeTo('slow', 1, function(){}); }); });
// Attribute selection
$('#group_'+id_color_default+' option[value='+id_attribute+']').attr('selected', 'selected');
$('#group_'+id_color_default+' option[value!='+id_attribute+']').removeAttr('selected');
findCombination();
}
//update display of the availability of the product AND the prices of the product //update display of the availability of the product AND the prices of the product
function updateDisplay() function updateDisplay()
{ {
@@ -243,24 +228,26 @@ function updateDisplay()
$('#availability_statut:hidden').show(); $('#availability_statut:hidden').show();
//display availability date //display availability date
var available_date = selectedCombination['available_date']; if (selectedCombination.length)
tab_date = available_date.split('-');
var time_available = new Date(tab_date[2], tab_date[1], tab_date[0]);
time_available.setMonth(time_available.getMonth()-1);
var now = new Date();
// date displayed only if time_available
if (now.getTime() < time_available.getTime())
{ {
$('#availability_date_value').text(selectedCombination['available_date']); var available_date = selectedCombination['available_date'];
$('#availability_date_label').show(); tab_date = available_date.split('-');
$('#availability_date_value').show(); var time_available = new Date(tab_date[2], tab_date[1], tab_date[0]);
time_available.setMonth(time_available.getMonth()-1);
var now = new Date();
// date displayed only if time_available
if (now.getTime() < time_available.getTime())
{
$('#availability_date_value').text(selectedCombination['available_date']);
$('#availability_date_label').show();
$('#availability_date_value').show();
}
else
{
$('#availability_date_label').hide();
$('#availability_date_value').hide();
}
} }
else
{
$('#availability_date_label').hide();
$('#availability_date_value').hide();
}
//show the 'add to cart' button ONLY IF it's possible to buy when out of stock AND if it was previously invisible //show the 'add to cart' button ONLY IF it's possible to buy when out of stock AND if it was previously invisible
if (allowBuyWhenOutOfStock && !selectedCombination['unavailable'] && productAvailableForOrder == 1) if (allowBuyWhenOutOfStock && !selectedCombination['unavailable'] && productAvailableForOrder == 1)
{ {
@@ -501,7 +488,7 @@ $(document).ready(function()
// //
$('a#resetImages').click(function() { $('a#resetImages').click(function() {
updateColorSelect(0); refreshProductImages(0);
}); });
$('.thickbox').fancybox({ $('.thickbox').fancybox({
@@ -552,3 +539,17 @@ function checkMinimalQuantity(minimal_quantity)
} }
} }
function colorPickerClick(elt)
{
id_attribute = $(elt).attr('id').replace('color_', '');
$('.color_pick').removeClass('selected');
$(elt).fadeTo('fast', 1, function(){
$(this).fadeTo('slow', 0, function(){
$(this).fadeTo('slow', 1, function(){
$(this).addClass('selected');
});
});
});
$('#color_pick_hidden').val(id_attribute);
findCombination();
}
+1 -7
View File
@@ -57,8 +57,6 @@ $_LANG['authentication_dc647eb65e6711e155375218212b3964'] = 'Mot de passe';
$_LANG['authentication_01a569ddc6cf67ddec2a683f0a5f5956'] = 'Mot de passe oublié ?'; $_LANG['authentication_01a569ddc6cf67ddec2a683f0a5f5956'] = 'Mot de passe oublié ?';
$_LANG['authentication_766d4aaf3e045538be23f9a9e17a1593'] = 'Commande express'; $_LANG['authentication_766d4aaf3e045538be23f9a9e17a1593'] = 'Commande express';
$_LANG['authentication_b78a3223503896721cca1303f776159b'] = 'Civilité'; $_LANG['authentication_b78a3223503896721cca1303f776159b'] = 'Civilité';
$_LANG['authentication_127469a6b4253ebb77adccc0dd48461e'] = 'M.';
$_LANG['authentication_29e32764941c30d1bb41c601014fbdbd'] = 'Mme';
$_LANG['authentication_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom'; $_LANG['authentication_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom';
$_LANG['authentication_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom'; $_LANG['authentication_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom';
$_LANG['authentication_10803b83a68db8f7e7a33e3b41e184d0'] = 'Date de naissance'; $_LANG['authentication_10803b83a68db8f7e7a33e3b41e184d0'] = 'Date de naissance';
@@ -203,8 +201,6 @@ $_LANG['identity_8514d6418c5a503c4accac47e764ce11'] = 'Votre mot de passe a ét
$_LANG['identity_91724108825d34f1636cda352524df67'] = 'N\'hésitez pas à modifier vos informations personnelles si celles-ci ont changé.'; $_LANG['identity_91724108825d34f1636cda352524df67'] = 'N\'hésitez pas à modifier vos informations personnelles si celles-ci ont changé.';
$_LANG['identity_19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis'; $_LANG['identity_19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis';
$_LANG['identity_b78a3223503896721cca1303f776159b'] = 'Civilité'; $_LANG['identity_b78a3223503896721cca1303f776159b'] = 'Civilité';
$_LANG['identity_127469a6b4253ebb77adccc0dd48461e'] = 'M.';
$_LANG['identity_29e32764941c30d1bb41c601014fbdbd'] = 'Mme';
$_LANG['identity_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom'; $_LANG['identity_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom';
$_LANG['identity_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom'; $_LANG['identity_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom';
$_LANG['identity_1e884e3078d9978e216a027ecd57fb34'] = 'E-mail'; $_LANG['identity_1e884e3078d9978e216a027ecd57fb34'] = 'E-mail';
@@ -349,6 +345,7 @@ $_LANG['order-detail_07213a0161f52846ab198be103b5ab43'] = 'erreurs';
$_LANG['order-detail_cb5e100e5a9a3e7f6d1fd97512215282'] = 'erreur'; $_LANG['order-detail_cb5e100e5a9a3e7f6d1fd97512215282'] = 'erreur';
$_LANG['order-detail_37c06f5486d3068a0a9604552c7e081f'] = 'Ajouter un message :'; $_LANG['order-detail_37c06f5486d3068a0a9604552c7e081f'] = 'Ajouter un message :';
$_LANG['order-detail_617096c86d35478132502be00e12e016'] = 'Si vous voulez nous laisser un message à propos de votre commande, merci de l\'écrire ici.'; $_LANG['order-detail_617096c86d35478132502be00e12e016'] = 'Si vous voulez nous laisser un message à propos de votre commande, merci de l\'écrire ici.';
$_LANG['order-detail_7bc873cba11f035df692c3549366c722'] = '- Choisissez -';
$_LANG['order-detail_94966d90747b97d1f0f206c98a8b1ac3'] = 'Envoyer'; $_LANG['order-detail_94966d90747b97d1f0f206c98a8b1ac3'] = 'Envoyer';
$_LANG['order-detail_a9979df9e349275e2d86f7af03e24d14'] = 'Vous ne pouvez pas faire de retour de marchandise avec un compte invité'; $_LANG['order-detail_a9979df9e349275e2d86f7af03e24d14'] = 'Vous ne pouvez pas faire de retour de marchandise avec un compte invité';
$_LANG['order-follow_d95cf4ab2cbf1dfb63f066b50558b07d'] = 'Mon compte'; $_LANG['order-follow_d95cf4ab2cbf1dfb63f066b50558b07d'] = 'Mon compte';
@@ -387,8 +384,6 @@ $_LANG['order-opc-new-account_2fdfd506efea08144c0794c32ca8250a'] = 'Créer un co
$_LANG['order-opc-new-account_1e884e3078d9978e216a027ecd57fb34'] = 'E-mail'; $_LANG['order-opc-new-account_1e884e3078d9978e216a027ecd57fb34'] = 'E-mail';
$_LANG['order-opc-new-account_bf2957630c4209f61a388a08c2154915'] = '(Min 5 caractères.)'; $_LANG['order-opc-new-account_bf2957630c4209f61a388a08c2154915'] = '(Min 5 caractères.)';
$_LANG['order-opc-new-account_b78a3223503896721cca1303f776159b'] = 'Titre'; $_LANG['order-opc-new-account_b78a3223503896721cca1303f776159b'] = 'Titre';
$_LANG['order-opc-new-account_127469a6b4253ebb77adccc0dd48461e'] = 'M.';
$_LANG['order-opc-new-account_29e32764941c30d1bb41c601014fbdbd'] = 'Mme';
$_LANG['order-opc-new-account_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom'; $_LANG['order-opc-new-account_20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom';
$_LANG['order-opc-new-account_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom'; $_LANG['order-opc-new-account_8d3f5eff9c40ee315d452392bed5309b'] = 'Nom';
$_LANG['order-opc-new-account_10803b83a68db8f7e7a33e3b41e184d0'] = 'Date de naissance'; $_LANG['order-opc-new-account_10803b83a68db8f7e7a33e3b41e184d0'] = 'Date de naissance';
@@ -544,7 +539,6 @@ $_LANG['product_13dba24862cf9128167a59100e154c8d'] = 'Imprimer';
$_LANG['product_c6beb9157a0e29e604ad5ec484488608'] = 'Agrandir'; $_LANG['product_c6beb9157a0e29e604ad5ec484488608'] = 'Agrandir';
$_LANG['product_2b56b60f878922093facd42284848a0c'] = 'Plus de détails'; $_LANG['product_2b56b60f878922093facd42284848a0c'] = 'Plus de détails';
$_LANG['product_e54a973d0c3342dac6ee7d9e145c6f83'] = 'Contenu du pack'; $_LANG['product_e54a973d0c3342dac6ee7d9e145c6f83'] = 'Contenu du pack';
$_LANG['product_98b0a68a7e4c7b265a5ca9a0b733d96e'] = 'Choisissez un coloris :';
$_LANG['product_588907ab2d492aca0b07b5bf9c931eea'] = 'En solde'; $_LANG['product_588907ab2d492aca0b07b5bf9c931eea'] = 'En solde';
$_LANG['product_800e90e940e7f1fb938b0fda5137f38c'] = 'En solde !'; $_LANG['product_800e90e940e7f1fb938b0fda5137f38c'] = 'En solde !';
$_LANG['product_ca2bf12169883f4982d8fe34b7e3c618'] = 'Prix réduit !'; $_LANG['product_ca2bf12169883f4982d8fe34b7e3c618'] = 'Prix réduit !';
+50 -42
View File
@@ -110,10 +110,6 @@ var fieldRequired = '{l s='Please fill in all required fields, then save the cus
{foreach from=$combinations key=idCombination item=combination} {foreach from=$combinations key=idCombination item=combination}
addCombination({$idCombination|intval}, new Array({$combination.list}), {$combination.quantity}, {$combination.price}, {$combination.ecotax}, {$combination.id_image}, '{$combination.reference|addslashes}', {$combination.unit_impact}, {$combination.minimal_quantity}, '{$combination.available_date}'); addCombination({$idCombination|intval}, new Array({$combination.list}), {$combination.quantity}, {$combination.price}, {$combination.ecotax}, {$combination.id_image}, '{$combination.reference|addslashes}', {$combination.unit_impact}, {$combination.minimal_quantity}, '{$combination.available_date}');
{/foreach} {/foreach}
// Colors
{if $colors|@count > 0}
{if $product->id_color_default}var id_color_default = {$product->id_color_default|intval};{/if}
{/if}
{/if} {/if}
//]]> //]]>
</script> </script>
@@ -206,21 +202,7 @@ var fieldRequired = '{l s='Please fill in all required fields, then save the cus
{/if} {/if}
</div> </div>
{/if} {/if}
{if isset($colors) && $colors}
<!-- colors -->
<div id="color_picker">
<p>{l s='Pick a color:' js=1}</p>
<div class="clear"></div>
<ul id="color_to_pick_list">
{foreach from=$colors key='id_attribute' item='color'}
<li><a id="color_{$id_attribute|intval}" class="color_pick" style="background: {$color.value};" onclick="updateColorSelect({$id_attribute|intval});$('#wrapResetImages').show('slow');" title="{$color.name}">{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}<img src="{$img_col_dir}{$id_attribute}.jpg" alt="{$color.name}" width="20" height="20" />{/if}</a></li>
{/foreach}
</ul>
<div class="clear"></div>
</div>
{/if}
{if ($product->show_price AND !isset($restricted_country_mode)) OR isset($groups) OR $product->reference OR (isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS)} {if ($product->show_price AND !isset($restricted_country_mode)) OR isset($groups) OR $product->reference OR (isset($HOOK_PRODUCT_ACTIONS) && $HOOK_PRODUCT_ACTIONS)}
<!-- add to cart form--> <!-- add to cart form-->
<form id="buy_block" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart')}" method="post"> <form id="buy_block" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart')}" method="post">
@@ -298,42 +280,68 @@ var fieldRequired = '{l s='Please fill in all required fields, then save the cus
{/if} {/if}
{*close if for show price*} {*close if for show price*}
{/if} {/if}
{if isset($groups)} {if isset($groups)}
<!-- attributes --> <!-- attributes -->
<div id="attributes"> <div id="attributes">
{foreach from=$groups key=id_attribute_group item=group} {foreach from=$groups key=id_attribute_group item=group}
{if $group.attributes|@count} {if $group.attributes|@count}
<p> <fieldset class="attribute_fieldset">
<label for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'} :</label> <label class="attribute_label" for="group_{$id_attribute_group|intval}">{$group.name|escape:'htmlall':'UTF-8'} :</label>
{assign var="groupName" value="group_$id_attribute_group"} {assign var="groupName" value="group_$id_attribute_group"}
<select name="{$groupName}" id="group_{$id_attribute_group|intval}" onchange="javascript:findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};"> <div class="attribute_list">
{foreach from=$group.attributes key=id_attribute item=group_attribute} {if ($group.group_type == 'select')}
<option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option> <select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="attribute_select" onchange="findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if};">
{/foreach} {foreach from=$group.attributes key=id_attribute item=group_attribute}
</select> <option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'htmlall':'UTF-8'}">{$group_attribute|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{elseif ($group.group_type == 'color')}
<ul id="color_to_pick_list">
{assign var="default_colorpicker" value=""}
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<li>
<a id="color_{$id_attribute|intval}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}" style="background: {$colors.$id_attribute.value};" title="{$colors.$id_attribute.name}" onclick="colorPickerClick(this);{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if}">
{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}
<img src="{$img_col_dir}{$id_attribute}.jpg" alt="{$colors.$id_attribute.name}" width="20" height="20" /><br>
{/if}
</a>
</li>
{if ($group.default == $id_attribute)}
{$default_colorpicker = $id_attribute}
{/if}
{/foreach}
</ul>
<input type="hidden" id="color_pick_hidden" name="{$groupName}" value="{$default_colorpicker}" >
{elseif ($group.group_type == 'radio')}
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<input type="radio" class="attribute_radio" name="{$groupName}" value="{$id_attribute}" {if ($group.default == $id_attribute)} checked="checked"{/if} onclick="findCombination();{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if}">
{$group_attribute|escape:'htmlall':'UTF-8'}<br/>
{/foreach}
{/if}
</div>
</fieldset>
{/if}
{/foreach}
</div>
{/if}
<p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}>
<label for="product_reference">{l s='Reference :'} </label>
<span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span>
</p> </p>
{/if}
{/foreach}
</div>
{/if}
<p id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}><label for="product_reference">{l s='Reference :'} </label><span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span></p>
<!-- quantity wanted --> <!-- quantity wanted -->
<p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <p id="quantity_wanted_p"{if (!$allow_oosp && $product->quantity <= 0) OR $virtual OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
<label>{l s='Quantity :'}</label> <label>{l s='Quantity :'}</label>
<input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} /> <input type="text" name="qty" id="quantity_wanted" class="text" value="{if isset($quantityBackup)}{$quantityBackup|intval}{else}{if $product->minimal_quantity > 1}{$product->minimal_quantity}{else}1{/if}{/if}" size="2" maxlength="3" {if $product->minimal_quantity > 1}onkeyup="checkMinimalQuantity({$product->minimal_quantity});"{/if} />
</p> </p>
<!-- minimal quantity wanted --> <!-- minimal quantity wanted -->
<p id="minimal_quantity_wanted_p"{if $product->minimal_quantity <= 1 OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>{l s='You must add '}<b id="minimal_quantity_label">{$product->minimal_quantity}</b>{l s=' as a minimum quantity to buy this product.'}</p> <p id="minimal_quantity_wanted_p"{if $product->minimal_quantity <= 1 OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
{l s='You must add '}<b id="minimal_quantity_label">{$product->minimal_quantity}</b>{l s=' as a minimum quantity to buy this product.'}
</p>
{if $product->minimal_quantity > 1} {if $product->minimal_quantity > 1}
<script type="text/javascript"> <script type="text/javascript">
checkMinimalQuantity(); checkMinimalQuantity();
</script> </script>
{/if} {/if}
<!-- availability --> <!-- availability -->
<p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}> <p id="availability_statut"{if ($product->quantity <= 0 && !$product->available_later && $allow_oosp) OR ($product->quantity > 0 && !$product->available_now) OR !$product->available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
<span id="availability_label">{l s='Availability:'}</span> <span id="availability_label">{l s='Availability:'}</span>
+44 -14
View File
@@ -13,6 +13,9 @@ $_LANGADM['AdminAccessf2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
$_LANGADM['AdminAccessb1c94ca2fbc3e78fc30069c8d0f01680'] = 'Tout'; $_LANGADM['AdminAccessb1c94ca2fbc3e78fc30069c8d0f01680'] = 'Tout';
$_LANGADM['AdminAccess7fcca2f879aa88fea302c675f56428cc'] = 'Aucun onglet'; $_LANGADM['AdminAccess7fcca2f879aa88fea302c675f56428cc'] = 'Aucun onglet';
$_LANGADM['AdminAccess05fe96d753968b151a15b748140e4467'] = 'Les permissions du profil administrateur ne peuvent pas être modifiées.'; $_LANGADM['AdminAccess05fe96d753968b151a15b748140e4467'] = 'Les permissions du profil administrateur ne peuvent pas être modifiées.';
$_LANGADM['AdminAccessbf17ac149e2e7a530c677e9bd51d3fd2'] = 'Modules';
$_LANGADM['AdminAccessf1206f9fadc5ce41694f69129aecac26'] = 'Configurer';
$_LANGADM['AdminAccess501faad2df9c231576549a068fcf61ca'] = 'Pas de modules installés';
$_LANGADM['AdminAddressesb718adec73e04ce3ec720dd11a06a308'] = 'ID'; $_LANGADM['AdminAddressesb718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_LANGADM['AdminAddresses20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom'; $_LANGADM['AdminAddresses20db0bfeecd8fe60533206a2b5e9891a'] = 'Prénom';
$_LANGADM['AdminAddresses8d3f5eff9c40ee315d452392bed5309b'] = 'Nom'; $_LANGADM['AdminAddresses8d3f5eff9c40ee315d452392bed5309b'] = 'Nom';
@@ -106,6 +109,7 @@ $_LANGADM['AdminAttributes38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer';
$_LANGADM['AdminAttributes19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis'; $_LANGADM['AdminAttributes19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis';
$_LANGADM['AdminAttributesGroups49ee3087348e8d44e1feda1917443987'] = 'Nom'; $_LANGADM['AdminAttributesGroups49ee3087348e8d44e1feda1917443987'] = 'Nom';
$_LANGADM['AdminAttributesGroups287234a1ff35a314b5b6bc4e5828e745'] = 'Attributs'; $_LANGADM['AdminAttributesGroups287234a1ff35a314b5b6bc4e5828e745'] = 'Attributs';
$_LANGADM['AdminAttributesGroups52f5e0bc3859bc5f5e25130b6c7e8881'] = 'Position';
$_LANGADM['AdminAttributesGroups630f6dc397fe74e52d5189e2c80f282b'] = 'Retour à la liste'; $_LANGADM['AdminAttributesGroups630f6dc397fe74e52d5189e2c80f282b'] = 'Retour à la liste';
$_LANGADM['AdminAttributesGroups13cdf2d0d1b996ad3a141e297c62ea6b'] = 'Cette fonctionnalité a été désactivée, vous pouvez l\'activer sur cette page:'; $_LANGADM['AdminAttributesGroups13cdf2d0d1b996ad3a141e297c62ea6b'] = 'Cette fonctionnalité a été désactivée, vous pouvez l\'activer sur cette page:';
$_LANGADM['AdminAttributesGroups9a63ec735f057c1366284bda67eee7de'] = 'Performances'; $_LANGADM['AdminAttributesGroups9a63ec735f057c1366284bda67eee7de'] = 'Performances';
@@ -113,6 +117,8 @@ $_LANGADM['AdminAttributesGroups8196c2d7a6dce8aea8acbeac4105ef81'] = 'Ajouter un
$_LANGADM['AdminAttributesGroups88a306e559954dc8c8ae9eb55d62297f'] = 'Ajouter une déclinaison'; $_LANGADM['AdminAttributesGroups88a306e559954dc8c8ae9eb55d62297f'] = 'Ajouter une déclinaison';
$_LANGADM['AdminAttributesGroupsb63e3071db26cee88d595c4573f8f34e'] = 'Cliquez sur le nom du groupe pour voir ses attributs. Cliquez à nouveau pour les masquer.'; $_LANGADM['AdminAttributesGroupsb63e3071db26cee88d595c4573f8f34e'] = 'Cliquez sur le nom du groupe pour voir ses attributs. Cliquez à nouveau pour les masquer.';
$_LANGADM['AdminAttributesGroupsc2492c52caab207d21da2c0decd8a405'] = 'Aucun élément trouvé'; $_LANGADM['AdminAttributesGroupsc2492c52caab207d21da2c0decd8a405'] = 'Aucun élément trouvé';
$_LANGADM['AdminAttributesGroups08a38277b0309070706f6652eeae9a53'] = 'Bas';
$_LANGADM['AdminAttributesGroups258f49887ef8d14ac268c92b02503aaa'] = 'Haut';
$_LANGADM['AdminAttributesGroups7dce122004969d56ae2e0245cb754d35'] = 'Editer'; $_LANGADM['AdminAttributesGroups7dce122004969d56ae2e0245cb754d35'] = 'Editer';
$_LANGADM['AdminAttributesGroupse8cf85cec621489ec026f7e06c67eb4e'] = 'Supprimer l\'élément'; $_LANGADM['AdminAttributesGroupse8cf85cec621489ec026f7e06c67eb4e'] = 'Supprimer l\'élément';
$_LANGADM['AdminAttributesGroupsf2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer'; $_LANGADM['AdminAttributesGroupsf2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
@@ -121,12 +127,11 @@ $_LANGADM['AdminAttributesGroups4e140ba723a03baa6948340bf90e2ef6'] = 'Nom :';
$_LANGADM['AdminAttributesGroups6252c0f2c2ed83b7b06dfca86d4650bb'] = 'Caractères interdits :'; $_LANGADM['AdminAttributesGroups6252c0f2c2ed83b7b06dfca86d4650bb'] = 'Caractères interdits :';
$_LANGADM['AdminAttributesGroupsc9e5eb0a273a65da3a04f42e8351dc97'] = 'Nom public :'; $_LANGADM['AdminAttributesGroupsc9e5eb0a273a65da3a04f42e8351dc97'] = 'Nom public :';
$_LANGADM['AdminAttributesGroups4c4a779c55d2a3054839b5ad8615f5cb'] = 'Nom qui sera affiché au client'; $_LANGADM['AdminAttributesGroups4c4a779c55d2a3054839b5ad8615f5cb'] = 'Nom qui sera affiché au client';
$_LANGADM['AdminAttributesGroups3c2fd298a3d83fdba35636873dcba353'] = 'Coloris :'; $_LANGADM['AdminAttributesGroups9a01ca07f01c30db30819eba00919a06'] = 'Type de groupe:';
$_LANGADM['AdminAttributesGroups00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Activé'; $_LANGADM['AdminAttributesGroupse0626222614bdee31951d84c64e5e9ff'] = 'Sélectionnez';
$_LANGADM['AdminAttributesGroups93cba07454f06a4a960172bbd6e2a435'] = 'Oui'; $_LANGADM['AdminAttributesGroups07a9ca8c8228dd3399141e228034fedf'] = 'Bouton radio';
$_LANGADM['AdminAttributesGroupsb9f5c797ebbf55adccdd8539a65a0241'] = 'Désactivé'; $_LANGADM['AdminAttributesGroupscb5feb1b7314637725a2e73bdc9f7295'] = 'Couleur';
$_LANGADM['AdminAttributesGroupsbafd7322c6e97d25b6299b5d6fe8920b'] = 'Non'; $_LANGADM['AdminAttributesGroups6c95ef57bbce3e9186e12f698bbe3aa1'] = 'Choisissez le type de groupe d\'attributs';
$_LANGADM['AdminAttributesGroups0820cbf22e11a8a8398b7aa177048874'] = 'Groupe de coloris';
$_LANGADM['AdminAttributesGroups817b35caca2afa11b6c1efc428315470'] = 'Groupe de boutiques associé'; $_LANGADM['AdminAttributesGroups817b35caca2afa11b6c1efc428315470'] = 'Groupe de boutiques associé';
$_LANGADM['AdminAttributesGroups38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer'; $_LANGADM['AdminAttributesGroups38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer';
$_LANGADM['AdminAttributesGroups19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis'; $_LANGADM['AdminAttributesGroups19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis';
@@ -549,6 +554,19 @@ $_LANGADM['AdminCustomerThreadsec53a8c4f07baed5d8825072c89799be'] = 'Statut';
$_LANGADM['AdminCustomerThreadsf8c8b903cb2e4f297e4b96d4b9c1e98a'] = 'Employé'; $_LANGADM['AdminCustomerThreadsf8c8b903cb2e4f297e4b96d4b9c1e98a'] = 'Employé';
$_LANGADM['AdminCustomerThreads41de6d6cfb8953c021bbe4ba0701c8a1'] = 'Messages'; $_LANGADM['AdminCustomerThreads41de6d6cfb8953c021bbe4ba0701c8a1'] = 'Messages';
$_LANGADM['AdminCustomerThreadscf090b8fa4a136ed6058aaf84d5d2538'] = 'Dernier message'; $_LANGADM['AdminCustomerThreadscf090b8fa4a136ed6058aaf84d5d2538'] = 'Dernier message';
$_LANGADM['AdminCustomerThreads0e9470c5e6bfee40004f22f543b8b2a6'] = 'SAV option';
$_LANGADM['AdminCustomerThreadsed04092eeafa5a0b2d70dab8983e6935'] = 'Url Imap';
$_LANGADM['AdminCustomerThreadsa81b40d671a82de3bc3550b878234dd6'] = 'Url pour le serveur IMAP (mail.server.com)';
$_LANGADM['AdminCustomerThreadscd16a15c486d2e183732556f779968c9'] = 'Port IMAP';
$_LANGADM['AdminCustomerThreads8a29ff48f49ffe61e4e886a04cff2eb6'] = 'Port à utiliser pour se connecter le serveur imap';
$_LANGADM['AdminCustomerThreads678b57a794c6976ac961df8a32394def'] = 'Utilisateur IMAP';
$_LANGADM['AdminCustomerThreads0882db19e4fce8cbaff75c9dc2fb1166'] = 'L\'utilisateur à utiliser pour se connecter le serveur IMAP';
$_LANGADM['AdminCustomerThreads22e38bd8ea7e850765045720e0b9cf5d'] = 'Mot de passe IMAP';
$_LANGADM['AdminCustomerThreadsa5bf021c18a4c0891b491c07d3555b86'] = 'Mot de passe à utiliser pour se connecter le serveur IMAP';
$_LANGADM['AdminCustomerThreadsca7e64e3f55ef8e0f50818d8117d26cc'] = 'Supprimer des messages';
$_LANGADM['AdminCustomerThreadsbbd8156a324aee57b7186991acf82d0d'] = 'Supprime le message après la synchronisation. Si vous n\'avez pas active cette option, la synchronisation sera plus long';
$_LANGADM['AdminCustomerThreadsbafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
$_LANGADM['AdminCustomerThreads93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
$_LANGADM['AdminCustomerThreadsd21b5a78517318e6d35414d4217950ce'] = 'Message transmis à'; $_LANGADM['AdminCustomerThreadsd21b5a78517318e6d35414d4217950ce'] = 'Message transmis à';
$_LANGADM['AdminCustomerThreads240f3031f25601fa128bd4e15f0a37de'] = 'Commentaire'; $_LANGADM['AdminCustomerThreads240f3031f25601fa128bd4e15f0a37de'] = 'Commentaire';
$_LANGADM['AdminCustomerThreads518f0adf73dca7abeebc9c3a85352cfc'] = 'Pas de nouveau message'; $_LANGADM['AdminCustomerThreads518f0adf73dca7abeebc9c3a85352cfc'] = 'Pas de nouveau message';
@@ -607,6 +625,10 @@ $_LANGADM['AdminCustomerThreadsd8a065ef1c8b81af153be321e200ace7'] = 'Commandes v
$_LANGADM['AdminCustomerThreadsd55669822f1a8cf72ec1911e462a54eb'] = 'pour'; $_LANGADM['AdminCustomerThreadsd55669822f1a8cf72ec1911e462a54eb'] = 'pour';
$_LANGADM['AdminCustomerThreads49ee3087348e8d44e1feda1917443987'] = 'Nom'; $_LANGADM['AdminCustomerThreads49ee3087348e8d44e1feda1917443987'] = 'Nom';
$_LANGADM['AdminCustomerThreads694e8d1f2ee056f98ee488bdc4982d73'] = 'Quantité'; $_LANGADM['AdminCustomerThreads694e8d1f2ee056f98ee488bdc4982d73'] = 'Quantité';
$_LANGADM['AdminCustomerThreadsd8e87c0927539672f54462c837be0b7f'] = 'Synchroniser';
$_LANGADM['AdminCustomerThreadsa19330a6fc36ebae6683cc023e295687'] = 'Exécutez la synchronisation';
$_LANGADM['AdminCustomerThreads22009610f18142abea939bc2f1836a81'] = 'Cliquez pour synchroniser les mails automatiquement';
$_LANGADM['AdminCustomerThreads1e65b02f3464a517e0946a46d496327c'] = 'Synchronisation avec succès';
$_LANGADM['AdminCustomersd1457b72c3fb323a2671125aef3eab5d'] = '?'; $_LANGADM['AdminCustomersd1457b72c3fb323a2671125aef3eab5d'] = '?';
$_LANGADM['AdminCustomersb718adec73e04ce3ec720dd11a06a308'] = 'ID'; $_LANGADM['AdminCustomersb718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_LANGADM['AdminCustomers019ec3132cdf8ee0f2e2a75cf5d3e459'] = 'Sexe'; $_LANGADM['AdminCustomers019ec3132cdf8ee0f2e2a75cf5d3e459'] = 'Sexe';
@@ -919,6 +941,19 @@ $_LANGADM['AdminFeaturesValues6252c0f2c2ed83b7b06dfca86d4650bb'] = 'Caractères
$_LANGADM['AdminFeaturesValuesb07e7131a6007b2a1a765bdd0e1e4894'] = 'Caractéristique :'; $_LANGADM['AdminFeaturesValuesb07e7131a6007b2a1a765bdd0e1e4894'] = 'Caractéristique :';
$_LANGADM['AdminFeaturesValues38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer'; $_LANGADM['AdminFeaturesValues38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer';
$_LANGADM['AdminFeaturesValues19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis'; $_LANGADM['AdminFeaturesValues19f823c6453c2b1ffd09cb715214813d'] = 'Champs requis';
$_LANGADM['AdminGendersb718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_LANGADM['AdminGenders49ee3087348e8d44e1feda1917443987'] = 'Nom';
$_LANGADM['AdminGendersa1fa27779242b4902f7ae3bdd5c6d508'] = 'Type';
$_LANGADM['AdminGenders63889cfb9d3cbe05d1bd2be5cc9953fd'] = 'Homme';
$_LANGADM['AdminGendersb719ce180ec7bd9641fece2f920f4817'] = 'Femme';
$_LANGADM['AdminGendersbe53a0541a6d36f6ecb879fa2c584b08'] = 'Image';
$_LANGADM['AdminGenders019ec3132cdf8ee0f2e2a75cf5d3e459'] = 'Sexe';
$_LANGADM['AdminGenders4e140ba723a03baa6948340bf90e2ef6'] = 'Nom:';
$_LANGADM['AdminGenders6252c0f2c2ed83b7b06dfca86d4650bb'] = 'Caractères invalides:';
$_LANGADM['AdminGenderse659b52eba1f0299b2d8ca3483919e72'] = 'Type:';
$_LANGADM['AdminGenders461900b74731e07320ca79366df3e809'] = 'Image:';
$_LANGADM['AdminGenders38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer';
$_LANGADM['AdminGenders19f823c6453c2b1ffd09cb715214813d'] = 'Champ obligatoire';
$_LANGADM['AdminGeneratorad11acdc8759d7a20ca3b868a8db30ae'] = 'Génération du fichier Htaccess'; $_LANGADM['AdminGeneratorad11acdc8759d7a20ca3b868a8db30ae'] = 'Génération du fichier Htaccess';
$_LANGADM['AdminGenerator3f3e336e2f1fa10375efd923fca18b55'] = 'Avertissement :'; $_LANGADM['AdminGenerator3f3e336e2f1fa10375efd923fca18b55'] = 'Avertissement :';
$_LANGADM['AdminGenerator620da2256fdfaa8c903cc870221450ca'] = 'cet outil peut SEULEMENT être utilisé si vous êtes hébergé par un serveur web Apache. Merci de demander à votre hébergeur.'; $_LANGADM['AdminGenerator620da2256fdfaa8c903cc870221450ca'] = 'cet outil peut SEULEMENT être utilisé si vous êtes hébergé par un serveur web Apache. Merci de demander à votre hébergeur.';
@@ -990,6 +1025,9 @@ $_LANGADM['AdminGroupShop24a23d787190f2c4812ff9ab11847a72'] = 'Statut:';
$_LANGADM['AdminGroupShop37c0e2b9736bc4cc2005f7be3fd66fe5'] = 'Activer ou désactiver la boutique'; $_LANGADM['AdminGroupShop37c0e2b9736bc4cc2005f7be3fd66fe5'] = 'Activer ou désactiver la boutique';
$_LANGADM['AdminGroupShop38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer'; $_LANGADM['AdminGroupShop38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer';
$_LANGADM['AdminGroupShop19f823c6453c2b1ffd09cb715214813d'] = 'Champ obligatoire'; $_LANGADM['AdminGroupShop19f823c6453c2b1ffd09cb715214813d'] = 'Champ obligatoire';
$_LANGADM['AdminGroupShop775a3ab6add326ef93f2382f49f9e500'] = 'Groupes d\'attributs';
$_LANGADM['AdminGroupShop287234a1ff35a314b5b6bc4e5828e745'] = 'Attributs';
$_LANGADM['AdminGroupShopdad1f8d794ee0dd7753fe75e73b78f31'] = 'Zones';
$_LANGADM['AdminGroupShop817b32b9fa482c23e9413b150b5e6d47'] = 'Ajouter un nouveau groupe de boutiques'; $_LANGADM['AdminGroupShop817b32b9fa482c23e9413b150b5e6d47'] = 'Ajouter un nouveau groupe de boutiques';
$_LANGADM['AdminGroupsb718adec73e04ce3ec720dd11a06a308'] = 'ID'; $_LANGADM['AdminGroupsb718adec73e04ce3ec720dd11a06a308'] = 'ID';
$_LANGADM['AdminGroups49ee3087348e8d44e1feda1917443987'] = 'Nom'; $_LANGADM['AdminGroups49ee3087348e8d44e1feda1917443987'] = 'Nom';
@@ -2299,11 +2337,6 @@ $_LANGADM['AdminProducts943395f3cd91fd71f4800c5319e68d35'] = 'Supprimer toutes l
$_LANGADM['AdminProductsf22c10907735de8cabc370b142d6764a'] = 'Encore aucune déclinaison'; $_LANGADM['AdminProductsf22c10907735de8cabc370b142d6764a'] = 'Encore aucune déclinaison';
$_LANGADM['AdminProductsf9c128cbc52bb845834c0d3e62b424ea'] = 'La ligne en bleu est la déclinaison par défaut.'; $_LANGADM['AdminProductsf9c128cbc52bb845834c0d3e62b424ea'] = 'La ligne en bleu est la déclinaison par défaut.';
$_LANGADM['AdminProducts55110f4c6a2c90b143c6fcd295cb7bc7'] = 'Une déclinaison par défaut doit être désignée pour chaque produit.'; $_LANGADM['AdminProducts55110f4c6a2c90b143c6fcd295cb7bc7'] = 'Une déclinaison par défaut doit être désignée pour chaque produit.';
$_LANGADM['AdminProducts898b68dce7b68f9b08d6de76e268f650'] = 'Palette de coloris :';
$_LANGADM['AdminProductsd675f4bde587d86ab74ba5ca17e06e3d'] = 'Ne pas afficher';
$_LANGADM['AdminProductse0aa021e21dddbd6d8cecec71e9cf564'] = 'OK';
$_LANGADM['AdminProducts9efcd637794d273467448a11c9b93446'] = 'Gestion des attributs couleur';
$_LANGADM['AdminProductsb2764723575b7c88c1b21c89ee8871e8'] = 'Activer le choix du coloris en sélectionnant un groupe d\'attributs de couleur.';
$_LANGADM['AdminProductsddca89873b6cb1ff542e03163dfd179c'] = 'Vous devez enregistrer ce produit avant de pouvoir ajouter des déclinaison.'; $_LANGADM['AdminProductsddca89873b6cb1ff542e03163dfd179c'] = 'Vous devez enregistrer ce produit avant de pouvoir ajouter des déclinaison.';
$_LANGADM['AdminProductsc7c2169d380b95e2e3672037c5ace793'] = 'Attribuer des caractéristiques à ce produit'; $_LANGADM['AdminProductsc7c2169d380b95e2e3672037c5ace793'] = 'Attribuer des caractéristiques à ce produit';
$_LANGADM['AdminProductsf41afefb4495b85c7b7ddf3e1ca4387f'] = 'Vous pouvez spécifier une valeur pour chaque caractéristique pertinente concernant ce produit, les champs vides ne seront pas affichés.'; $_LANGADM['AdminProductsf41afefb4495b85c7b7ddf3e1ca4387f'] = 'Vous pouvez spécifier une valeur pour chaque caractéristique pertinente concernant ce produit, les champs vides ne seront pas affichés.';
@@ -2955,9 +2988,6 @@ $_LANGADM['AdminThemes93af5f35c247e0e814bd676249f60b62'] = 'Caractère de sépar
$_LANGADM['AdminThemesf2284dabeee8efb9617fbb0f05883adb'] = 'Utilisé pour le chemin de navigation dans les catégories et les produits'; $_LANGADM['AdminThemesf2284dabeee8efb9617fbb0f05883adb'] = 'Utilisé pour le chemin de navigation dans les catégories et les produits';
$_LANGADM['AdminThemesbbb572a770006c9e0e57c9e5d4bcda90'] = 'En direct de Prestashop Addons !'; $_LANGADM['AdminThemesbbb572a770006c9e0e57c9e5d4bcda90'] = 'En direct de Prestashop Addons !';
$_LANGADM['AdminThemes0ac3a6bb56ca9b829859b5c12040e3a0'] = 'Trouvez de nouveaux thèmes sur Prestashop Addons !'; $_LANGADM['AdminThemes0ac3a6bb56ca9b829859b5c12040e3a0'] = 'Trouvez de nouveaux thèmes sur Prestashop Addons !';
$_LANGADM['AdminTools442824e37ecd2fe5b938869e10e85d79'] = 'Outils de la boutique';
$_LANGADM['AdminToolsfd35692a2d43d6ee7b7417e7e4fe40d4'] = 'Plusieurs outils sont disponibles afin de gérer votre boutique.';
$_LANGADM['AdminToolsbae42c77a464b87efd72350dfa7c3a93'] = 'Veuillez en choisir un via les sous-onglets juste au-dessus !';
$_LANGADM['AdminTrackinge53d0648d344037610407a88c1389ca1'] = 'Suivi du catalogue'; $_LANGADM['AdminTrackinge53d0648d344037610407a88c1389ca1'] = 'Suivi du catalogue';
$_LANGADM['AdminTracking428a70e43c5371126c0fb675e98c61d5'] = 'Liste des catégories vides :'; $_LANGADM['AdminTracking428a70e43c5371126c0fb675e98c61d5'] = 'Liste des catégories vides :';
$_LANGADM['AdminTracking1679821fd0e65d65924aa77e56068814'] = 'Liste des produits désactivés :'; $_LANGADM['AdminTracking1679821fd0e65d65924aa77e56068814'] = 'Liste des produits désactivés :';