関数
Container::buildComponents()
子コンポーネントをインスタンス化する
戻り値 戻り値
ファイル: src/Components/CheckoutReview/Container.php
public function buildComponents() { $opts = $this->module->getActingOpts(); $mmeta = !empty($_SESSION['usces_member']['ID']) ? new MemberMeta((int)$_SESSION['usces_member']['ID']) : -1; $buyerEmail = $_SESSION['amazonCheckoutSession']['buyer']['email']; $welcartEmail = !empty($_SESSION['usces_member']['mailaddress1']) ? $_SESSION['usces_member']['mailaddress1'] : ''; $loadCouponForm = false; if (defined('WCEX_COUPON')) { $wccp = get_option('wccp'); if ($wccp['front_display'] === '0' || ($wccp['front_display'] === '1' && usces_is_login())) { $loadCouponForm = true; } } $loadPointsForm = usces_is_member_system() && usces_is_member_system_point() && usces_is_login() && usces_is_available_point(); $loadGiftForm = !usces_is_login(); $amazonCheckoutDetailsComponent = $this->getAmazonCheckoutDetailsComponent(); $purchaseButtonComponent = $this->getPurchaseButtonComponent(); $this->childComponents = [ 'orderSummary' => new VueComponentLoader( new Components\OrderSummary\OrderSummary(), $this->filterLoadOrderSummary(true) ), 'pointsForm' => new VueComponentLoader( new Components\PointsForm\PointsForm(), $this->filterLoadPointsForm($loadPointsForm) ), 'couponForm' => new VueComponentLoader( new Components\CouponForm\CouponForm(), $this->filterLoadCouponForm($loadCouponForm) ), 'deliveryForm' => new VueComponentLoader( new Components\DeliveryForm\DeliveryForm(), $this->filterLoadDeliveryForm(true) ), 'notesForm' => new VueComponentLoader( new Components\Notes\Notes(), $this->filterLoadNotesForm($opts['quickpay_notes_field'] === 'on') ), 'giftForm' => new VueComponentLoader( new Components\GiftForm\GiftForm(), $this->filterLoadGiftForm($loadGiftForm) ), 'customCustomerFields' => new VueComponentLoader( new Components\CustomFields\CustomFields([ 'ident' => 'customer', 'template' => 'welcart', /** * Filters whether or not error messages show directly above each カスタム・フィールド on * the Quickpay checkout review page * * Used for all 4 custom field types: * - カスタム・カスタマーフィールド * - カスタム・デリバリーフィールド * - カスタム・オーダーフィールド * - カスタム・メンバーフィールド * * @param bool $flag Default: `false` */ 'display_errors' => apply_filters('wcexaap_checkout_review_filter_display_custom_fields_errors', false), ]), $this->filterLoadCustomCustomerFields(!usces_is_login()) ), 'customOrderFields' => new VueComponentLoader( new Components\CustomFields\CustomFields([ 'ident' => 'order', 'template' => 'welcart', /** * Filters whether or not error messages show directly above each カスタム・フィールド on * the Quickpay checkout review page * * Used for all 4 custom field types: * - カスタム・カスタマーフィールド * - カスタム・デリバリーフィールド * - カスタム・オーダーフィールド * - カスタム・メンバーフィールド * * @param bool $flag Default: `false` */ 'display_errors' => apply_filters('wcexaap_checkout_review_filter_display_custom_fields_errors', false), ]), $this->filterLoadCustomOrderFields($opts['quickpay_custom_order_fields'] === 'on') ), 'customDeliveryFields' => new VueComponentLoader( new Components\CustomFields\CustomFields([ 'ident' => 'delivery', 'template' => 'welcart', /** * Filters whether or not error messages show directly above each カスタム・フィールド on * the Quickpay checkout review page * * Used for all 4 custom field types: * - カスタム・カスタマーフィールド * - カスタム・デリバリーフィールド * - カスタム・オーダーフィールド * - カスタム・メンバーフィールド * * @param bool $flag Default: `false` */ 'display_errors' => apply_filters('wcexaap_checkout_review_filter_display_custom_fields_errors', false), ]), $this->filterLoadCustomDeliveryFields($opts['quickpay_custom_delivery_fields'] === 'on') ), 'amazonCheckoutDetails' => new VueComponentLoader($amazonCheckoutDetailsComponent, true), 'purchaseButton' => new VueComponentLoader($purchaseButtonComponent, true), 'registerWithAmazonForm' => new VueComponentLoader( new Components\RegisterWithAmazon\RegisterWithAmazon(), !usces_is_login() ), 'linkMembersToAmazonForm' => new VueComponentLoader( new Components\LinkMembersToAmazon\LinkMembersToAmazon(), // Amazonアカウントと連携していない場合、チェックボックスを表示する。 usces_is_login() && $mmeta->getAllowAmazonToWelcartLogin() === false && ($buyerEmail === $welcartEmail) ), ]; }