public function setUpOnce() { ini_set('memory_limit', '256M'); // error_reporting(E_ALL); $p = singleton('Product'); if (!$p->hasExtension('CanAddToWishList')) { Product::add_extension('CanAddToWishList'); } }
public function testDiscountRoundingError() { // This extension adds a fractional discount, which could cause // the displayed unit price not to match the charged price at // large quantities. Product::add_extension('ProductTest_FractionalDiscountExtension'); DataObject::flush_and_destroy_cache(); $tshirt = Product::get()->byID($this->tshirt->ID); Config::inst()->update('Order', 'rounding_precision', 2); $this->assertEquals(24.99, $tshirt->sellingPrice()); Config::inst()->update('Order', 'rounding_precision', 3); $this->assertEquals(24.985, $tshirt->sellingPrice()); Product::remove_extension('ProductTest_FractionalDiscountExtension'); }
public function setUpOnce() { // normalize the configuration Config::inst()->update('ShopSearch', 'buyables_are_searchable', false); Config::inst()->remove('ShopSearch', 'searchable'); Config::inst()->update('ShopSearch', 'searchable', array('Product')); Config::inst()->update('ShopSearch', 'adapter_class', 'ShopSearchSimple'); Config::inst()->remove('Product', 'searchable_fields'); Config::inst()->update('Product', 'searchable_fields', array('Title', 'Content')); Config::inst()->remove('Product', 'default_attributes'); Config::inst()->remove('ShopSearch', 'facets'); Config::inst()->update('FacetHelper', 'sort_facet_values', true); Config::inst()->update('FacetHelper', 'faster_faceting', false); $p = singleton('Product'); if (!$p->hasExtension('VirtualFieldIndex')) { Product::add_extension('VirtualFieldIndex'); } Config::inst()->remove('VirtualFieldIndex', 'vfi_spec'); Config::inst()->update('VirtualFieldIndex', 'vfi_spec', array('Product' => array('Price2' => 'sellingPrice', 'Price' => array('Source' => 'sellingPrice', 'DBField' => 'Currency', 'DependsOn' => 'BasePrice'), 'Category' => array('Parent', 'ProductCategories')))); if (!$p->hasExtension('HasStaticAttributes')) { Product::add_extension('HasStaticAttributes'); } parent::setUpOnce(); }
<?php Product::add_extension("ProductEnquiryDecorator"); Product_Controller::add_extension("ProductControllerEnquiryDecorator"); OrderItem::add_extension("EnquiryOrderItem");
<?php // Extentions SiteConfig::add_extension('Ext_Commerce_SiteConfig'); Image::add_extension('Ext_Commerce_Image'); Controller::add_extension('Ext_Commerce_Controller'); Group::add_extension('Ext_Commerce_Group'); Member::add_extension('Ext_Commerce_Member'); if (class_exists('Users_Account_Controller')) { Users_Account_Controller::add_extension('Ext_Commerce_UsersController'); } // If subsites is installed if (class_exists('Subsite')) { Product::add_extension('Ext_Subsites_CommerceObject'); ProductCategory::add_extension('Ext_Subsites_CommerceObject'); Order::add_extension('Ext_Subsites_CommerceObject'); CatalogueAdmin::add_extension('SubsiteMenuExtension'); LocaliseAdmin::add_extension('SubsiteMenuExtension'); OrderAdmin::add_extension('SubsiteMenuExtension'); } LeftAndMain::add_extension('Ext_Commerce_LeftAndMain'); // Setup google sitemaps if (class_exists("GoogleSitemap")) { GoogleSitemap::register_dataobject('Product'); GoogleSitemap::register_dataobject('ProductCategory'); }