commerce-8.x-2.8/modules/checkout/src/Plugin/Commerce/CheckoutPane/Review.php
modules/checkout/src/Plugin/Commerce/CheckoutPane/Review.php
<?php namespace Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Link; /** * Provides the review pane. * * @CommerceCheckoutPane( * id = "review", * label = @Translation("Review"), * default_step = "review", * ) */ class Review extends CheckoutPaneBase implements CheckoutPaneInterface { /** * {@inheritdoc} */ public function buildPaneForm(array $pane_form, FormStateInterface $form_state, array &$complete_form) { /** @var \Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane\CheckoutPaneInterface[] $enabled_panes */ $enabled_panes = array_filter($this->checkoutFlow->getPanes(), function ($pane) { return !in_array($pane->getStepId(), ['_sidebar', '_disabled']); }); foreach ($enabled_panes as $pane_id => $pane) { if ($summary = $pane->buildPaneSummary()) { // BC layer for panes which still return rendered strings. if ($summary && !is_array($summary)) { $summary = [ '#markup' => $summary, ]; } $label = isset($summary['#title']) ? $summary['#title'] : $pane->getDisplayLabel(); if ($pane->isVisible()) { $edit_link = Link::createFromRoute($this->t('Edit'), 'commerce_checkout.form', [ 'commerce_order' => $this->order->id(), 'step' => $pane->getStepId(), ]); $label .= ' (' . $edit_link->toString() . ')'; } $pane_form[$pane_id] = [ '#type' => 'fieldset', '#title' => $label, ]; $pane_form[$pane_id]['summary'] = $summary; } } return $pane_form; } }