Login | Forgot password | Register

X

What is OpenID?

OpenID is an Internet-wide identity system that allows you to sign in to many websites with a single account.

With OpenID, your ID becomes a URL (e.g. http://username.myopenid.com/). You can get a free OpenID for example from myopenid.com.

For more information visit the official OpenID site.

Jump to:

896 Posts in 260 Topics by 243 members

E-Commerce Module

SilverStripe Forums » E-Commerce Module » Add has_one and has_many to ProductGroup etc etc

Discuss the E-Commerce Module.

Page: 1
Go to End
Author Topic: Add has_one and has_many to ProductGroup etc etc 559 Views
  • piksel
    avatar
    Community Member
    15 posts

    Add has_one and has_many to ProductGroup etc etc Link to this post

    Hi,

    Is it a reasonable suggestion that all modules declare the DB related statics to allow pages to be extended easily e.g. has_one, has_many - even if they are empty?

    I have just spent a fairly long time trying to figure out why I was getting an error saving ~any~ page after adding an Object Decorator for the ProductGroup page in the ecommerce module. I wanted to have an image field via a has_one relationship but then couldn't figure out why I was getting error saving all the other page types. It was obviously due to the fact ProductGroup does not declare the has_one static so the new Image relationship was being added to Page which did not have the column ImageID. Resulting in the error: Unknown column 'ImageID' in 'field list' when saving other pages.

    After adding an empty has_one static to the ProductGroup core file in ecommerce, all was well. But this obviously defeats the purpose of Object Decorators

    I realise the cause is PHP related, not Silverstripe but it would be good if this was a recommendation to all module developers (if it isn't already).

    Unless I'm completely barking up the wrong tree here and there is good reason why this isn't common practise...

  • Willr
    avatar
    Moderator
    2743 posts

    Re: Add has_one and has_many to ProductGroup etc etc Link to this post

    All modules should include empty $has_one, $db, $many_many, $belongs_many_many and I guess $defaults and any other statics. While its not a written standard anywhere they probably all should.

    Would be great if you could create a ticket on http://open.silverstripe.com for someone to pick up on.

  • Willr
    avatar
    Moderator
    2743 posts

    Re: Add has_one and has_many to ProductGroup etc etc Link to this post

    I have been informed that in the next version of SilverStripe you will not need to declare these things on the base class's to be able to override them. Now I guess we just have to wait

  • piksel
    avatar
    Community Member
    15 posts

    Re: Add has_one and has_many to ProductGroup etc etc Link to this post

    Aha! That's great news. Thanks for letting us know

    559 Views
Page: 1
Go to Top

Currently Online: There is nobody online.

Welcome to our latest member: Newclear

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.