/** * Puts together the fields for the Order Form (and other front-end purposes). * @return Fieldset **/ public function getFields($member = null) { $fields = parent::getEcommerceFields(); if (EcommerceConfig::get("OrderAddress", "use_separate_shipping_address")) { $shippingFieldsHeader = new CompositeField(new HeaderField('SendGoodsToADifferentAddress', _t('OrderAddress.SENDGOODSTODIFFERENTADDRESS', 'Send goods to different address'), 3), new LiteralField('ShippingNote', '<p class="message warning">' . _t('OrderAddress.SHIPPINGNOTE', 'Your goods will be sent to the address below.') . '</p>'), new LiteralField('ShippingHelp', '<p>' . _t('OrderAddress.SHIPPINGHELP', 'You can use this for gift giving. No billing information will be disclosed to this address.') . '</p>')); if ($member) { if ($member->exists()) { $addresses = $this->previousAddressesFromMember($member); if ($addresses) { if ($addresses->count() > 1) { $shippingFieldsHeader->push(new SelectOrderAddressField('SelectShippingAddressField', _t('OrderAddress.SELECTBILLINGADDRESS', 'Select Shipping Address'), $addresses)); } } } $shippingFields = new CompositeField(new TextField('ShippingFirstName', _t('OrderAddress.FIRSTNAME', 'First Name')), new TextField('ShippingSurname', _t('OrderAddress.SURNAME', 'Surname'))); } else { $shippingFields = new CompositeField(new TextField('ShippingFirstName', _t('OrderAddress.FIRSTNAME', 'First Name')), new TextField('ShippingSurname', _t('OrderAddress.SURNAME', 'Surname'))); } $shippingFields->push(new TextField('ShippingPrefix', _t('OrderAddress.PREFIX', 'Title (e.g. Ms)'))); $shippingFields->push(new TextField('ShippingAddress', _t('OrderAddress.ADDRESS', 'Address'))); $shippingFields->push(new TextField('ShippingAddress2', _t('OrderAddress.ADDRESS2', ' '))); $shippingFields->push(new TextField('ShippingCity', _t('OrderAddress.CITY', 'Town'))); $shippingFields->push($this->getPostalCodeField("ShippingPostalCode")); $shippingFields->push($this->getRegionField("ShippingRegionID")); $shippingFields->push($this->getCountryField("ShippingCountry")); $shippingFields->push(new TextField('ShippingPhone', _t('OrderAddress.PHONE', 'Phone'))); $shippingFields->push(new TextField('ShippingMobilePhone', _t('OrderAddress.MOBILEPHONE', 'Mobile Phone'))); $this->makeSelectedFieldsReadOnly($shippingFields); $shippingFieldsHeader->SetID("ShippingFieldsHeader"); $shippingFields->addExtraClass("orderAddressHolder"); $fields->push($shippingFieldsHeader); $shippingFields->SetID('ShippingFields'); $fields->push($shippingFields); } $this->extend('augmentEcommerceShippingAddressFields', $fields); return $fields; }
/** *@return Fieldset **/ public function getFields($member = null) { $fields = parent::getEcommerceFields(); $fields->push(new HeaderField('BillingDetails', _t('OrderAddress.BILLINGDETAILS', 'Billing Details'), 3)); if ($member) { if ($member->exists()) { $addresses = $this->previousAddressesFromMember($member); if ($addresses) { if ($addresses->count() > 1) { $fields->push(new SelectOrderAddressField('SelectBillingAddressField', _t('OrderAddress.SELECTBILLINGADDRESS', 'Select Billing Address'), $addresses)); } } } $billingFields = new CompositeField(new EmailField('Email', _t('OrderAddress.EMAIL', 'Email')), new TextField('FirstName', _t('OrderAddress.FIRSTNAME', 'First Name')), new TextField('Surname', _t('OrderAddress.SURNAME', 'Surname'))); } else { $billingFields = new CompositeField(new EmailField('Email', _t('OrderAddress.EMAIL', 'Email')), new TextField('FirstName', _t('OrderAddress.FIRSTNAME', 'First Name')), new TextField('Surname', _t('OrderAddress.SURNAME', 'Surname'))); } $billingFields->push(new TextField('Prefix', _t('OrderAddress.PREFIX', 'Title (e.g. Ms)'))); $billingFields->push(new TextField('Address', _t('OrderAddress.ADDRESS', 'Address'))); $billingFields->push(new TextField('Address2', _t('OrderAddress.ADDRESS2', ' '))); $billingFields->push(new TextField('City', _t('OrderAddress.CITY', 'Town'))); $billingFields->push($this->getPostalCodeField("PostalCode")); $billingFields->push($this->getRegionField("RegionID")); $billingFields->push($this->getCountryField("Country")); $billingFields->push(new TextField('Phone', _t('OrderAddress.PHONE', 'Phone'))); $billingFields->push(new TextField('MobilePhone', _t('OrderAddress.MOBILEPHONE', 'Mobile Phone'))); $billingFields->SetID('BillingFields'); $billingFields->addExtraClass("orderAddressHolder"); $this->makeSelectedFieldsReadOnly($billingFields); $fields->push($billingFields); $this->extend('augmentEcommerceBillingAddressFields', $fields); return $fields; }