用途:该技能面向 OroCommerce v6.1,帮助创建审批工作流(approval workflows)、定制结账流程(checkout flow)、定义工作流步骤与转换(steps and transitions),并配置转换条件。
主要能力:支持定义工作流结构(label、entity、start_step、steps、transitions);支持终端状态(未配置 allowed_transitions 的步骤即为终端状态);支持带条件的转换定义(transition_definitions 中的 preconditions 与 actions),条件不满足时阻止转换,动作仅在成功后执行;支持通过 import 覆盖 b2b_flow_checkout 以定制结账流程。
用法要点:工作流定义位于 Resources/config/oro/workflows.yml,操作为 Resources/config/oro/operations.yml。基本结构示例: workflows: document_approval: label: Document Approval entity: Acme\Bundle\DemoBundle\Entity\Document start_step: submitted 转换中通过 step_to 指定目标步骤,通过 definition 引用转换定义;动作可使用 '@assign_value': [$approved_at, $.now] 或 '@call_method'。
定制结账流程时需导入并覆盖 b2b_flow_checkout,且在 metadata 中保留 is_checkout_workflow: true,否则结账会静默失败。
限制与注意事项:步骤名与转换名必须在同一实体的所有活动工作流中唯一,建议加前缀(如 document_pending);引用原工作流名称必须完全正确,拼写错误会静默失败;条件语法中函数使用 @ 前缀、属性使用 $ 前缀,缺少前缀会导致解析错误。更多完整表达式与模式见 references/condition-expressions.md 与 references/workflow-patterns.md。其余细节资料暂未提供。