В бэк-офисе Prestashop я создал форму с кнопкой отправки, помеченной как «Сохранить». Можно ли добавить еще одну кнопку отправки с другим действием?
Можно ли иметь две кнопки отправки в одной форме?
comment
stackoverflow.com/questions/16162972/
- person Harsha W   schedule 16.02.2017
comment
Возможный дубликат более одной кнопки отправки
- person Harsha W   schedule 16.02.2017
Ответы (2)
Просто осмотрите form.tpl
в admin/themes/default/template/helpers/form/
там вы найдете деталь
{if isset($fieldset['form']['buttons'])}
{foreach from=$fieldset['form']['buttons'] item=btn key=k}
{if isset($btn.href) && trim($btn.href) != ''}
<a href="{$btn.href}" {if isset($btn['id'])}id="{$btn['id']}"{/if} class="btn btn-default{if isset($btn['class'])} {$btn['class']}{/if}" {if isset($btn.js) && $btn.js} onclick="{$btn.js}"{/if}>{if isset($btn['icon'])}<i class="{$btn['icon']}" ></i> {/if}{$btn.title}</a>
{else}
<button type="{if isset($btn['type'])}{$btn['type']}{else}button{/if}" {if isset($btn['id'])}id="{$btn['id']}"{/if} class="btn btn-default{if isset($btn['class'])} {$btn['class']}{/if}" name="{if isset($btn['name'])}{$btn['name']}{else}submitOptions{$table}{/if}"{if isset($btn.js) && $btn.js} onclick="{$btn.js}"{/if}>{if isset($btn['icon'])}<i class="{$btn['icon']}" ></i> {/if}{$btn.title}</button>
{/if}
{/foreach}
{/if}
так что, как вы видите, вы можете определить массив пользовательских кнопок
<button type="{if isset($btn['type'])}{$btn['type']}{else}button{/if}"...
здесь тип может быть «отправить», и если «имя» для вашей кнопки определено, то в postProcess () вы можете делать свои вещи для дополнительной кнопки типа отправки в форме hepler.
f.e.
public function renderForm() {
$default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
$fields_form = array();
$fields_form[0]['form'] = array(
'legend' => array(
... legend part...
),
'input' => array(
...arrays of inputs...
),
'submit' => array(
...default submit button...
),
'buttons' => array(
'0' => array(
'type' => 'submit',
'title' => $this->l('Whatever'),
'name' => 'MySubmitName',
'icon' => 'process-icon-back',
'class' => 'pull-right',
)
)
);
$helper = new HelperForm();
// Module, token and currentIndex
$helper->token = Tools::getAdminTokenLite('AdminYourClassName');
$helper->currentIndex = self::$currentIndex;
// Language
$helper->default_form_language = $default_lang;
$helper->allow_employee_form_lang = $default_lang;
// Title and toolbar
$helper->show_toolbar = false;
$helper->submit_action = 'submitWhatever';
return $helper->generateForm($fields_form);
}
person
PepeLopez
schedule
01.08.2017
Чтобы выполнить то, что вам нужно, вы не должны привязывать несколько действий к одному и тому же помощнику формы, а просто указывать другое имя для каждого другого типа ввода отправки, определенного для помощника.
person
Knowband Plugins
schedule
23.02.2017