first commit
This commit is contained in:
157
modules/leobootstrapmenu/classes/widget/tabhtml.php
Normal file
157
modules/leobootstrapmenu/classes/widget/tabhtml.php
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
/**
|
||||
* 2007-2015 Leotheme
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* Leo Bootstrap Menu
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* @author leotheme <leotheme@gmail.com>
|
||||
* @copyright 2007-2015 Leotheme
|
||||
* @license http://leotheme.com - prestashop template provider
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_')) {
|
||||
# module validation
|
||||
exit;
|
||||
}
|
||||
|
||||
class LeoWidgetTabHTML extends LeoWidgetBase
|
||||
{
|
||||
public $name = 'tabhtml';
|
||||
public $for_module = 'all';
|
||||
|
||||
public function getWidgetInfo()
|
||||
{
|
||||
return array('label' => $this->l('HTML Tab'), 'explain' => $this->l('Create HTML Tab'));
|
||||
}
|
||||
|
||||
public function renderForm($args, $data)
|
||||
{
|
||||
# validate module
|
||||
unset($args);
|
||||
$helper = $this->getFormHelper();
|
||||
|
||||
$this->fields_form[1]['form'] = array(
|
||||
'legend' => array(
|
||||
'title' => $this->l('Widget Form'),
|
||||
),
|
||||
'input' => array(
|
||||
array(
|
||||
'type' => 'text',
|
||||
'label' => $this->l('Number of HTML Tab'),
|
||||
'name' => 'nbtabhtml',
|
||||
'default' => 5,
|
||||
'desc' => $this->l('Enter a number greater 0')
|
||||
)
|
||||
),
|
||||
'buttons' => array(
|
||||
array(
|
||||
'title' => $this->l('Save And Stay'),
|
||||
'icon' => 'process-icon-save',
|
||||
'class' => 'pull-right',
|
||||
'type' => 'submit',
|
||||
'name' => 'saveandstayleowidget'
|
||||
),
|
||||
array(
|
||||
'title' => $this->l('Save'),
|
||||
'icon' => 'process-icon-save',
|
||||
'class' => 'pull-right',
|
||||
'type' => 'submit',
|
||||
'name' => 'saveleowidget'
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
if (!isset($data['params']['nbtabhtml']) || !$data['params']['nbtabhtml']) {
|
||||
$nbtabhtml = 5;
|
||||
} else {
|
||||
$nbtabhtml = $data['params']['nbtabhtml'];
|
||||
}
|
||||
for ($i = 1; $i <= $nbtabhtml; $i++) {
|
||||
$tmpArray = array(
|
||||
'type' => 'text',
|
||||
'label' => $this->l('Title '.$i),
|
||||
'name' => 'title_'.$i,
|
||||
'default' => 'Title Sample '.$i,
|
||||
'lang' => true
|
||||
);
|
||||
$this->fields_form[1]['form']['input'][] = $tmpArray;
|
||||
$tmpArray = array(
|
||||
'type' => 'textarea',
|
||||
'label' => $this->l('Content '.$i),
|
||||
'name' => 'content_'.$i,
|
||||
'default' => 'Content Sample '.$i,
|
||||
'cols' => 40,
|
||||
'rows' => 10,
|
||||
'value' => true,
|
||||
'lang' => true,
|
||||
'autoload_rte' => true,
|
||||
'desc' => $this->l('Enter Content '.$i)
|
||||
);
|
||||
$this->fields_form[1]['form']['input'][] = $tmpArray;
|
||||
}
|
||||
//$this->fields_form[1]['form']['input'][] = $tmpArray;
|
||||
|
||||
$default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
|
||||
|
||||
$helper->tpl_vars = array(
|
||||
'fields_value' => $this->getConfigFieldsValues($data),
|
||||
'languages' => Context::getContext()->controller->getLanguages(),
|
||||
'id_language' => $default_lang
|
||||
);
|
||||
|
||||
return $helper->generateForm($this->fields_form);
|
||||
}
|
||||
|
||||
public function renderContent($args, $setting)
|
||||
{
|
||||
# validate module
|
||||
unset($args);
|
||||
$content = '';
|
||||
|
||||
$tabs = array();
|
||||
$languageID = Context::getContext()->language->id;
|
||||
|
||||
for ($i = 1; $i <= $setting['nbtabhtml']; $i++) {
|
||||
$title = isset($setting['title_'.$i.'_'.$languageID]) ? Tools::stripslashes($setting['title_'.$i.'_'.$languageID]) : '';
|
||||
|
||||
if (!empty($title)) {
|
||||
$content = isset($setting['content_'.$i.'_'.$languageID]) ? Tools::stripslashes($setting['content_'.$i.'_'.$languageID]) : '';
|
||||
$tabs[] = array('title' => trim($title), 'content' => trim($content));
|
||||
}
|
||||
}
|
||||
$setting['tabhtmls'] = $tabs;
|
||||
$setting['id'] = rand() + count($tabs);
|
||||
|
||||
$output = array('type' => 'tabhtml', 'data' => $setting);
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* 0 no multi_lang
|
||||
* 1 multi_lang follow id_lang
|
||||
* 2 multi_lnag follow code_lang
|
||||
*/
|
||||
public function getConfigKey($multi_lang = 0)
|
||||
{
|
||||
if ($multi_lang == 0) {
|
||||
return array(
|
||||
'nbtabhtml',
|
||||
);
|
||||
} elseif ($multi_lang == 1) {
|
||||
$number_html = Tools::getValue('nbtabhtml');
|
||||
$array = array();
|
||||
for ($i = 1; $i <= $number_html; $i++) {
|
||||
$array[] = 'title_'.$i;
|
||||
$array[] = 'content_'.$i;
|
||||
}
|
||||
return $array;
|
||||
} elseif ($multi_lang == 2) {
|
||||
return array(
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user