/** * customizes the backends fields, mainly for ModelAdmin * * @param array $params configuration parameters * * @return FieldList the fields for the backend * * @author Roland Lehmann <*****@*****.**>, Sebastian Diel <*****@*****.**> * @since 26.10.2012 */ public function getCMSFields($params = null) { $fields = parent::getCMSFields(array_merge(array('fieldClasses' => array('amount' => 'SilvercartMoneyField')), (array) $params)); SilvercartTax::presetDropdownWithDefault($fields->dataFieldByName('SilvercartTaxID'), $this); $fieldGroup = new SilvercartFieldGroup('handlingCostGroup', '', $fields); $fieldGroup->push($fields->dataFieldByName('amount')); $fieldGroup->pushAndBreak($fields->dataFieldByName('SilvercartTaxID')); $fields->addFieldToTab('Root.Main', $fieldGroup); return $fields; }
/** * Adds or modifies the fields for the Prices tab * * @param FieldList $fields FieldList to add fields to * * @return void */ public function getFieldsForPrices($fields) { SilvercartTax::presetDropdownWithDefault($fields->dataFieldByName('SilvercartTaxID'), $this); $pricesGroup = new SilvercartFieldGroup('PricesGroup', '', $fields); $pricesGroup->push($fields->dataFieldByName('PriceGross')); $pricesGroup->push($fields->dataFieldByName('PriceNet')); $pricesGroup->push($fields->dataFieldByName('MSRPrice')); $pricesGroup->push($fields->dataFieldByName('PurchasePrice')); $pricesGroup->push($fields->dataFieldByName('SilvercartTaxID')); $fields->insertAfter($pricesGroup, 'ProductNumberGroup'); }
/** * Customizes the backends fields, mainly for ModelAdmin * * @return FieldList the fields for the backend * * @author Roland Lehmann <*****@*****.**>, Sebastian Diel <*****@*****.**> * @since 13.02.2013 */ public function getCMSFields() { $this->getCMSFieldsIsCalled = true; $fields = parent::getCMSFields(); $postPricingField = $fields->dataFieldByName('PostPricing'); $postPricingField->setTitle($postPricingField->Title() . ' (' . $this->fieldLabel('PostPricingInfo') . ')'); SilvercartTax::presetDropdownWithDefault($fields->dataFieldByName('SilvercartTaxID'), $this); $fieldGroup = new SilvercartFieldGroup('ShippingFeeGroup', '', $fields); $fieldGroup->push($fields->dataFieldByName('MaximumWeight')); $fieldGroup->pushAndBreak($fields->dataFieldByName('UnlimitedWeight')); $fieldGroup->push($fields->dataFieldByName('Price')); $fieldGroup->pushAndBreak($fields->dataFieldByName('SilvercartTaxID')); $fieldGroup->pushAndBreak($postPricingField); // only the carriers zones must be selectable $leftJoinTable = 'SilvercartZone_SilvercartCarriers'; $leftJoinOn = '"SilvercartZone"."ID" = "SilvercartZone_SilvercartCarriers"."SilvercartZoneID"'; $where = sprintf("\"SilvercartZone_SilvercartCarriers\".\"SilvercartCarrierID\" = %s", $this->SilvercartShippingMethod()->SilvercartCarrier()->ID); $zones = SilvercartZone::get()->leftJoin($leftJoinTable, $leftJoinOn)->where($where); if ($zones->exists()) { $zonesMap = $zones->map('ID', 'Title'); $zonesField = new DropdownField('SilvercartZoneID', _t('SilvercartShippingFee.ZONE_WITH_DESCRIPTION', 'zone (only carrier\'s zones available)'), $zonesMap->toArray()); $fieldGroup->push($zonesField); } $fieldGroup->breakAndPush($fields->dataFieldByName('freeOfShippingCostsDisabled')); $fieldGroup->breakAndPush($fields->dataFieldByName('freeOfShippingCostsFrom')); $fields->dataFieldByName('DeliveryTimeMin')->setRightTitle($this->fieldLabel('DeliveryTimeMinDesc')); $fields->dataFieldByName('DeliveryTimeMax')->setRightTitle($this->fieldLabel('DeliveryTimeMaxDesc')); $fields->dataFieldByName('DeliveryTimeText')->setRightTitle($this->fieldLabel('DeliveryTimeTextDesc')); $parentDeliveryTime = ''; if ($this->SilvercartShippingMethod()->exists()) { $parentDeliveryTime = '<br/>(' . SilvercartShippingMethod::get_delivery_time($this->SilvercartShippingMethod(), true) . ')'; } $fieldGroup->pushAndBreak(new LiteralField('DeliveryTimeHint', '<strong>' . $this->fieldLabel('DeliveryTimeHint') . $parentDeliveryTime . '</strong>')); $fieldGroup->push($fields->dataFieldByName('DeliveryTimeMin')); $fieldGroup->pushAndBreak($fields->dataFieldByName('DeliveryTimeMax')); $fieldGroup->pushAndBreak($fields->dataFieldByName('DeliveryTimeText')); $fields->addFieldToTab('Root.Main', $fieldGroup); return $fields; }