2017-02-16 40 views
0

В бета-версии Prestashop я создал форму с кнопкой отправки, обозначенной как «Сохранить». Можно ли добавить еще одну кнопку отправки с другим действием?Возможно ли иметь две кнопки отправки в одной форме?

+0

http://stackoverflow.com/questions/16162972/more-than-one-submit-button –

+0

Возможная Дубликат [Более одна кнопка отправки] (из http://stackoverflow.com/questions/16162972/больше, чем один-Submit-кнопки) –

ответ

0

Чтобы выполнить то, что вам нужно, вы не должны связывать несколько действий с одним и тем же Помощником формы, но просто укажите другое имя для каждого другого типа ввода ввода, определенного для Помощника.

0

Просто проверьте 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}"... 

wehere может быть «представить» и если «имя» для вашей кнопки определено, то в 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); 

}