Puncte:0

Crearea opțiunii de link în formular și modificarea url-ului acesteia în form alter hook

drapel us

Caut să modific un formular de adăugare a nodului, până acum am adăugat un câmp personal „link” pentru a fi afișat ca buton pentru a adăuga un alt tip de nod dacă utilizatorul dorește, acel link are acest cod în hook_form_alter, prind o valoare dintr-o altă selecție mai devreme și trec acea valoare rutei mele::

    $selected_advertiser = isset($form_state->getUserInput()['field_advertiser'])? $form_state->getUserInput()['field_advertiser']: "0";
    $url = Url::fromRoute('product.product_form', ['advertiser' => $selected_advertiser]);
    $form['product_modal'] = [
        '#type' => 'link',
        '#name' => 'product_modal',
        '#title' => t('Produs nou'),
        '#url' => $url,
        '#attributes' => [
            'clasa' => [
                „utilizați-ajax”,
                'buton',
            ],
            'data-dialog-type' => 'modal',
            'data-dialog-options' => '{"width":800, "height": 500}',
            'disable-refocus' => adevărat,
            'style' => 'display: inline-block',
        ],
        „#greutate” => 5,
    ];

rutare.yml

  product.product_form:
  cale: /product/product_form/{advertiser}
  implicite:
    _controller: „\Drupal\my_module\Controller\mycontrollerController::openModalProduct”
    _title: „Pop-up pentru formularul de produs”
  cerinte:
    _permission: „administrați configurația site-ului”

deci prima dată când rulează, setează $selected_advertiser la „0”, dar data viitoare se setează corect la orice id-ul pe care l-am selectat din opțiunea de selectare anterioară, dar ruta către buton este încă potrivită ca valoare implicită „0”, depanatorul meu afișează noua rută corectă cu noul ID corect, dar butonul de formular nu este, presupun că acest lucru are legătură cu modificările nedeclarate ale formei sau ceva de genul acesta?

Hodba Khalaf avatar
drapel eg
De ce nu creați un câmp nou selectat_advertiser și ascundeți, apoi utilizați valoarea câmpului pentru a modifica $URL?
Ernesto Alfredo avatar
drapel us
@HodbaKhalaf Cred că înțeleg ideea, cred că arată bine, lasă-mă să încerc asta

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.