Puncte:-3

Schimbați starea fluxului de lucru cu o anumită metodă de plată

drapel jp
Tak

În acest moment, am o metodă de plată numită „Transferência Bancária” și trebuie să treacă automat la starea fluxului de lucru „În așteptarea transferului” atunci când acea metodă de plată este selectată.

Se poate face programatic?

Sunt blocat la: $comanda = $eveniment->getEntity(); if(($comanda->getPaymentGateway()) == ('transfera')) { $comanda->set('state', 'aguardando_transferencia'); }

pe /modules/workflowtkn/src/EventSubscriber/WorkflowTknProcessSubscriber.php meu

Eroare: apel la metoda nedefinită Drupal\commerce_order\Entity\Order::getPaymentGateway()

EDIT: Am probleme la apelarea funcției "getPaymentGateway()" deoarece se află într-un alt modul, poate cineva să mă ajute, vă rog :) Trebuie să corespundă comenzii.

Am încercat $gateway = \Drupal::service('plugin.manager.commerce_payment_method_type'); dar spune că nu se poate converti în șir... Acest:

$plata = $comanda->get('plata_gateway')->first()->entity

Imi da:

Atenție: htmlspecialchars() se așteaptă ca parametrul 1 să fie șir, obiect dat în Drupal\Component\Utility\Html::escape() .

M-am uitat la Cum obțin informații despre metoda de plată din obiectul comenzii în mod programatic? dar nu-mi pot da seama.

Cred că nu reușesc să convertesc în șir?

EDIT: Când folosesc json_encode: json_encode($order->get('payment_gateway')->first()->entity) returnează doar „{}”

drapel cn
Cel puțin, trebuie să citiți documentele înainte de a întreba aici. Solicitarea unui link către documente este în afara subiectului acestui site.
Tak avatar
drapel jp
Tak
Am cerut documentele pentru că nu am găsit unul pentru problema mea specifică, dacă există.
drapel cn
Bine ați venit la Drupal Answers :) După cum am menționat, solicitarea de link-uri este în afara subiectului aici, acesta este un site de întrebări și răspunsuri, așa că avem nevoie ca întrebarea și răspunsul să fie aici, nu altundeva, sau site-ul stagnează când link-urile externe intră în jos. Pentru întrebarea rămasă, răspunsul este cu siguranță „da”, dar, din nou, pentru acest format va trebui să fiți mai specific cu privire la problemă. Adăugați detalii despre ceea ce ați încercat, mesaje de eroare și așa mai departe. Dacă nu ați început încă sau nu ați găsit documentația comercială, probabil că ați ajuns încă devreme să puneți o întrebare aici.
Tak avatar
drapel jp
Tak
Multumesc Clive. Am cercetat acest lucru în ultimele două zile, dar din moment ce nu există suport pentru problema mea, mă confrunt cu adevărat. În ceea ce privește mai multe informații, am creat un modul pentru un flux de lucru personalizat și diferite stări.Am o metodă de plată manuală care oferă IBAN-ul afacerii mele pentru ca clientul să transfere banii, de îndată ce el/ea o alege, colegii mei doresc ca comanda să treacă într-o stare aleasă, care este „În așteptarea transferului” în flux de lucru personalizat.
Puncte:1
drapel jp
Tak

După multe bătăi de cap și noroc pur am găsit soluția. În ordine.php:

funcția getPay()
{
    return $this->get('payment_gateway')->entity->get('label');
}

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.