/** * @inheritdoc */ public function insertAfter($field, $insertBefore) { return $this->tab->insertAfter($field, $insertBefore); }
/** * standard SS method */ function updateCMSFields(FieldList $fields) { $tabName = singleton("ProductVariation")->plural_name(); $fields->addFieldToTab('Root', $tab = new Tab($tabName, new GridField("VariationAttributes", singleton("ProductAttributeType")->plural_name(), $this->owner->VariationAttributes(), $variationAttributesConfig = GridFieldConfig_RecordEditor::create()), $this->owner->getVariationsTable(), new CreateEcommerceVariations_Field('VariationMaker', '', $this->owner->ID))); $variationAttributesConfig->removeComponentsByType("GridFieldAddNewButton"); $variations = $this->owner->Variations(); if ($variations && $variations->Count()) { $productVariationName = singleton("ProductVariation")->plural_name(); $fields->addFieldToTab('Root.Details', new LabelField('variationspriceinstructions', sprintf(_t("ProductVariation.PRICE_EXPLANATION", 'Price - Because you have one or more variations, you can vary the price in the <strong>%s</strong> tab. You set the default price here.'), $productVariationName))); $link = EcommerceProductVariationTaskDeleteVariations::create_link($this->owner); if ($link) { $tab->insertAfter(new LiteralField("DeleteVariations", "<p class=\"bad message\"><a href=\"{$link}\" class=\"action ss-ui-button\" id=\"DeleteEcommerceVariationsInner\" data-confirm=\"" . Convert::raw2att(_t("Product.ARE_YOU_SURE_YOU_WANT_TO_DELETE_ALL_VARIATIONS", "are you sure you want to delete all variations from this product? ")) . "\">" . _t("Product.DELETE_ALL_VARIATIONS_FROM", "Delete all variations from <i>") . $this->owner->Title . "</i>" . "</a></p>"), 'ProductVariations'); } if (class_exists('DataObjectOneFieldUpdateController')) { $linkForAllowSale = DataObjectOneFieldUpdateController::popup_link('ProductVariation', 'AllowPurchase', "ProductID = {$this->owner->ID}", '', _t("ProductVariation.QUICK_UPDATE_VARIATION_ALLOW_PURCHASE", 'for sale')); $linkForPrice = DataObjectOneFieldUpdateController::popup_link('ProductVariation', 'Price', "ProductID = {$this->owner->ID}", '', _t("ProductVariation.QUICK_UPDATE_VARIATION_PRICES", 'prices')); $linkForProductCodes = DataObjectOneFieldUpdateController::popup_link('ProductVariation', 'InternalItemID', "ProductID = {$this->owner->ID}", '', _t("ProductVariation.QUICK_UPDATE_VARIATION_PRODUCT_CODES", 'product codes')); $tab->insertAfter(new LiteralField('QuickActions', '<p class="message good">' . _t("ProductVariation.QUICK_UPDATE", 'Quick update') . ': ' . "<span class=\"action ss-ui-button\">{$linkForAllowSale}</span> " . "<span class=\"action ss-ui-button\">{$linkForPrice}</span>" . "<span class=\"action ss-ui-button\">{$linkForProductCodes}</span>" . "</p>"), 'ProductVariations'); } } }