@@ -30,17 +30,26 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
30
30
/** @var Address $address */
31
31
$ address = $ value ['model ' ];
32
32
$ rates = $ address ->getAllShippingRates ();
33
+ $ carrierTitle = null ;
34
+ $ methodTitle = null ;
33
35
34
36
if (count ($ rates ) > 0 ) {
35
37
list ($ carrierCode , $ methodCode ) = explode ('_ ' , $ address ->getShippingMethod (), 2 );
38
+
36
39
/** @var Rate $rate */
37
- $ rate = current ($ rates );
40
+ foreach ($ rates as $ rate ) {
41
+ if ($ rate ->getCode () == $ address ->getShippingMethod ()) {
42
+ $ carrierTitle = $ rate ->getCarrierTitle ();
43
+ $ methodTitle = $ rate ->getMethodTitle ();
44
+ break ;
45
+ }
46
+ }
38
47
39
48
$ data = [
40
49
'carrier_code ' => $ carrierCode ,
41
50
'method_code ' => $ methodCode ,
42
- 'carrier_title ' => $ rate -> getCarrierTitle () ,
43
- 'method_title ' => $ rate -> getMethodTitle () ,
51
+ 'carrier_title ' => $ carrierTitle ,
52
+ 'method_title ' => $ methodTitle ,
44
53
'amount ' => [
45
54
'value ' => $ address ->getShippingAmount (),
46
55
'currency ' => $ address ->getQuote ()->getQuoteCurrencyCode (),
@@ -54,8 +63,8 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
54
63
$ data = [
55
64
'carrier_code ' => null ,
56
65
'method_code ' => null ,
57
- 'carrier_title ' => null ,
58
- 'method_title ' => null ,
66
+ 'carrier_title ' => $ carrierTitle ,
67
+ 'method_title ' => $ methodTitle ,
59
68
'amount ' => null ,
60
69
'base_amount ' => null ,
61
70
];
0 commit comments