From b7045b998ae0c47fdba37d100306c11aa5256b8f Mon Sep 17 00:00:00 2001 From: Vincent Augagneur Date: Fri, 20 Sep 2013 16:41:31 +0200 Subject: [PATCH] //blocknewproducts now use boostrap design --- modules/blocknewproducts/blocknewproducts.php | 110 ++++++++++++------ 1 file changed, 77 insertions(+), 33 deletions(-) diff --git a/modules/blocknewproducts/blocknewproducts.php b/modules/blocknewproducts/blocknewproducts.php index ae04a77ee..f378505be 100644 --- a/modules/blocknewproducts/blocknewproducts.php +++ b/modules/blocknewproducts/blocknewproducts.php @@ -66,47 +66,23 @@ class BlockNewProducts extends Module public function getContent() { - $output = '

'.$this->displayName.'

'; + $output = ''; if (Tools::isSubmit('submitBlockNewProducts')) { - if (!($productNbr = Tools::getValue('productNbr')) || empty($productNbr)) - $output .= '
'.$this->l('Please complete the "products to display" field.').'
'; + if (!($productNbr = Tools::getValue('NEW_PRODUCTS_NBR')) || empty($productNbr)) + $output .= $this->displayError($this->l('Please complete the "products to display" field.')); elseif ((int)($productNbr) == 0) - $output .= '
'.$this->l('Invalid number.').'
'; + $output .= $this->displayError($this->l('Invalid number.')); else { - Configuration::updateValue('PS_BLOCK_NEWPRODUCTS_DISPLAY', (int)(Tools::getValue('always_display'))); + Configuration::updateValue('PS_BLOCK_NEWPRODUCTS_DISPLAY', (int)(Tools::getValue('PS_BLOCK_NEWPRODUCTS_DISPLAY'))); Configuration::updateValue('NEW_PRODUCTS_NBR', (int)($productNbr)); - $output .= '
'.$this->l('Settings updated').'
'; + $output .= $this->displayConfirmation($this->l('Settings updated')); } } - return $output.$this->displayForm(); + return $output.$this->renderForm(); } - - public function displayForm() - { - $output = ' -
-
'.$this->l('Settings').' - -
- -

'.$this->l('Define the number of products to be displayed in this block.').'

-
- -
- - - - -

'.$this->l('Show the block even if no products are available.').'

-
-
-
-
'; - return $output; - } - + public function hookRightColumn($params) { if (!$this->isCached('blocknewproducts.tpl', $this->getCacheId())) @@ -154,4 +130,72 @@ class BlockNewProducts extends Module { $this->_clearCache('blocknewproducts.tpl'); } -} + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'text', + 'label' => $this->l('Products to display'), + 'name' => 'NEW_PRODUCTS_NBR', + 'class' => 'fixed-width-xs', + 'desc' => $this->l('Define the number of products to be displayed in this block.') + ), + array( + 'type' => 'switch', + 'label' => $this->l('Always display this block'), + 'name' => 'PS_BLOCK_NEWPRODUCTS_DISPLAY', + 'desc' => $this->l('Show the block even if no products are available.'), + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ) + ), + 'submit' => array( + 'title' => $this->l('Save'), + 'class' => 'btn btn-primary') + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitBlockNewProducts'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'PS_BLOCK_NEWPRODUCTS_DISPLAY' => Tools::getValue('PS_BLOCK_NEWPRODUCTS_DISPLAY', Configuration::get('PS_BLOCK_NEWPRODUCTS_DISPLAY')), + 'NEW_PRODUCTS_NBR' => Tools::getValue('NEW_PRODUCTS_NBR', Configuration::get('NEW_PRODUCTS_NBR')), + ); + } +} \ No newline at end of file