diff --git a/admin-dev/themes/template/products/form.tpl b/admin-dev/themes/template/products/form.tpl
index 3352c8d31..8671a6c84 100644
--- a/admin-dev/themes/template/products/form.tpl
+++ b/admin-dev/themes/template/products/form.tpl
@@ -68,7 +68,7 @@ var tabs_toolbar_save_buttons = [];
{/foreach}
$(document).ready(function(){
- $('#desc-product-newCombinaison').hide();
+ $('#desc-product-newCombination').hide();
{* submenu binding *}
$(".tab-page").click(function(e){
e.preventDefault();
@@ -130,7 +130,7 @@ $(document).ready(function(){
if (btn_name == "Combinations")
{
$('#desc-product-new').hide();
- $('#desc-product-newCombinaison').show();
+ $('#desc-product-newCombination').show();
populate_attrs();
}
else if (btn_name == 'Attachments')
diff --git a/classes/AdminController.php b/classes/AdminController.php
index 30b467f7d..5ea389a69 100644
--- a/classes/AdminController.php
+++ b/classes/AdminController.php
@@ -80,6 +80,7 @@ class AdminControllerCore extends Controller
public $tpl_view_vars = array();
public $base_tpl_view = null;
+ public $base_tpl_form = null;
/** @var bool if you want more fieldsets in the form */
public $multiple_fieldsets = false;
@@ -1430,6 +1431,7 @@ class AdminControllerCore extends Controller
$this->setHelperDisplay($helper);
$helper->fields_value = $this->getFieldsValue($this->object);
$helper->tpl_vars = $this->tpl_form_vars;
+ !is_null($this->base_tpl_form) ? $helper->base_tpl = $this->base_tpl_form : '';
if ($this->tabAccess['view'])
{
if (Tools::getValue('back'))
@@ -2014,7 +2016,7 @@ class AdminControllerCore extends Controller
if (isset($fieldset['form']['input']))
foreach ($fieldset['form']['input'] as $input)
if (empty($this->fields_value[$input['name']]))
- if ($input['type'] == 'group_shop' || $input['type'] == 'shop')
+ if (isset($input['type']) && ($input['type'] == 'group_shop' || $input['type'] == 'shop'))
{
if ($obj->id)
{
diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php
index f76492e66..2acdb725a 100644
--- a/controllers/admin/AdminProductsController.php
+++ b/controllers/admin/AdminProductsController.php
@@ -363,7 +363,7 @@ class AdminProductsControllerCore extends AdminController
$product->active = 0;
if ($product->add()
&& Category::duplicateProductCategories($id_product_old, $product->id)
- && ($combinationImages = Product::duplicateAttributes($id_product_old, $product->id)) !== false
+ && ($combination_images = Product::duplicateAttributes($id_product_old, $product->id)) !== false
&& GroupReduction::duplicateReduction($id_product_old, $product->id)
&& Product::duplicateAccessories($id_product_old, $product->id)
&& Product::duplicateFeatures($id_product_old, $product->id)
@@ -377,7 +377,7 @@ class AdminProductsControllerCore extends AdminController
if ($product->hasAttributes())
Product::updateDefaultAttribute($product->id);
- if (!Tools::getValue('noimage') && !Image::duplicateProductImages($id_product_old, $product->id, $combinationImages))
+ if (!Tools::getValue('noimage') && !Image::duplicateProductImages($id_product_old, $product->id, $combination_images))
$this->_errors[] = Tools::displayError('An error occurred while copying images.');
else
{
@@ -1899,7 +1899,7 @@ class AdminProductsControllerCore extends AdminController
'desc' => $this->l('Create'),
);
- $this->toolbar_btn['newCombinaison'] = array(
+ $this->toolbar_btn['newCombination'] = array(
'short' => 'Add a new combination',
'desc' => $this->l('Add a new combination'),
'class' => 'toolbar-new'
@@ -1943,7 +1943,7 @@ class AdminProductsControllerCore extends AdminController
$defaultLanguage = (int)(Configuration::get('PS_LANG_DEFAULT'));
$this->tpl_form_vars['currentIndex'] = self::$currentIndex;
- $this->fields_form = array("pouet"=>"eh oui");
+ $this->fields_form = array('');
$this->addJs(_PS_JS_DIR_.'attributesBack.js');
$this->display = 'edit';
$this->addJqueryUI('ui.datepicker');
@@ -2649,7 +2649,7 @@ class AdminProductsControllerCore extends AdminController
}
public function initFormAttachments($obj, $languages, $defaultLanguage)
- {
+ {
$content = '';
if (!($obj = $this->loadObject(true)))
return;
@@ -2720,6 +2720,7 @@ class AdminProductsControllerCore extends AdminController
';
$this->tpl_form_vars['custom_form'] = $content;
+
}
public function initFormInformations($product, $languages, $defaultLanguage)
@@ -2908,8 +2909,8 @@ class AdminProductsControllerCore extends AdminController
if ($postAccessories = Tools::getValue('inputAccessories'))
{
$postAccessoriesTab = explode('-', Tools::getValue('inputAccessories'));
- foreach ($postAccessoriesTab as $accessoryId)
- if (!$this->haveThisAccessory($accessoryId, $accessories) && $accessory = Product::getAccessoryById($accessoryId))
+ foreach ($postAccessoriesTab as $accessory_id)
+ if (!$this->haveThisAccessory($accessory_id, $accessories) && $accessory = Product::getAccessoryById($accessory_id))
$accessories[] = $accessory;
}
$data->assign('accessories', $accessories);
@@ -2921,7 +2922,7 @@ class AdminProductsControllerCore extends AdminController
// TinyMCE
$iso_tiny_mce = $this->context->language->iso_code;
$iso_tiny_mce = (file_exists(_PS_JS_DIR_.'tiny_mce/langs/'.$iso_tiny_mce.'.js') ? $iso_tiny_mce : 'en');
- $data->assign('ad', dirname($_SERVER["PHP_SELF"]));
+ $data->assign('ad', dirname($_SERVER['PHP_SELF']));
$data->assign('iso_tiny_mce', $iso_tiny_mce);
$categoryBox = Tools::getValue('categoryBox', array());
$data->assign('product', $product);
@@ -3111,7 +3112,7 @@ class AdminProductsControllerCore extends AdminController
$combArray = array();
if (is_array($combinaisons))
{
- $combinationImages = $product->getCombinationImages($this->context->language->id);
+ $combination_images = $product->getCombinationImages($this->context->language->id);
foreach ($combinaisons as $k => $combinaison)
{
if ($currency->format % 2 != 0)
@@ -3129,7 +3130,7 @@ class AdminProductsControllerCore extends AdminController
$combArray[$combinaison['id_product_attribute']]['reference'] = $combinaison['reference'];
$combArray[$combinaison['id_product_attribute']]['ean13'] = $combinaison['ean13'];
$combArray[$combinaison['id_product_attribute']]['upc'] = $combinaison['upc'];
- $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combinationImages[$combinaison['id_product_attribute']][0]['id_image']) ? $combinationImages[$combinaison['id_product_attribute']][0]['id_image'] : 0;
+ $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combination_images[$combinaison['id_product_attribute']][0]['id_image']) ? $combination_images[$combinaison['id_product_attribute']][0]['id_image'] : 0;
$combArray[$combinaison['id_product_attribute']]['available_date'] = strftime($combinaison['available_date']);
$combArray[$combinaison['id_product_attribute']]['default_on'] = $combinaison['default_on'];
/*$combArray[$combinaison['id_product_attribute']]['minimal_quantity'] = $combinaison['minimal_quantity'];
@@ -3262,7 +3263,7 @@ class AdminProductsControllerCore extends AdminController
$groups = array();
if (is_array($combinaisons))
{
- $combinationImages = $product->getCombinationImages($this->context->language->id);
+ $combination_images = $product->getCombinationImages($this->context->language->id);
foreach ($combinaisons as $k => $combinaison)
{
$combArray[$combinaison['id_product_attribute']]['wholesale_price'] = $combinaison['wholesale_price'];
@@ -3274,7 +3275,7 @@ class AdminProductsControllerCore extends AdminController
$combArray[$combinaison['id_product_attribute']]['upc'] = $combinaison['upc'];
$combArray[$combinaison['id_product_attribute']]['minimal_quantity'] = $combinaison['minimal_quantity'];
$combArray[$combinaison['id_product_attribute']]['available_date'] = strftime($combinaison['available_date']);
- $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combinationImages[$combinaison['id_product_attribute']][0]['id_image']) ? $combinationImages[$combinaison['id_product_attribute']][0]['id_image'] : 0;
+ $combArray[$combinaison['id_product_attribute']]['id_image'] = isset($combination_images[$combinaison['id_product_attribute']][0]['id_image']) ? $combination_images[$combinaison['id_product_attribute']][0]['id_image'] : 0;
$combArray[$combinaison['id_product_attribute']]['default_on'] = $combinaison['default_on'];
$combArray[$combinaison['id_product_attribute']]['ecotax'] = $combinaison['ecotax'];
$combArray[$combinaison['id_product_attribute']]['attributes'][] = array($combinaison['group_name'], $combinaison['attribute_name'], $combinaison['id_attribute']);
@@ -3699,20 +3700,20 @@ class AdminProductsControllerCore extends AdminController
$content = 'var combination_images = new Array();';
if (!$allCombinationImages = $obj->getCombinationImages($this->context->language->id))
return $content;
- foreach ($allCombinationImages as $id_product_attribute => $combinationImages)
+ foreach ($allCombinationImages as $id_product_attribute => $combination_images)
{
$i = 0;
- $content .= 'combination_images['.(int)($id_product_attribute).'] = new Array();';
- foreach ($combinationImages as $combinationImage)
- $content .= 'combination_images['.(int)($id_product_attribute).']['.$i++.'] = '.(int)($combinationImage['id_image']).';';
+ $content .= 'combination_images['.(int)$id_product_attribute.'] = new Array();';
+ foreach ($combination_images as $combination_image)
+ $content .= 'combination_images['.(int)$id_product_attribute.']['.$i++.'] = '.(int)$combination_image['id_image'].';';
}
return $content;
}
- public function haveThisAccessory($accessoryId, $accessories)
+ public function haveThisAccessory($accessory_id, $accessories)
{
foreach ($accessories as $accessory)
- if ((int)($accessory['id_product']) == (int)($accessoryId))
+ if ((int)$accessory['id_product'] == (int)$accessory_id)
return true;
return false;
}
@@ -3723,19 +3724,19 @@ class AdminProductsControllerCore extends AdminController
$product->packItems = Pack::getItems($product->id, $this->context->language->id);
$input_pack_items = '';
- if(Tools::getValue('inputPackItems'))
+ if (Tools::getValue('inputPackItems'))
$input_pack_items = Tools::getValue('inputPackItems');
else
- foreach ($product->packItems as $packItem)
- $input_pack_items .= $packItem->pack_quantity.'x'.$packItem->id.'-';
+ foreach ($product->packItems as $pack_item)
+ $input_pack_items .= $pack_item->pack_quantity.'x'.$pack_item->id.'-';
$this->tpl_form_vars['input_pack_items'] = $input_pack_items;
$input_namepack_items = '';
if (Tools::getValue('namePackItems'))
$input_namepack_items = Tools::getValue('namePackItems');
else
- foreach ($product->packItems as $packItem)
- $input_namepack_items.= $packItem->pack_quantity.' x '.$packItem->name.'¤';
+ foreach ($product->packItems as $pack_item)
+ $input_namepack_items .= $pack_item->pack_quantity.' x '.$pack_item->name.'¤';
$this->tpl_form_vars['input_namepack_items'] = $input_namepack_items;
}
@@ -3749,14 +3750,14 @@ class AdminProductsControllerCore extends AdminController
$items = Tools::getValue('inputPackItems');
$lines = array_unique(explode('-', $items));
// lines is an array of string with format : QTYxID
- if(count($lines))
+ if (count($lines))
foreach ($lines as $line)
if (!empty($line))
{
list($qty, $item_id) = explode('x', $line);
if ($qty > 0 && isset($item_id))
{
- if (!Pack::addItem((int)($product->id), (int)($item_id), (int)($qty)))
+ if (!Pack::addItem((int)$product->id, (int)$item_id, (int)$qty))
return false;
}
}
@@ -3786,7 +3787,8 @@ class AdminProductsControllerCore extends AdminController
*/
protected function loadObject($opt = false)
{
- if ($id = (int)(Tools::getValue($this->identifier)) AND Validate::isUnsignedId($id))
+ $id = (int)Tools::getValue($this->identifier);
+ if ($id && Validate::isUnsignedId($id))
{
if (!$this->object)
$this->object = new $this->className($id);
@@ -3816,19 +3818,25 @@ class AdminProductsControllerCore extends AdminController
{
parent::setMedia();
- $this->addjQueryPlugin('fileuploader');
-
- $this->addJqueryUI(array(
- 'ui.core',
- 'ui.widget',
- 'ui.progressbar'
- ));
-
- $this->addJS(array(
- _PS_JS_DIR_.'admin-products.js',
- _PS_JS_DIR_.'price.js',
- _PS_JS_DIR_.'tiny_mce/tiny_mce.js',
- _PS_JS_DIR_.'tinymce.inc.js'
- ));
+ if ($this->display == 'edit' || $this->display == 'add')
+ {
+ $this->addjQueryPlugin(array(
+ 'fileuploader',
+ 'autocomplete'
+ ));
+
+ $this->addJqueryUI(array(
+ 'ui.core',
+ 'ui.widget',
+ 'ui.progressbar'
+ ));
+
+ $this->addJS(array(
+ _PS_JS_DIR_.'admin-products.js',
+ _PS_JS_DIR_.'price.js',
+ _PS_JS_DIR_.'tiny_mce/tiny_mce.js',
+ _PS_JS_DIR_.'tinymce.inc.js'
+ ));
+ }
}
}
diff --git a/js/admin-products.js b/js/admin-products.js
index c3da50962..6b4592f1b 100644
--- a/js/admin-products.js
+++ b/js/admin-products.js
@@ -23,37 +23,37 @@
* International Registered Trademark & Property of PrestaShop SA
*/
-/* Combinaition */
+/* Combination */
var posC = true;
$(document).ready(function() {
- $('#desc-product-newCombinaison').click(function() {
+ $('#desc-product-newCombination').click(function() {
if (posC == true)
- removeButtonCombinaison('add');
+ removeButtonCombination('add');
else
- addButtonCombinaison('add');
+ addButtonCombination('add');
});
});
-function removeButtonCombinaison(item)
+function removeButtonCombination(item)
{
$('#add_new_combination').show();
- $('.process-icon-newCombinaison').removeClass('toolbar-new');
- $('.process-icon-newCombinaison').addClass('toolbar-cancel');
+ $('.process-icon-newCombination').removeClass('toolbar-new');
+ $('.process-icon-newCombination').addClass('toolbar-cancel');
$('#submitProductAttribute').val($('#submitProductAttribute').attr(item));
- $('#desc-product-newCombinaison div').html($('#ResetBtn').val());
+ $('#desc-product-newCombination div').html($('#ResetBtn').val());
$('id_product_attribute').val(0);
init_elems();
posC = false;
}
-function addButtonCombinaison(item)
+function addButtonCombination(item)
{
$('#add_new_combination').hide();
- $('.process-icon-newCombinaison').removeClass('toolbar-cancel');
- $('.process-icon-newCombinaison').addClass('toolbar-new');
+ $('.process-icon-newCombination').removeClass('toolbar-cancel');
+ $('.process-icon-newCombination').addClass('toolbar-new');
$('#submitProductAttribute').val($('#submitProductAttribute').attr(item));
- $('#desc-product-newCombinaison div').html($('#submitProductAttribute').val());
+ $('#desc-product-newCombination div').html($('#submitProductAttribute').val());
posC = true;
}
@@ -140,7 +140,7 @@ function editProductAttribute(ids, token)
$('#add_new_combination').show();
$('#attribute_quantity').show();
$('#product_att_list').html('');
- removeButtonCombinaison('update');
+ removeButtonCombination('update');
$.scrollTo('#add_new_combination', 1200, { offset: -100 });
var wholesale_price = Math.abs(data[0]['wholesale_price']);
@@ -202,7 +202,7 @@ function editProductAttribute(ids, token)
}
});
}
-/* END Combinaition */
+/* END Combination */
function addPackItem()
{