Silvercart 1.0 RC1 released

Today we raised SilverCart from Version 0.9 to 1.0, though, we still call it a release candidate. There are no known unsolved bugs any more. We hope that the community helps us to find yet unknown bugs, after all we are just human (gosh, my bionic implants really hurt).

Here is a small listing of changes, fixes and enhancements that made the code more powerful and attractive:


  • SilvercartConfig->EmailSender will be set to Email::getAdminEmail() to make installation without ss_environment.php possible.
  • Shopping cart of an anonymous customer will be transferred to a regular customer on successful registration.
  • Fixed error in SilvercartContactForm: mail was sent to user instead of shop admin.
  • Editing of invoice and delivery addresses in 'My Account' works now.
  • Set visibility of 'SilvercartCheckoutFormStep5-9' to false so that they are not displayed in the navigation anymore. MINOR Cleaned up code of 'SilvercartCheckoutFormStep1-9', moved all preferences into the appropriate method.


  • Inline documentation and phpdoc is all english now.
  • Many methods are extendible for decorators.
  • Misconfiguration of SilvercartConfig will result in clear error messages.
  • Removed all changes of rewrite rules to maintain the controller context.
  • Moved static variable definitions 'summaryFields', 'fieldLabels' and 'searchableFields' to methods and removed their redefinitions in '__construct'.
  • Objects show in ModelAdmin without using the search button.
  • All ModelAdmin search interfaces are adjusted to the objects needs. The scaffolded search interface was not useful enough in many cases.
  • Invoice address can be set to shipping address via a checkbox on checkout.
  • Products can now be sorted by drag & drop.
  • Tax calculation of products can be manipulated via DataObjectDecorator.
  • Added 'SilvercartNewsletterPage' and 'SilvercartNewsletterResponsePage' and their respective requireDefaultRecords and translations.
  • Added extendability to method 'requireDefaultRecords' in 'SilvercartRequireDefaultRecords'. You can now use 'updateDefaultRecords' in your decorator.
  • added some rules to prevent HTTP access to specific files.
  • if testdata is enabled the payment method prepayment will be configured correctly and the checkout will work without further configuration.
  • Implemented sorted display of productgroup mirror products in the frontend views.
  • Added Method 'getProductGroupItems' to 'SilvercartPage'. You can use it to get all products for a SilvercartProductGroupPage that are directly related to or mirrored into this group.
  • Added configuration option 'enableSSL' which is evaluated on the checkout and paymentNotification pages.
  • Submit button title in 'SilvercartCheckoutFormStep4' (order confirmation) is now configurable via the chosen payment module
  • Contact form template is now editable in backend.
  • Item numbers are searchable now.


  • Moved initalisation of 'InvoiceAddressAsShippingAddress' from constructor to method 'fillInFieldValues', so that session values are respected.
  • Anonymous customers cart positions will be moved in case of login. The registerd customers cart positions will be removed.
  • Added cancel button to 'SilvercartAddressPage'.


  • Added setting to SilvercartConfig that allows the cartweight on checkout to be zero (defaults to false for backwards compatibility).
  • System of availibility of products established
  • Different price types for every customer class configurable; Products do have net and gross prices.
  • The products long description can now be edited with HTML editor.
  • Added method 'getTopsellerProducts' in 'SilvercartPage' that returns a configurable number of products ordered by the number of purchases, beginning with the highest number.
  • Countries can be synced via GeoNames.
  • Update manager that adjusts the database structure in case of an attribute or relation change.
  • Number ranges can be configured.
  • Contact form messages are editable via backend.
  • Checkout gained a new conditional step. If a user is not logged in he gets a page where he can choose to login, to register or to proceed without registration.
  • base price calculation

I tried not to annoy you and left out a lot of details. We worked really hard on this release and I thank Sascha, Sebastian and Ramon for their hard work.

We appreciate downloads and feedback. Also watch our installation video.