wdrożenia PrestaShop

HelperForm / zdefiniowane id

  • 4 Odpowiedzi
  • 1705 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline qbas-s

  • Stały użytkownik
  • ***
  • 55
  • 0
HelperForm / zdefiniowane id
« dnia: Czerwiec 13, 2016, 04:52:21 pm »
Dopisałem sobie pewną prostą funkcjonalność która po stronie administratora zapisuje pewne informacje do nowo utworzonej tabeli. Pierwsza kolumna `id` aktualnie jest jako auto increment dlatego pomijam ją w metodzie renderForm().

Aktualnie potrzebuję do kolumny `id` wrzucać konkretne id wcześniej zdefiniowane(więc auto increment zostanie zdjęte)
Edytując rekord działa to
array(
                    'type' => 'hidden',
                    'name' => 'id',
                    'required' => true,
                ),

jednak nie wiem jak wysłać konkretne id podczas dodawania nowego rekordu. Proszę o pomoc.

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: HelperForm / zdefiniowane id
« Odpowiedź #1 dnia: Czerwiec 13, 2016, 04:56:11 pm »
Szczerze Ci powiem nie widziałem funkcji input w Prescie zapisującej do dwóch pól jednocześnie. Ale dlaczego nie dasz drugi raz hidden w formularzu.
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline qbas-s

  • Stały użytkownik
  • ***
  • 55
  • 0
Odp: HelperForm / zdefiniowane id
« Odpowiedź #2 dnia: Czerwiec 13, 2016, 05:04:35 pm »
chodzi o to, że ten fragment kodu wyżej przy dodawaniu nowego wpisu generuje kod html
<div class="form-group hide">
<input type="hidden" name="id" id="id" value="">
</div>

ja potrzebuję wypełnić wartość value konkretną liczbą. Id to primary key unikalne. Nie musi to się dziać na etapie renderowania formularza(bo i byłoby to niepoprawnie, ale od biedy bym przeżył jeśli nic innego nie znajdę...) może w postProcess() - tylko nie wiem jak

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: HelperForm / zdefiniowane id
« Odpowiedź #3 dnia: Czerwiec 13, 2016, 06:50:33 pm »
ok teoretycznie post process zabiera wartości z getConfigFormValues gdzie w array masz przypisane poszczególne zmienne - najpierw robi update potem pobiera spróbuj tak
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline qbas-s

  • Stały użytkownik
  • ***
  • 55
  • 0
Odp: HelperForm / zdefiniowane id
« Odpowiedź #4 dnia: Czerwiec 15, 2016, 12:07:25 pm »
ok znalazłem wygodny sposób. W module który rozwijam wystarczy sobie extendować templatkę po templatce helpera która nas interesuje i nadpisywać blok który jest do zmodyfikowania(tak ja w twig). Ja sobie zrobiłem tak
{extends file="helpers/form/form.tpl"}

{block name="input_row"}

    <div class="form-group{if isset($input.form_group_class)} {$input.form_group_class}{/if}{if $input.type == 'hidden'} hide{/if}"{if $input.name == 'id_state'} id="contains_states"{if !$contains_states} style="display:none;"{/if}{/if}{if isset($tabs) && isset($input.tab)} data-tab-id="{$input.tab}"{/if}>
        {if $input.type == 'hidden'}
            <input type="hidden" name="{$input.name}" id="{$input.name}" value="{if $fields_value[$input.name]}{$fields_value[$input.name]|escape:'html':'UTF-8'}{else}MyClass::getMyId(){/if}" />       // MyClass::getMyId() lub cokolwiek   
        {else}
            {$smarty.block.parent}
        {/if}
    </div>
{/block}