Score:-3

เปลี่ยนสถานะเวิร์กโฟลว์ด้วยวิธีการชำระเงินเฉพาะ

ธง jp
Tak

ตอนนี้ฉันมีวิธีการชำระเงินที่เรียกว่า "Transferência Bancária" และฉันต้องการให้เปลี่ยนเป็นสถานะเวิร์กโฟลว์ "กำลังรอ Transferencia" โดยอัตโนมัติเมื่อเลือกวิธีการชำระเงินนั้น

เป็นไปได้ไหมที่จะทำโดยทางโปรแกรม?

ฉันติดอยู่ที่: $order = $event->getEntity(); if(($order->getPaymentGateway()) == ('transferencia')) { $order->set('state', 'aguardando_transferencia'); }

บน /modules/workflowtkn/src/EventSubscriber/WorkflowTknProcessSubscriber.php ของฉัน

ข้อผิดพลาด: โทรไปยังวิธีการที่ไม่ได้กำหนด Drupal\commerce_order\Entity\Order::getPaymentGateway()

แก้ไข: ฉันมีปัญหาในการเรียกฟังก์ชัน "getPaymentGateway()" เพราะอยู่ในโมดูลอื่น ใครก็ได้ช่วยที ได้โปรด :) มันจะต้องสอดคล้องกับคำสั่ง

ฉันพยายามแล้ว $gateway = \Drupal::service('plugin.manager.commerce_payment_method_type'); แต่มันบอกว่าไม่สามารถแปลงเป็นสตริงได้... นี้:

$payment = $order->get('payment_gateway')->first()->เอนทิตี

ให้ฉัน:

คำเตือน: htmlspecialchars() คาดว่าพารามิเตอร์ 1 จะเป็นสตริง วัตถุที่กำหนดใน Drupal\Component\Utility\Html::escape()

ฉันได้ดูที่ ฉันจะรับข้อมูลเกี่ยวกับวิธีการชำระเงินจากวัตถุคำสั่งซื้อโดยทางโปรแกรมได้อย่างไร แต่ไม่สามารถเข้าใจได้

ฉันเดาว่าฉันไม่สามารถแปลงเป็นสตริงได้?

แก้ไข: เมื่อฉันใช้ json_encode: json_encode($order->get('payment_gateway')->first()->entity) มันจะคืนค่า "{}" เท่านั้น

cn flag
อย่างน้อยที่สุด คุณต้องอ่านเอกสารด้วยตนเองก่อนที่จะถามที่นี่ การขอลิงก์ไปยังเอกสารนั้นนอกประเด็นสำหรับไซต์นี้
Tak avatar
jp flag
Tak
ฉันขอเอกสารเพราะฉันไม่พบเอกสารสำหรับปัญหาเฉพาะของฉัน หากมี
cn flag
ยินดีต้อนรับสู่ Drupal Answers :) ดังที่ได้กล่าวไปแล้วว่าขอลิงก์อยู่นอกหัวข้อ ที่นี่เป็นไซต์ถาม-ตอบ ดังนั้นเราต้องการคำถามและคำตอบอยู่ที่นี่ ไม่ใช่ที่อื่น หรือไซต์จะชะงักเมื่อลิงก์ภายนอกหยุดทำงาน สำหรับคำถามที่เหลือ คำตอบคือ "ใช่" แน่นอน แต่สำหรับรูปแบบนี้ คุณจะต้องเจาะจงมากขึ้นเกี่ยวกับปัญหา เพิ่มรายละเอียดของสิ่งที่คุณได้ลอง ข้อความแสดงข้อผิดพลาด และอื่นๆ หากคุณยังไม่ได้เริ่ม หรือไม่พบเอกสารประกอบการค้า คุณอาจยังเร็วไปหน่อยที่จะถามคำถามที่นี่
Tak avatar
jp flag
Tak
ขอบคุณไคลฟ์ ฉันได้ค้นคว้าสิ่งนี้ในช่วงสองสามวันที่ผ่านมา แต่เนื่องจากไม่มีการสนับสนุนสำหรับปัญหาของฉัน ฉันจึงต้องดิ้นรนจริงๆ สำหรับข้อมูลเพิ่มเติม ฉันได้สร้างโมดูลสำหรับเวิร์กโฟลว์แบบกำหนดเองและสถานะต่างๆฉันมีวิธีการชำระเงินด้วยตนเองที่ให้ IBAN ของธุรกิจของฉันแก่ลูกค้าในการโอนเงิน ทันทีที่เขา/เธอเลือก เพื่อนร่วมงานของฉันต้องการให้คำสั่งซื้อผ่านไปยังสถานะที่เลือก ซึ่งก็คือ "รอการโอน" ในบัญชีของฉัน เวิร์กโฟลว์ที่กำหนดเอง
Score:1
ธง jp
Tak

หลังจากทุบตีอย่างหนักและโชคช่วยฉันก็พบวิธีแก้ปัญหา ใน order.php:

ฟังก์ชัน getPay()
{
    ส่งคืน $this->get('payment_gateway')->entity->get('label');
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา