public function init() { parent::init(); // If no shopping cart doesn't exist, redirect to base if (!ShoppingCart::create()->getItems()->exists()) { return $this->redirect(ShoppingCart::config()->url_segment); } }
public function __construct($controller, $name = "BillingDetailsForm") { $personal_fields = CompositeField::create(HeaderField::create('PersonalHeader', _t('Commerce.PersonalDetails', 'Personal Details'), 3), TextField::create('FirstName', _t('Commerce.FirstName', 'First Name(s)') . '*'), TextField::create('Surname', _t('Commerce.Surname', 'Surname') . '*'), TextField::create("Company", _t('Commerce.Company', "Company")), EmailField::create('Email', _t('Commerce.Email', 'Email') . '*'), TextField::create('PhoneNumber', _t('Commerce.Phone', 'Phone Number')))->setName("PersonalFields")->addExtraClass('unit')->addExtraClass('size1of2')->addExtraClass('unit-50'); $address_fields = CompositeField::create(HeaderField::create('AddressHeader', _t('Commerce.Address', 'Address'), 3), TextField::create('Address1', _t('Commerce.Address1', 'Address Line 1') . '*'), TextField::create('Address2', _t('Commerce.Address2', 'Address Line 2')), TextField::create('City', _t('Commerce.City', 'City') . '*'), TextField::create('PostCode', _t('Commerce.PostCode', 'Post Code') . '*'), CountryDropdownField::create('Country', _t('Commerce.Country', 'Country') . '*', null, 'GB')->setAttribute("class", 'countrydropdown dropdown btn'))->setName("AddressFields")->addExtraClass('unit')->addExtraClass('size1of2')->addExtraClass('unit-50'); $fields = FieldList::create(CompositeField::create($personal_fields, $address_fields)->setName("BillingFields")->addExtraClass('line')->addExtraClass('units-row')); // Add a save address for later checkbox if a user is logged in if (Member::currentUserID()) { $fields->add(CompositeField::create(CheckboxField::create("SaveAddress", _t('Commerce.SaveAddress', 'Save this address for later')))->setName("SaveAddressHolder")->addExtraClass('line')->addExtraClass('units-row')); } $back_url = Controller::join_links(BASE_URL, ShoppingCart::config()->url_segment); $actions = FieldList::create(LiteralField::create('BackButton', '<a href="' . $back_url . '" class="btn btn-red commerce-action-back">' . _t('Commerce.Back', 'Back') . '</a>'), FormAction::create('doSetDelivery', _t('Commerce.SetDeliveryAddress', 'Deliver to another address'))->addExtraClass('btn')->addExtraClass('commerce-action-next'), FormAction::create('doContinue', _t('Commerce.DeliverThisAddress', 'Deliver to this address'))->addExtraClass('btn')->addExtraClass('commerce-action-next')->addExtraClass('btn-green')); $validator = new RequiredFields('FirstName', 'Surname', 'Address1', 'City', 'PostCode', 'Country', 'Email'); parent::__construct($controller, $name, $fields, $actions, $validator); }
/** * Return a URL that allows this code to be added to a cart * automatically * * @return String */ public function AddLink() { $link = Controller::join_links(Director::absoluteBaseURL(), ShoppingCart::config()->url_segment, "usediscount", $this->Code); return $link; }
/** * Checks to see if the shopping cart functionality is enabled * * @return Boolean */ public function getCommerceCartEnabled() { return ShoppingCart::config()->enabled; }
public function getBackURL() { return Controller::join_links(BASE_URL, ShoppingCart::config()->url_segment); }
public function AddItemForm() { if (ShoppingCart::config()->enabled) { $form = AddItemToCartForm::create($this, $this->dataRecord, "AddItemForm")->addExtraClass('forms')->addExtraClass('forms-columnar'); $this->extend("updateAddItemForm", $form); return $form; } else { return false; } }