form option alignement + gabarit
This commit is contained in:
parent
30edec7ff7
commit
29ba48850c
@ -79,22 +79,26 @@ class form extends common {
|
||||
'100' => '100%'
|
||||
];
|
||||
|
||||
public static $formOffset = [
|
||||
'none' => 'Aucune',
|
||||
'1' => 'Une colonne',
|
||||
'2' => 'Deux colonnes',
|
||||
'3' => 'Trois colonnes',
|
||||
'4' => 'Quatre colonnes',
|
||||
public static $optionOffset = [
|
||||
0 => 'Aucune',
|
||||
1 => 'Une colonne',
|
||||
2 => 'Deux colonnes'
|
||||
];
|
||||
|
||||
public static $formWidth = [
|
||||
'6' => 'Six colonne',
|
||||
'7' => 'Sept colonnes',
|
||||
'8' => 'Huit colonnes',
|
||||
'9' => 'Neuf colonnes',
|
||||
'10' => 'Dix colonnes',
|
||||
'11' => 'Onze colonnes',
|
||||
'12' => 'Douze colonnes',
|
||||
public static $optionWidth = [
|
||||
6 => 'Six colonnes',
|
||||
7 => 'Sept colonnes',
|
||||
8 => 'Huit colonnes',
|
||||
9 => 'Neuf colonnes',
|
||||
10 => 'Dix colonnes',
|
||||
11 => 'Onze colonnes',
|
||||
12 => 'Douze colonnes',
|
||||
];
|
||||
|
||||
public static $optionAlign = [
|
||||
'' => 'A gauche',
|
||||
'textAlignCenter' => 'Au centre',
|
||||
'textAlignRight' => 'A droite'
|
||||
];
|
||||
|
||||
|
||||
@ -156,6 +160,12 @@ class form extends common {
|
||||
}
|
||||
// Soumission du formulaire
|
||||
if ($this->isPost()) {
|
||||
// Débordement
|
||||
$width = $this->getInput('formOptionWidth');
|
||||
if ($this->getInput('formOptionWidth',helper::FILTER_INT) + $this->getInput('formOptionOffset',helper::FILTER_INT) > 12 ) {
|
||||
$width = (string) $this->getInput('formOptionWidth',helper::FILTER_INT) - $this->getInput('formOptionOffset',helper::FILTER_INT);
|
||||
}
|
||||
|
||||
// Configuration
|
||||
$this->setData([
|
||||
'module',
|
||||
@ -172,7 +182,10 @@ class form extends common {
|
||||
'replyto' => $this->getInput('formOptionMailReplyTo', helper::FILTER_BOOLEAN),
|
||||
'signature' => $this->getInput('formOptionSignature'),
|
||||
'logoUrl' => $this->getInput('formOptionLogo'),
|
||||
'logoWidth' => $this->getInput('formOptionLogoWidth')
|
||||
'logoWidth' => $this->getInput('formOptionLogoWidth'),
|
||||
'offset' =>$this->getInput('formOptionOffset'),
|
||||
'width' =>$width,
|
||||
'align' =>$this->getInput('formOptionAlign'),
|
||||
]
|
||||
]);
|
||||
// Génération des données vides
|
||||
@ -181,7 +194,7 @@ class form extends common {
|
||||
}
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'notification' => 'Modifications enregistrées',
|
||||
'notification' => 'Modifications enregistrées' ,
|
||||
'redirect' => helper::baseUrl() . $this->getUrl(),
|
||||
'state' => true
|
||||
]);
|
||||
|
@ -1,69 +1,75 @@
|
||||
<?php if($this->getData(['module', $this->getUrl(0), 'input'])): ?>
|
||||
<div class="col10 offset1">
|
||||
<?php echo template::formOpen('formForm'); ?>
|
||||
<?php foreach($this->getData(['module', $this->getUrl(0), 'input']) as $index => $input): ?>
|
||||
<?php if($input['type'] === $module::TYPE_MAIL): ?>
|
||||
<?php echo template::mail('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_SELECT): ?>
|
||||
<?php
|
||||
$values = array_flip(explode(',', $input['values']));
|
||||
foreach($values as $value => $key) {
|
||||
$values[$value] = trim($value);
|
||||
}
|
||||
?>
|
||||
<?php echo template::select('formInput[' . $index . ']', $values, [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_TEXT): ?>
|
||||
<?php echo template::text('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_TEXTAREA): ?>
|
||||
<?php echo template::textarea('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_DATETIME): ?>
|
||||
<?php echo template::date('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name'],
|
||||
'vendor' => 'flatpickr'
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_CHECKBOX): ?>
|
||||
<?php echo template::checkbox('formInput[' . $index . ']', true, $input['name']
|
||||
); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_LABEL): ?>
|
||||
<h3 class='formLabel'>
|
||||
<?php echo $input['name']; ?>
|
||||
<hr class="formLabel">
|
||||
</h3>
|
||||
<div class="row <?php echo $this->getData(['module', $this->getUrl(0), 'config', 'align']);?>">
|
||||
<div class="<?php
|
||||
echo 'col' . $this->getData(['module', $this->getUrl(0), 'config', 'width']) . ' ';
|
||||
echo $this->getData(['module', $this->getUrl(0), 'config', 'offset']) !== 0 ? 'offset' . $this->getData(['module', $this->getUrl(0), 'config', 'offset']) : '';
|
||||
?>">
|
||||
<?php echo template::formOpen('formForm'); ?>
|
||||
<?php foreach($this->getData(['module', $this->getUrl(0), 'input']) as $index => $input): ?>
|
||||
<?php if($input['type'] === $module::TYPE_MAIL): ?>
|
||||
<?php echo template::mail('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_SELECT): ?>
|
||||
<?php
|
||||
$values = array_flip(explode(',', $input['values']));
|
||||
foreach($values as $value => $key) {
|
||||
$values[$value] = trim($value);
|
||||
}
|
||||
?>
|
||||
<?php echo template::select('formInput[' . $index . ']', $values, [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_TEXT): ?>
|
||||
<?php echo template::text('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_TEXTAREA): ?>
|
||||
<?php echo template::textarea('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name']
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_DATETIME): ?>
|
||||
<?php echo template::date('formInput[' . $index . ']', [
|
||||
'id' => 'formInput_' . $index,
|
||||
'label' => $input['name'],
|
||||
'vendor' => 'flatpickr'
|
||||
]); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_CHECKBOX): ?>
|
||||
<?php echo template::checkbox('formInput[' . $index . ']', true, $input['name']
|
||||
); ?>
|
||||
<?php elseif($input['type'] === $module::TYPE_LABEL): ?>
|
||||
<h3 class='formLabel'>
|
||||
<?php echo $input['name']; ?>
|
||||
<hr class="formLabel">
|
||||
</h3>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php if($this->getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
|
||||
<div class="row">
|
||||
<div class="col12 textAlignCenter">
|
||||
<?php echo template::captcha('formCaptcha', [
|
||||
'limit' => $this->getData(['config','connect', 'captchaStrong']),
|
||||
'type' => $this->getData(['config','connect', 'captchaType'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php if($this->getData(['module', $this->getUrl(0), 'config', 'captcha'])): ?>
|
||||
<div class="row">
|
||||
<div class="col12 textAlignCenter">
|
||||
<?php echo template::captcha('formCaptcha', [
|
||||
'limit' => $this->getData(['config','connect', 'captchaStrong']),
|
||||
'type' => $this->getData(['config','connect', 'captchaType'])
|
||||
<div class="col2 offset10">
|
||||
<?php echo template::submit('formSubmit', [
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'config', 'button']) ? $this->getData(['module', $this->getUrl(0), 'config', 'button']) : 'Envoyer',
|
||||
'ico' => ''
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="row">
|
||||
<div class="col2 offset10">
|
||||
<?php echo template::submit('formSubmit', [
|
||||
'value' => $this->getData(['module', $this->getUrl(0), 'config', 'button']) ? $this->getData(['module', $this->getUrl(0), 'config', 'button']) : 'Envoyer',
|
||||
'ico' => ''
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo template::formClose(); ?>
|
||||
</div>
|
||||
<?php echo template::formClose(); ?>
|
||||
<?php else: ?>
|
||||
<?php echo template::speech('Le formulaire ne contient aucun champ.'); ?>
|
||||
<?php endif; ?>
|
@ -132,10 +132,24 @@
|
||||
<h4>Gabarit</h4>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
|
||||
<?php echo template::select('formOptionAlign', $module::$optionAlign, [
|
||||
'label' => 'Alignement du formulaire',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'align'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col6">
|
||||
<?php echo template::select('formOptionOffset', $module::$optionOffset, [
|
||||
'label' => 'Décalage à gauche',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'offset'])
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col6">
|
||||
|
||||
<?php echo template::select('formOptionWidth', $module::$optionWidth, [
|
||||
'label' => 'Largeur',
|
||||
'selected' => $this->getData(['module', $this->getUrl(0), 'config', 'width'])
|
||||
]); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user